From bug-octave-request at bevo dot che dot wisc dot edu Mon Feb 2 09:36:54 2004 Subject: Build of Octave 2.1.50 failed under Tru64 V5.1B From: "Dr. Hans Ekkehard Plesser" To: bug-octave at bevo dot che dot wisc dot edu Date: Mon, 2 Feb 2004 09:23:15 -0600 -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Hi! I tried to build Ovtave 2.1.50 on a HP GS1280 running Tru64 V5.1B, with the Compaq C++ Compiler V 6.5. I configured with CC=cc MAKE=gmake CXX=cxx F77=f77 CFLAGS=-ieee -O3 -arch ev7 -tune ev7 CXXFLAGS=-ieee -O3 -arch ev7 -tune ev7 ./configure CPPFLAGS=-I/opt/nlh/include LDFLAGS=-L/opt/nlh/lib - --prefix=/opt/nlh --enable-shared I use GNU Make 3.80. Compilation failed in libcruft/misc as follows cxx -c -I/opt/nlh/include -I. -I../.. -I../../liboctave -I../../src - -I../../libcruft/misc -I../../glob -I../../glob -DHAVE_CONFIG_H -ieee -ieee - -O3 -arch ev7 -tune ev7 quit.cc -o quit.o cxx: Error: quit.cc, line 40: declaration is incompatible with "void (*octave_interrupt_hook)() C" (declared at line 90 of "quit.h") void (*octave_interrupt_hook) (void) = 0; - -------^ cxx: Error: quit.cc, line 41: declaration is incompatible with "void (*octave_bad_alloc_hook)() C" (declared at line 91 of "quit.h") void (*octave_bad_alloc_hook) (void) = 0; - -------^ I found the following hack around this: 1. libcruft/misc/quit.cc compiles if the following lines (90-91) in libcruft/misc/quit.h are commented out: extern void (*octave_interrupt_hook) (void); extern void (*octave_bad_alloc_hook) (void); 2. After these changes, src/toplev.cc no longer compiles. toplev.cc does compile once those two lines are restored in quit.h. Compilation then seems to get quite far, and creates an octave executable that performs at least standard tasks (scalar and matrix arithmetic). The make process fails again in directory src with cxx -shared -Wl,-expect_unresolved -Wl,'*' -o kron.oct kron.o ld (prelink): so_locations: line #5: bad tag ld: so_locations: line #5: bad tag The initial part of src/so_locations looks like this: hess.oct \ :st = .text 0x000003ffbffe0000, 0x0000000000020000:\ :st = .data 0x000003ffffff0000, 0x0000000000010000:\ 000:\ besselj.oct \ :st = .text 0x000003ffbf5a0000, 0x0000000000030000:\ :st = .data 0x000003ffffc20000, 0x0000000000010000:\ After removing line 5, containing "000:\", the make process completed nicely, and functions like eig() work as well. I still have to install DejaGNU, so I cannot report check results. I hope someone will be able to patch the code based on the above report. If you need any more information, do not hesitate to mail me! Hans -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.0.6 (GNU/Linux) Comment: For info see http://www.gnupg.org iD8DBQFAHmtEbuXhp9E3LTsRAnkGAKCVVk27nxq2rOwLlrrSj/ZEZHJyKQCfSZNF Sp1VQzqDAvlssRur/Qdeb3E= =A2MT -----END PGP SIGNATURE----- ------------------------------------------------------------- Octave is freely available under the terms of the GNU GPL. Octave's home on the web: http://www.octave.org How to fund new projects: http://www.octave.org/funding.html Subscription information: http://www.octave.org/archive.html -------------------------------------------------------------