BSD uses files xx.dylib where most other platforms use xx.so . I have not found a discussion of the ramifications of the difference. I changed file "configure" to look for libpthread.dylib instead of libpthread.so . I specified --thread while invoking configure. "configure" then found POSIX threads. The following errors then emerge: gcc -c -w -I/usr/include -DHAVE_POSIX_THREADS -DHAVE_UNIX parallel.c parallel.c:67: error: `_POSIX_THREAD_THREADS_MAX' undeclared here (not in a function) parallel.c: In function `genie_parallel_units': parallel.c:315: error: `_POSIX_THREAD_THREADS_MAX' undeclared (first use in this function) parallel.c:315: error: (Each undeclared identifier is reported only once parallel.c:315: error: for each function it appears in.) parallel.c: At top level: parallel.c:67: error: storage size of `context' isn't known make[1]: *** [parallel.o] Error 1 mv: rename a68g to ../a68g: No such file or directory To parallel.c I added: #define _POSIX_THREAD_THREADS_MAX 4 I have no reason to think that this is safe. I modified the file "configure" to append IEEE_754_FLAG=-DHAVE_IEEE_754 to BUILD_FILE even though neither header files ieee754.h nor ieeefp.h could be found. The compilation finished and a few test cases ran. It runs some slightly non-trivial test cases correctly.