I'd like to try out the multiple vm option as I want to have 2 separate OS threads, each running their own copy of gambit - neither of which need to communicate with the other, so I tried to rebuild Gambit using the --enable-multiple-vms option (this is under OS X 10.10 - Yosemite with Xcode6 - 6A313):
quorra:gambit aking$ ./configure --enable-multiple-vms --enable-cplusplus
It ends up showing the following warning:
checking for struct stat64... yes
checking for posix threads with CFLAGS=' ' and LIBS=' '... no
checking for posix threads with CFLAGS=' -mt' and LIBS=' '... no
checking for posix threads with CFLAGS=' -pthread' and LIBS=' '... no
checking for posix threads with CFLAGS=' ' and LIBS=' -lpthread'... no
checking for win32 threads... no
configure:
*********************************************************************
*** ***
*** A thread system is required for this configuration but none ***
*** of the supported thread systems (posix threads and win32 ***
*** threads) are available on this platform. The configuration ***
*** will proceed as though --disable-thread-system, ***
*** --disable-multiple-vms, and --disable-multiple-threaded-vms ***
*** were specified. ***
*** ***
*********************************************************************
Checking config.log, I see:
configure:8106: checking for posix threads with CFLAGS=' ' and LIBS=' -lpthread'
configure:8133: g++ -o conftest conftest.cpp -lpthread >&5
conftest.cpp:136:14: error: no matching function for call to 'pthread_join'
pthread_join (&thread, NULL);
^~~~~~~~~~~~
/usr/include/pthread.h:336:5: note: candidate function not viable: no known conversion from 'pthread_t *' (aka '_opaque_pthread_t **') to 'pthread_t' (aka '_opaque_pthread_t *') for 1st argument; remove &
int pthread_join(pthread_t , void **) __DARWIN_ALIAS_C(pthread_join);
^
1 error generated.
configure:8133: $? = 1
I know I have pthreads installed and working as I have 3 different apps all using pthreads on this system. Not sure what's going wrong here - pthread's API change?
Adam