help-octave
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

octave 2.1.62 compile problem under Mac OS X 10.3.6


From: John W. Eaton
Subject: octave 2.1.62 compile problem under Mac OS X 10.3.6
Date: Thu, 18 Nov 2004 22:26:38 -0500

On 18-Nov-2004, Marius Schamschula <address@hidden> wrote:

| Hi all,
| 
| I've run into a problem compiling octave 2.1.62 under Mac OS X 10.3.6:
| 
| I've configured using
| 
| FLIBS='-L/usr/local/lib/ -lg2c' LIBS='-lsz' CPPFLAGS=-no-cpp-precomp 
| ./configure --enable-dl --enable-shared --with-hdf5 --with-fftw
| 
| which worked fine for compiles of 2.1.57 and 2.1.59. The build fails 
| with:
| 
| gawk -f ./mk-ops.awk prefix=mx make_inclusive_header=mx-ops.h ./mx-ops 
|  > mx-ops.h-t
| ../move-if-change mx-ops.h-t mx-ops.h
| mx-ops.h is unchanged
| rm -f liboctave.dylib
| g++ -dynamiclib -single_module  -install_name 
| /usr/local/lib/octave-2.1.62/liboctave.dylib -o liboctave.dylib \
| Bounds.o CollocWt.o DASPK.o DASRT.o DASSL.o FEGrid.o LinConst.o 
| LPsolve.o LSODE.o NLEqn.o ODES.o ODESSA.o Quad.o Range.o data-conv.o 
| dir-ops.o file-ops.o file-stat.o glob-match.o idx-vector.o lo-ieee.o 
| lo-mappers.o lo-specfun.o lo-sysdep.o lo-utils.o mach-info.o 
| oct-alloc.o oct-env.o oct-fftw.o oct-group.o oct-passwd.o oct-rand.o 
| oct-shlib.o oct-syscalls.o oct-time.o prog-args.o so-array.o str-vec.o 
| Array.o ArrayN.o DiagArray2.o MArray.o MArray2.o MArrayN.o 
| MDiagArray2.o base-lu.o oct-sort.o Array-C.o Array-b.o Array-ch.o 
| Array-i.o Array-d.o Array-s.o Array-so.o Array-str.o Array-idx-vec.o 
| MArray-C.o MArray-ch.o MArray-i.o MArray-d.o MArray-s.o oct-inttypes.o 
| Array-flags.o Array-util.o CColVector.o CDiagMatrix.o CMatrix.o 
| CNDArray.o CRowVector.o CmplxAEPBAL.o CmplxCHOL.o CmplxDET.o 
| CmplxHESS.o CmplxLU.o CmplxQR.o CmplxQRP.o CmplxSCHUR.o CmplxSVD.o 
| EIG.o boolMatrix.o boolNDArray.o chMatrix.o chNDArray.o dColVector.o 
| dDiagMatrix.o dMatrix.o dNDArray.o dRowVector.o dbleAEPBAL.o dbleCHOL.o 
| dbleDET.o dbleHESS.o dbleLU.o dbleQR.o dbleQRP.o dbleSCHUR.o dbleSVD.o 
| int8NDArray.o uint8NDArray.o int16NDArray.o uint16NDArray.o 
| int32NDArray.o uint32NDArray.o int64NDArray.o uint64NDArray.o  
| mx-cdm-dm.o mx-dm-cdm.o mx-cs-cdm.o mx-cs-dm.o mx-cs-m.o mx-cs-nda.o 
| mx-cdm-cs.o mx-cdm-cm.o mx-cdm-m.o mx-cdm-s.o mx-cm-cdm.o mx-cm-dm.o 
| mx-cm-m.o mx-cnda-nda.o mx-cm-s.o mx-cnda-s.o mx-dm-cs.o mx-dm-cm.o 
| mx-m-cs.o mx-nda-cs.o mx-m-cdm.o mx-m-cm.o mx-nda-cnda.o mx-s-cdm.o 
| mx-s-cm.o mx-s-cnda.o mx-dm-m.o mx-dm-s.o mx-m-dm.o mx-s-dm.o 
| mx-s-i8nda.o mx-i8nda-s.o mx-s-ui8nda.o mx-ui8nda-s.o mx-s-i16nda.o 
| mx-i16nda-s.o mx-s-ui16nda.o mx-ui16nda-s.o mx-s-i32nda.o mx-i32nda-s.o 
| mx-s-ui32nda.o mx-ui32nda-s.o mx-s-i64nda.o mx-i64nda-s.o 
| mx-s-ui64nda.o mx-ui64nda-s.o mx-nda-i8.o mx-i8-nda.o mx-nda-ui8.o 
| mx-ui8-nda.o mx-nda-i16.o mx-i16-nda.o mx-nda-ui16.o mx-ui16-nda.o 
| mx-nda-i32.o mx-i32-nda.o mx-nda-ui32.o mx-ui32-nda.o mx-nda-i64.o 
| mx-i64-nda.o mx-nda-ui64.o mx-ui64-nda.o mx-nda-i8nda.o mx-i8nda-nda.o 
| mx-nda-ui8nda.o mx-ui8nda-nda.o mx-nda-i16nda.o mx-i16nda-nda.o 
| mx-nda-ui16nda.o mx-ui16nda-nda.o mx-nda-i32nda.o mx-i32nda-nda.o 
| mx-nda-ui32nda.o mx-ui32nda-nda.o mx-nda-i64nda.o mx-i64nda-nda.o 
| mx-nda-ui64nda.o mx-ui64nda-nda.o mx-i8nda-ui8.o mx-i8nda-i16.o 
| mx-i8nda-ui16.o mx-i8nda-i32.o mx-i8nda-ui32.o mx-i8nda-i64.o 
| mx-i8nda-ui64.o mx-i16nda-i8.o mx-i16nda-ui8.o mx-i16nda-ui16.o 
| mx-i16nda-i32.o mx-i16nda-ui32.o mx-i16nda-i64.o mx-i16nda-ui64.o 
| mx-i32nda-i8.o mx-i32nda-ui8.o mx-i32nda-i16.o mx-i32nda-ui16.o 
| mx-i32nda-ui32.o mx-i32nda-i64.o mx-i32nda-ui64.o mx-i64nda-i8.o 
| mx-i64nda-ui8.o mx-i64nda-i16.o mx-i64nda-ui16.o mx-i64nda-i32.o 
| mx-i64nda-ui32.o mx-i64nda-ui64.o mx-ui8nda-i8.o mx-ui8nda-i16.o 
| mx-ui8nda-ui16.o mx-ui8nda-i32.o mx-ui8nda-ui32.o mx-ui8nda-i64.o 
| mx-ui8nda-ui64.o mx-ui16nda-i8.o mx-ui16nda-ui8.o mx-ui16nda-i16.o 
| mx-ui16nda-i32.o mx-ui16nda-ui32.o mx-ui16nda-i64.o mx-ui16nda-ui64.o 
| mx-ui32nda-i8.o mx-ui32nda-ui8.o mx-ui32nda-i16.o mx-ui32nda-ui16.o 
| mx-ui32nda-i32.o mx-ui32nda-i64.o mx-ui32nda-ui64.o mx-ui64nda-i8.o 
| mx-ui64nda-ui8.o mx-ui64nda-i16.o mx-ui64nda-ui16.o mx-ui64nda-i32.o 
| mx-ui64nda-ui32.o mx-ui64nda-i64.o mx-i8-ui8nda.o mx-i8-i16nda.o 
| mx-i8-ui16nda.o mx-i8-i32nda.o mx-i8-ui32nda.o mx-i8-i64nda.o 
| mx-i8-ui64nda.o mx-i16-i8nda.o mx-i16-ui8nda.o mx-i16-ui16nda.o 
| mx-i16-i32nda.o mx-i16-ui32nda.o mx-i16-i64nda.o mx-i16-ui64nda.o 
| mx-i32-i8nda.o mx-i32-ui8nda.o mx-i32-i16nda.o mx-i32-ui16nda.o 
| mx-i32-ui32nda.o mx-i32-i64nda.o mx-i32-ui64nda.o mx-i64-i8nda.o 
| mx-i64-ui8nda.o mx-i64-i16nda.o mx-i64-ui16nda.o mx-i64-i32nda.o 
| mx-i64-ui32nda.o mx-i64-ui64nda.o mx-ui8-i8nda.o mx-ui8-i16nda.o 
| mx-ui8-ui16nda.o mx-ui8-i32nda.o mx-ui8-ui32nda.o mx-ui8-i64nda.o 
| mx-ui8-ui64nda.o mx-ui16-i8nda.o mx-ui16-ui8nda.o mx-ui16-i16nda.o 
| mx-ui16-i32nda.o mx-ui16-ui32nda.o mx-ui16-i64nda.o mx-ui16-ui64nda.o 
| mx-ui32-i8nda.o mx-ui32-ui8nda.o mx-ui32-i16nda.o mx-ui32-ui16nda.o 
| mx-ui32-i32nda.o mx-ui32-i64nda.o mx-ui32-ui64nda.o mx-ui64-i8nda.o 
| mx-ui64-ui8nda.o mx-ui64-i16nda.o mx-ui64-ui16nda.o mx-ui64-i32nda.o 
| mx-ui64-ui32nda.o mx-ui64-i64nda.o mx-i8nda-ui8nda.o mx-i8nda-i16nda.o 
| mx-i8nda-ui16nda.o mx-i8nda-i32nda.o mx-i8nda-ui32nda.o 
| mx-i8nda-i64nda.o mx-i8nda-ui64nda.o mx-i16nda-i8nda.o 
| mx-i16nda-ui8nda.o mx-i16nda-ui16nda.o mx-i16nda-i32nda.o 
| mx-i16nda-ui32nda.o mx-i16nda-i64nda.o mx-i16nda-ui64nda.o 
| mx-i32nda-i8nda.o mx-i32nda-ui8nda.o mx-i32nda-i16nda.o 
| mx-i32nda-ui16nda.o mx-i32nda-ui32nda.o mx-i32nda-i64nda.o 
| mx-i32nda-ui64nda.o mx-i64nda-i8nda.o mx-i64nda-ui8nda.o 
| mx-i64nda-i16nda.o mx-i64nda-ui16nda.o mx-i64nda-i32nda.o 
| mx-i64nda-ui32nda.o mx-i64nda-ui64nda.o mx-ui8nda-i8nda.o 
| mx-ui8nda-i16nda.o mx-ui8nda-ui16nda.o mx-ui8nda-i32nda.o 
| mx-ui8nda-ui32nda.o mx-ui8nda-i64nda.o mx-ui8nda-ui64nda.o 
| mx-ui16nda-i8nda.o mx-ui16nda-ui8nda.o mx-ui16nda-i16nda.o 
| mx-ui16nda-i32nda.o mx-ui16nda-ui32nda.o mx-ui16nda-i64nda.o 
| mx-ui16nda-ui64nda.o mx-ui32nda-i8nda.o mx-ui32nda-ui8nda.o 
| mx-ui32nda-i16nda.o mx-ui32nda-ui16nda.o mx-ui32nda-i32nda.o 
| mx-ui32nda-i64nda.o mx-ui32nda-ui64nda.o mx-ui64nda-i8nda.o 
| mx-ui64nda-ui8nda.o mx-ui64nda-i16nda.o mx-ui64nda-ui16nda.o 
| mx-ui64nda-i32nda.o mx-ui64nda-ui32nda.o mx-ui64nda-i64nda.o 
| vx-ccv-cv.o vx-ccv-s.o vx-crv-rv.o vx-crv-s.o vx-cs-cv.o vx-cs-rv.o 
| vx-cv-ccv.o vx-cv-cs.o vx-rv-crv.o vx-rv-cs.o vx-s-ccv.o vx-s-crv.o 
| f2c-main.o filemode.o getopt.o getopt1.o lo-cieee.o lo-cutils.o mkdir.o 
| oct-getopt.o rename.o rmdir.o strftime.o strptime.o tempname.o 
| tempnam.o cmd-edit.o cmd-hist.o oct-rl-edit.o oct-rl-hist.o 
| pathsearch.o kpse-xfns.o -L../libcruft -L../glob -L.  -lcruft 
| -framework vecLib -lfftw3 -lreadline -lglob -lreadline  -lncurses 
| -lhdf5 -lz -lm -lsz -L/usr/local/lib/ -lg2c
| ld: multiple definitions of symbol octave_int<signed char> pow<signed 
| char>(octave_int<signed char> const&, octave_int<signed char> const&)
| oct-inttypes.o definition of octave_int<signed char> pow<signed 
| char>(octave_int<signed char> const&, octave_int<signed char> const&) 
| in section (__TEXT,__text)
| int8NDArray.o definition of octave_int<signed char> pow<signed 
| char>(octave_int<signed char> const&, octave_int<signed char> const&) 
| in section (__TEXT,__text)
| ld: multiple definitions of symbol octave_int<unsigned char> 
| pow<unsigned char>(octave_int<unsigned char> const&, 
| octave_int<unsigned char> const&)
| oct-inttypes.o definition of octave_int<unsigned char> pow<unsigned 
| char>(octave_int<unsigned char> const&, octave_int<unsigned char> 
| const&) in section (__TEXT,__text)
| uint8NDArray.o definition of octave_int<unsigned char> pow<unsigned 
| char>(octave_int<unsigned char> const&, octave_int<unsigned char> 
| const&) in section (__TEXT,__text)
| ld: multiple definitions of symbol octave_int<short> 
| pow<short>(octave_int<short> const&, octave_int<short> const&)
| oct-inttypes.o definition of octave_int<short> 
| pow<short>(octave_int<short> const&, octave_int<short> const&) in 
| section (__TEXT,__text)
| int16NDArray.o definition of octave_int<short> 
| pow<short>(octave_int<short> const&, octave_int<short> const&) in 
| section (__TEXT,__text)
| ld: multiple definitions of symbol octave_int<unsigned short> 
| pow<unsigned short>(octave_int<unsigned short> const&, 
| octave_int<unsigned short> const&)
| oct-inttypes.o definition of octave_int<unsigned short> pow<unsigned 
| short>(octave_int<unsigned short> const&, octave_int<unsigned short> 
| const&) in section (__TEXT,__text)
| uint16NDArray.o definition of octave_int<unsigned short> pow<unsigned 
| short>(octave_int<unsigned short> const&, octave_int<unsigned short> 
| const&) in section (__TEXT,__text)
| ld: multiple definitions of symbol octave_int<int> 
| pow<int>(octave_int<int> const&, octave_int<int> const&)
| oct-inttypes.o definition of octave_int<int> pow<int>(octave_int<int> 
| const&, octave_int<int> const&) in section (__TEXT,__text)
| int32NDArray.o definition of octave_int<int> pow<int>(octave_int<int> 
| const&, octave_int<int> const&) in section (__TEXT,__text)
| ld: multiple definitions of symbol octave_int<unsigned> 
| pow<unsigned>(octave_int<unsigned> const&, octave_int<unsigned> const&)
| oct-inttypes.o definition of octave_int<unsigned> 
| pow<unsigned>(octave_int<unsigned> const&, octave_int<unsigned> const&) 
| in section (__TEXT,__text)
| uint32NDArray.o definition of octave_int<unsigned> 
| pow<unsigned>(octave_int<unsigned> const&, octave_int<unsigned> const&) 
| in section (__TEXT,__text)
| ld: warning multiple definitions of symbol _BC
| /usr/local/lib//libreadline.dylib(terminal.so) definition of _BC
| /usr/lib/libncurses.dylib(lib_termcap.o) definition of _BC
| ld: warning multiple definitions of symbol _UP
| /usr/local/lib//libreadline.dylib(terminal.so) definition of _UP
| /usr/lib/libncurses.dylib(lib_termcap.o) definition of _UP
| ld: warning multiple definitions of symbol _PC
| /usr/local/lib//libreadline.dylib(terminal.so) definition of _PC
| /usr/lib/libncurses.dylib(lib_tputs.o) definition of _PC
| /usr/bin/libtool: internal link edit command failed
| make[2]: *** [liboctave.dylib] Error 1
| make[1]: *** [liboctave] Error 2
| make: *** [all] Error 2
| 
| Any ideas?

