2017-03-24 15:02 GMT+01:00 Marc Feeley <feeley@iro.umontreal.ca>:
The smp branch is currently a WIP with some unimplemented features (such as thread priorities and priority inheritance).  There are also some infrequent bugs that show up when stress testing.  Nevertheless it is quite usable for experimentation and I am actively working on ironing out the bugs.  I expect a stable smp branch by the end of April. 

Great!
 
Eventually I want the smp branch to be merged with the master branch and to make --enable-multiple-threaded-vms the default.  This will only happen after extensive portability testing so that the master branch remains very stable and can be built “out of the box” without any issues and tinkering.

Ok!
 
So to answer your questions… You need to build the smp branch to get parallel execution. These steps should work:

   git clone https://github.com/gambit/gambit.git
   cd gambit
   git checkout smp
   ./configure
   make -j4 current-gsc-boot
   ./configure --enable-single-host --enable-multiple-threaded-vms
   make -j4 from-scratch
   make check

Great - building either branch of latest commit 210c66cc1d885734bb62a8025fef72801d142d84 as follows, did not build, will try the way  you suggested.

$ cd gambit-smp
$ git checkout smp
$ ./configure --enable-single-host --enable-multiple-threaded-vms
$ make
[..]
gcc -pthread   -Wno-unused -Wno-write-strings -O1 -fwrapv -fno-strict-aliasing -fno-trapping-math -fno-math-errno -fschedule-insns2 -fomit-frame-pointer -fPIC -fno-common -mieee-fp -mpc64  -pthread  -I"../include" -c -o "_kernel.o" -I. -DHAVE_CONFIG_H -D___GAMBITDIR="\"/usr/local/Gambit\"" -D___SYS_TYPE_CPU="\"x86_64\"" -D___SYS_TYPE_VENDOR="\"unknown\"" -D___SYS_TYPE_OS="\"linux-gnu\"" -D___CONFIGURE_COMMAND="\"./configure '--enable-single-host' '--enable-multiple-threaded-vms'"\" -D___OBJ_EXTENSION="\".o\"" -D___EXE_EXTENSION="\"\"" -D___BAT_EXTENSION="\"\"" -D___PRIMAL _kernel.c -D___LIBRARY
_kernel.c: In function ‘___H__20___kernel’:
_kernel.c:6346:27: error: void value not ignored as it ought to be
    ___FLONUM_VAL(___ARG2) = ___set_heartbeat_interval (___FLONUM_VAL(___ARG1));
                           ^
makefile:164: recipe for target '_kernel.o' failed
make[1]: *** [_kernel.o] Error 1
$ gcc --version
gcc (Debian 4.9.2-10) 4.9.2