
On Thu, Jul 29, 2004 at 11:25:49AM +0100, John Maddock wrote:
Either add the "-pthread" option to your compiles (and links) manually, or use a build system tool that adds it for you (like Boost.Build).
There isn't a -pthread option on BSD, it's spelled -lpthread :-)
Are you sure? $ uname FreeBSD $ gcc -pthread gcc: No input files specified $ gcc -pthreads gcc: unrecognized option `-pthreads' gcc: No input files specified $ gcc -lpthread /usr/libexec/elf/ld: cannot find -lpthread $ locate libpthread /usr/compat/linux/lib/libpthread-0.9.so /usr/compat/linux/lib/libpthread.so.0 libpthread doesn't exist on most FreeBSD systems, unless (as above) as part of the linux compatibility runtime, used when running linux executables). Instead the pthread_* functions are contained in a reentrant version of libc: libc_r. For GCC 3 on FreeBSD when -pthread is given then the linker is passed -lc_r (to link to the reentrant version of libc) and when -pthread is absent the linker is passed -lc (the non-reentrant libc). (It's slightly complicated by the absence/presence of -pg, as there are also profiling versions of libc, so you end up with one of libc, libc_r, libc_p, or libc_r_p) The behaviour seems to be the same on GCC 2.95 though I haven't checked the source to confirm that. jon -- Dull but sincere filler