Please try the following patch.  I think it should fix the problem
with multiple definitions of pow for integer types.

I'm not sure what is causing the other problem with multiple
definitions of _BC, _UP, and _PC, but it looks like that's not really
an Octave bug since the multiple definitions occur inside the readline
and ncurses libraries.

jwe


liboctave/ChangeLog:

2004-11-18  John W. Eaton  <address@hidden>

        * int32NDArray.cc (pow): Delete instantiation.
        * int16NDArray.cc (pow): Likewise.
        * int8NDArray.cc (pow): Likewise.
        * uint32NDArray.cc (pow): Likewise.
        * uint16NDArray.cc (pow): Likewise.
        * uint8NDArray.cc (pow): Likewise.

 
Index: liboctave/int16NDArray.cc
===================================================================
RCS file: /usr/local/cvsroot/octave/liboctave/int16NDArray.cc,v
retrieving revision 1.4
diff -u -r1.4 int16NDArray.cc
--- liboctave/int16NDArray.cc   9 Nov 2004 18:31:25 -0000       1.4
+++ liboctave/int16NDArray.cc   19 Nov 2004 03:24:33 -0000
@@ -35,8 +35,6 @@
 
 template class intNDArray<octave_int16>;
 
-template octave_int16 pow (const octave_int16& a, const octave_int16& b);
-
 template
 std::ostream&
 operator << (std::ostream& os, const intNDArray<octave_int16>& a);
