Subject: Re: Problems trying to debug pkgsrc/mail/milter-greylist
To: None <port-sparc64@netbsd.org>
From: Gert Doering <gert@greenie.muc.de>
List: port-sparc64
Date: 11/23/2007 08:40:06
Hi,
On Thu, Nov 22, 2007 at 03:05:06PM +0100, Gert Doering wrote:
> Michael-John Turner wrote:
>
> >On Thu, Nov 22, 2007 at 09:14:24AM +0100, Jochen Kunz wrote:
> >> So, if you want / need to use a threaded application you have to switch
> >> either to -current on sparc64 or to an other machine architecture if you
> >> want / need to stay at 4.0. :-(
>
> >Another possibility is to build milter-greylist using pth rather than
> >native threads. [..]
>
> I did this when still on NetBSD 2 (because native threads tended to
> freeze the machine hard), but it didn't make the milters stable.
>
> I will try again, and report back.
OK. It's not straightforward, because it needs careful mangling of
system header files - but it can be done.
What I did:
1. mk.conf
PREFER_NATIVE_PTHREADS=NO
PTHREAD_TYPE=pth
2. /usr/include/signal.h -> "#if 0 / #endif" around the pthread_sigmask()
prototype and the macro definition
3. move away /usr/include/pthread*.h
-r--r--r-- 1 root wheel 14120 Sep 4 17:13 XXX_pthread.h
-r--r--r-- 1 root wheel 6885 Sep 4 17:13 XXX_pthread_dbg.h
-r--r--r-- 1 root wheel 5379 Sep 4 17:13 XXX_pthread_queue.h
-r--r--r-- 1 root wheel 7005 Nov 22 16:55 XXX_pthread_types.h
4. *then* compile and install pth, libmilter, milter-greylist
(installing pth before header mangling makes it pick up
#define pthread_sigmask __libc_thr_sigsetmask
from <signal.h>, which will cause unresolved symbols later on)
now ldd confirms that milter-greylist is using pkg pth only - but alas:
it still crashes on me.
Will try 4.0-recent with native threads next.
gert
--
USENET is *not* the non-clickable part of WWW!
//www.muc.de/~gert/
Gert Doering - Munich, Germany gert@greenie.muc.de
fax: +49-89-35655025 gert@net.informatik.tu-muenchen.de