pthread binary compatibility with FreeBSD 4

Steven Doerfler steven at lugaru.com
Thu Dec 22 15:01:40 PST 2005


I need to build a binary under FreeBSD 5.4 that will run under FreeBSD 4.11
without recompiling.  Dynamically linked binaries are out since FreeBSD
4.11 lacks the appropriate libraries, but a statically linked binary from
FreeBSD 5.4 seems to work fine under 4.11, as long as it doesn't link with
a threading library.  Linking with -lpthread or -pthread produces an error
immediately at startup:

Fatal error 'Can't allocate initial kse.' at line 267 in file 
/usr/src/lib/libpthread/thread/thr_init.c (errno = 45)
Segmentation fault (core dumped)

I'm guessing this is because FreeBSD 4.11 lacks KSE's, and support for such
older kernels has been removed from pthread?

Is there any workaround for this?  Maybe a threading library that doesn't
depend on KSE's and works under 4.11 too?  (I tried libc_r and libthr
briefly but without success.)  Or a way to build a version of pthread that
doesn't use KSE's?  Or is there a way to build with FreeBSD 4.11 libraries
under FreeBSD 5.4?

Thanks for any suggestions.

Steven Doerfler



More information about the freebsd-threads mailing list