3.2.0 compile error on FreeBSD 7.2/amd64 (sig_atomic_t != int on amd64)

Maho NAKATA chat95 at mac.com
Sat Jun 20 04:00:03 CDT 2009


Hello, John W. Eaton and all,

I have encountered Octave 3.2.0 compilation error
* octave 3.2.0 
* FreeBSD 7.2/amd64 [amd64 specific]
* 3.1.55 was okay both on i386/amd64.
* error log is following.
---------------------------------------------------------------------------
gmake -C src all
gmake[2]: Entering directory `/work/ports/math/octave/work/octave-3.2.0/src'
making defaults.h from defaults.h.in
defaults.h is unchanged
gmake[2]: --cppflags: Command not found
gmake[2]: --ldflags: Command not found
making oct-conf.h from oct-conf.h.in
oct-conf.h is unchanged
g++43 -c -I/usr/local/include -fPIC -I. -I.. -I../liboctave -I../src -I../libcruft/misc  -DHAVE_CONFIG_H -I/usr/local/include/freetype2 -I/usr/local/include  -O2 -fno-strict-aliasing -pipe -I/usr/local/include -I/usr/local/include/metis -I/usr/local/include -I/usr/local/include/metis pt-eval.cc -o pic/pt-eval.o
pt-eval.cc: In function 'void do_unwind_protect_cleanup_code(void*)':
pt-eval.cc:920: error: no matching function for call to 'unwind_protect::save_int(sig_atomic_t*, sig_atomic_t&)'
unwind-prot.h:104: note: candidates are: static void unwind_protect::save_int(int*, int)
gmake[2]: *** [pic/pt-eval.o] Error 1
gmake[2]: Leaving directory `/work/ports/math/octave/work/octave-3.2.0/src'
gmake[1]: *** [src] Error 2
gmake[1]: Leaving directory `/work/ports/math/octave/work/octave-3.2.0'
gmake: *** [all] Error 2
*** Error code 1
---------------------------------------------------------------------------
* possible reason
It happens on amd64 only, (not i386).
and relevant part pt-eval.cc:920 is:

>  unwind_protect_int (octave_interrupt_state);
>  octave_interrupt_state = 0;

however,
on amd64 sig_atomic_t is defined as
/usr/include/machine/signal.h:typedef long sig_atomic_t;
and on i386.
/usr/include/machine/signal.h:typedef int sig_atomic_t;

In this case, unwind_protect_long ? I'm not sure.

Thanks,
-- Nakata Maho http://accc.riken.jp/maho/ , http://ja.openoffice.org/ 
   Nakata Maho's PGP public keys: http://accc.riken.jp/maho/maho.pgp.txt


More information about the Bug-octave mailing list