Index: liboctave/int32NDArray.cc
===================================================================
RCS file: /usr/local/cvsroot/octave/liboctave/int32NDArray.cc,v
retrieving revision 1.4
diff -u -r1.4 int32NDArray.cc
--- liboctave/int32NDArray.cc   9 Nov 2004 18:31:26 -0000       1.4
+++ liboctave/int32NDArray.cc   19 Nov 2004 03:24:33 -0000
@@ -35,8 +35,6 @@
 
 template class intNDArray<octave_int32>;
 
-template octave_int32 pow (const octave_int32& a, const octave_int32& b);
-
 template
 std::ostream&
 operator << (std::ostream& os, const intNDArray<octave_int32>& a);
Index: liboctave/int8NDArray.cc
===================================================================
RCS file: /usr/local/cvsroot/octave/liboctave/int8NDArray.cc,v
retrieving revision 1.4
diff -u -r1.4 int8NDArray.cc
--- liboctave/int8NDArray.cc    9 Nov 2004 18:31:26 -0000       1.4
+++ liboctave/int8NDArray.cc    19 Nov 2004 03:24:33 -0000
@@ -35,8 +35,6 @@
 
 template class intNDArray<octave_int8>;
 
-template octave_int8 pow (const octave_int8& a, const octave_int8& b);
-
 template
 std::ostream&
 operator << (std::ostream& os, const intNDArray<octave_int8>& a);
