An additional problem showed up on OS X systems: libtool: compile: g++-4.2 -DHAVE_CONFIG_H -I. -I.. -I/sw/lib/flex/include -I/sw/include -O0 -g -m32 -I/sw/include/freetype2 -I/sw/include/qhull -I/usr/include -I../libgnu -I../libgnu -I../libcruft/misc -I../liboctave -I../liboctave -I. -I. -I/sw/lib/flex/include -I/sw/include -O0 -g -m32 -I/sw/include/freetype2 -I/sw/include/qhull -I/usr/include -I/sw/include -O0 -g -m32 -D_THREAD_SAFE -D_REENTRANT -DHAVE_CONFIG_H -mieee-fp -I/sw/include -I/sw/include/freetype2 -I/sw/include -I/usr/X11/include -Wall -W -Wshadow -Wold-style-cast -Wformat -I/sw/include -O0 -g -m32 -D_THREAD_SAFE -D_REENTRANT -D_THREAD_SAFE -pthread -I/sw/include -O0 -g -m32 -D_THREAD_SAFE -D_REENTRANT -MT liboctinterp_la-sighandlers.lo -MD -MP -MF .deps/liboctinterp_la-sighandlers.Tpo -c sighandlers.cc -fno-common -DPIC -o .libs/liboctinterp_la-sighandlers.o sighandlers.cc: In function ‘void my_friendly_exit(const char*, int, bool)’: sighandlers.cc:132: warning: use of old-style cast sighandlers.cc:158: warning: use of old-style cast sighandlers.cc: In function ‘void (* octave_set_signal_handler(int, void (*)(int), bool))(int)’: sighandlers.cc:198: error: expected unqualified-id before ‘(’ token sighandlers.cc:199: error: expected unqualified-id before ‘(’ token sighandlers.cc: In function ‘void sigchld_handler(int)’: sighandlers.cc:232: error: expected unqualified-id before ‘(’ token sighandlers.cc:232: error: expected unqualified-id before ‘(’ token sighandlers.cc:232: error: expected unqualified-id before ‘(’ token sighandlers.cc: In function ‘octave_interrupt_handler octave_ignore_interrupts()’: sighandlers.cc:506: warning: use of old-style cast sighandlers.cc: In function ‘void install_signal_handlers()’: sighandlers.cc:646: warning: use of old-style cast make[3]: *** [liboctinterp_la-sighandlers.lo] Error 1 make[2]: *** [all] Error 2 make[1]: *** [all-recursive] Error 1 make: *** [all] Error 2
Lines 198 and 199 of Octave's sighandlers.cc file are gnulib::sigemptyset (&act.sa_mask); gnulib::sigemptyset (&oact.sa_mask); and looking at the preprocessed source file, I see they are being transformed to gnulib::(*(&act.sa_mask) = 0, 0); gnulib::(*(&oact.sa_mask) = 0, 0); So apparently, sigemptyset is a macro on OS X systems. Likewise for sigaddset. I'm not sure what the best fix is for this problem. jwe