Index: liboctave/uint16NDArray.cc
===================================================================
RCS file: /usr/local/cvsroot/octave/liboctave/uint16NDArray.cc,v
retrieving revision 1.4
diff -u -r1.4 uint16NDArray.cc
--- liboctave/uint16NDArray.cc  9 Nov 2004 18:31:26 -0000       1.4
+++ liboctave/uint16NDArray.cc  19 Nov 2004 03:24:33 -0000
@@ -35,8 +35,6 @@
 
 template class intNDArray<octave_uint16>;
 
-template octave_uint16 pow (const octave_uint16& a, const octave_uint16& b);
-
 template
 std::ostream&
 operator << (std::ostream& os, const intNDArray<octave_uint16>& a);
Index: liboctave/uint32NDArray.cc
===================================================================
RCS file: /usr/local/cvsroot/octave/liboctave/uint32NDArray.cc,v
retrieving revision 1.4
diff -u -r1.4 uint32NDArray.cc
--- liboctave/uint32NDArray.cc  9 Nov 2004 18:31:26 -0000       1.4
+++ liboctave/uint32NDArray.cc  19 Nov 2004 03:24:33 -0000
@@ -35,8 +35,6 @@
 
 template class intNDArray<octave_uint32>;
 
-template octave_uint32 pow (const octave_uint32& a, const octave_uint32& b);
-
 template
 std::ostream&
 operator << (std::ostream& os, const intNDArray<octave_uint32>& a);
Index: liboctave/uint8NDArray.cc
===================================================================
RCS file: /usr/local/cvsroot/octave/liboctave/uint8NDArray.cc,v
retrieving revision 1.4
diff -u -r1.4 uint8NDArray.cc
--- liboctave/uint8NDArray.cc   9 Nov 2004 18:31:26 -0000       1.4
+++ liboctave/uint8NDArray.cc   19 Nov 2004 03:24:33 -0000
@@ -35,8 +35,6 @@
 
 template class intNDArray<octave_uint8>;
 
-template octave_uint8 pow (const octave_uint8& a, const octave_uint8& b);
-
 template
 std::ostream&
 operator << (std::ostream& os, const intNDArray<octave_uint8>& a);



-------------------------------------------------------------
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
-------------------------------------------------------------



reply via email to

[Prev in Thread] Current Thread [Next in Thread]