From: Gerd B. <bu...@pi...> - 2001-05-04 15:40:55
|
Hi, I tried to compile plplot using the attached configuration. In the final linking step, c++ -shared -o plplot_octave.oct plplot_octave.o -L. -lX11 -lnsl -lm -lplplotd I get the following errors: ld: 0711-317 ERROR: Undefined symbol: .octave_value_list::elem(int) const ld: 0711-317 ERROR: Undefined symbol: .error(char const *,...) ld: 0711-317 ERROR: Undefined symbol: .Array<octave_value>::~Array(void) ld: 0711-317 ERROR: Undefined symbol: .Array<double>::~Array(void) ld: 0711-317 ERROR: Undefined symbol: .octave_value_list::elem(int) ld: 0711-317 ERROR: Undefined symbol: .octave_value::octave_value(double) ld: 0711-317 ERROR: Undefined symbol: .octave_value::octave_value(Matrix const &) ld: 0711-317 ERROR: Undefined symbol: .octave_value::octave_value(charMatrix const &, bool) ld: 0711-317 ERROR: Undefined symbol: .Array<char>::~Array(void) Any help? Gerd ------------------ Configure results: command: configure --enable-octave --with-shlib --disable-f77 --disable-cxx --disable -python --with-gcc --with-double system: AIX-2 CC: gcc -c LDC: gcc INCS: -I. LIBS: -lX11 -lnsl -lm LIB_TAG: d devices: plmeta null xterm tek4010 tek4107 mskermit conex vlt versaterm dg300 ps xfi g ljii hp7470 hp7580 lj_hpgl imp xwin pbm with_shlib: yes with_double: yes with_debug: no with_opt: no with_warn: no with_profile: no with_gcc: yes with_rpath: yes enable_xwin: yes enable_tcl: no enable_tk: no enable_itcl: no enable_cxx: no enable_python: no enable_f77: no enable_gnome: no enable_octave: yes |
From: Joao C. <jca...@in...> - 2001-05-04 17:29:18
|
On Friday 04 May 2001 17:41, Gerd B=FCrger wrote: | Hi, | | I tried to compile plplot using the attached configuration. In the | final linking step, | | c++ -shared -o plplot_octave.oct plplot_octave.o -L. -lX11 -lnsl -lm | -lplplotd | | I get the following errors: | | ld: 0711-317 ERROR: Undefined symbol: .octave_value_list::elem(int) con= st | ld: 0711-317 ERROR: Undefined symbol: .error(char const *,...) | ld: 0711-317 ERROR: Undefined symbol: .Array<octave_value>::~Array(void= ) | ld: 0711-317 ERROR: Undefined symbol: .Array<double>::~Array(void) | ld: 0711-317 ERROR: Undefined symbol: .octave_value_list::elem(int) | ld: 0711-317 ERROR: Undefined symbol: .octave_value::octave_value(doubl= e) | ld: 0711-317 ERROR: Undefined symbol: .octave_value::octave_value(Matri= x | const &) ld: 0711-317 ERROR: Undefined symbol: | .octave_value::octave_value(charMatrix const &, bool) ld: 0711-317 ERRO= R: | Undefined symbol: .Array<char>::~Array(void) | | | Any help? | | Gerd | | | ------------------ | Configure results: | | command: configure --enable-octave --with-shlib --disable-f77 | --disable-cxx --disable -python --with-gcc --with-double | system: AIX-2 It looks like that in AIX all symbols need to be resolved at link time, e= ven=20 if the compiled file is to be dynamically loaded by another program that = has=20 all symbols resolved. Can you try to read the AIX "ld" man page and discover the command line=20 option that enables the creation of the output file even with unresolved=20 symbols? A quick fix will be to add the octave libraries to the compile command, s= uch=20 as: c++ -shared -o plplot_octave.oct plplot_octave.o -L. -lX11 -lnsl -lm=20 -L /usr/local/test/lib/octave -lcruft -loctinterp -loctave The -L options must be suited to your system; not all three final librari= es=20 are needed, or their order might be different. Last chance: Create the oregonator.cc file with the contents supplied bellow, compile = and=20 run it. Does it works on your system? $mkoctfile -v oregonator.cc c++ -c -fPIC -I/usr/include -I/usr/include/octave-2.0.16 -mieee-fp -fno-r= tti=20 -fno-exceptions -fno-implicit-templates -D_GNU_SOURCE oregonator.cc -o=20 oregonator.o c++ -shared -o oregonator.oct oregonator.o $octave octave-2.0.16:1> oregonator (1,2,3) ans =3D 7.7269e+01 -2.2458e-312 1.6100e-01 -- file oregonator.cc ---------------------------------------------------= ---- #include <octave/oct.h> DEFUN_DLD (oregonator, args, , "The `oregonator'.\n\ \n\ Reference:\n\ \n\ Oscillations in chemical systems. IV. Limit cycle behavior in a\n\ model of a real chemical reaction. Richard J. Field and Richard\n\ M. Noyes, The Journal of Chemical Physics, Volume 60 Number 5,\n\ March 1974.") { ColumnVector dx (3); ColumnVector x (args(0).vector_value ()); dx(0) =3D 77.27 * (x(1) - x(0)*x(1) + x(0) - 8.375e-06*pow (x(0), 2)); dx(1) =3D (x(2) - x(0)*x(1) - x(1)) / 77.27; dx(2) =3D 0.161*(x(0) - x(2)); return octave_value (dx); } --------------------------------------------------------------------- Can you report back your results? Thanks, Jo=E3o | CC: gcc -c | LDC: gcc | INCS: -I. | LIBS: -lX11 -lnsl -lm | LIB_TAG: d | devices: plmeta null xterm tek4010 tek4107 mskermit conex vlt | versaterm dg300 ps xfi g | ljii hp7470 hp7580 lj_hpgl imp xwin pbm | | with_shlib: yes with_double: yes | with_debug: no with_opt: no | with_warn: no with_profile: no | with_gcc: yes with_rpath: yes | | enable_xwin: yes enable_tcl: no | enable_tk: no enable_itcl: no | enable_cxx: no enable_python: no | enable_f77: no enable_gnome: no | enable_octave: yes | | _______________________________________________ | Plplot-general mailing list | Plp...@pl... | http://lists.sourceforge.net/lists/listinfo/plplot-general |
From: Gerd B. <bu...@pi...> - 2001-05-04 19:47:08
|
Dear Joao, You wrote: >Last chance: > >Create the oregonator.cc file with the contents supplied bellow, compile and >run it. Does it works on your system? > >$mkoctfile -v oregonator.cc >c++ -c -fPIC -I/usr/include -I/usr/include/octave-2.0.16 -mieee-fp -fno-rtti >-fno-exceptions -fno-implicit-templates -D_GNU_SOURCE oregonator.cc -o >oregonator.o >c++ -shared -o oregonator.oct oregonator.o Doesn't work. It gives ld: 0711-224 WARNING: Duplicate symbol: ._GLOBAL__DI ld: 0711-224 WARNING: Duplicate symbol: ._GLOBAL__DD ld: 0711-224 WARNING: Duplicate symbol: _GLOBAL__DI ld: 0711-224 WARNING: Duplicate symbol: _GLOBAL__DD ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more information. ld: 0711-317 ERROR: Undefined symbol: .octave_value_list::elem(int) const ld: 0711-317 ERROR: Undefined symbol: .octave_value::vector_value(bool, bool) const ld: 0711-317 ERROR: Undefined symbol: .octave_value::~octave_value(void) ld: 0711-317 ERROR: Undefined symbol: .octave_value::octave_value(ColumnVector const &, int) ld: 0711-317 ERROR: Undefined symbol: .Array<octave_value>::Array(int, octave_value const &) ld: 0711-317 ERROR: Undefined symbol: .Array<double>::~Array(void) collect2: ld returned 8 exit status Too bad. Gerd |
From: Joao C. <jca...@in...> - 2001-05-04 20:15:57
|
On Friday 04 May 2001 21:47, Gerd B=FCrger wrote: | Dear Joao, | | You wrote: | >Last chance: | > | >Create the oregonator.cc file with the contents supplied bellow, compi= le | > and run it. Does it works on your system? | > | >$mkoctfile -v oregonator.cc | >c++ -c -fPIC -I/usr/include -I/usr/include/octave-2.0.16 -mieee-fp | > -fno-rtti -fno-exceptions -fno-implicit-templates -D_GNU_SOURCE | > oregonator.cc -o oregonator.o | >c++ -shared -o oregonator.oct oregonator.o | | Doesn't work. It gives | | ld: 0711-224 WARNING: Duplicate symbol: ._GLOBAL__DI | ld: 0711-224 WARNING: Duplicate symbol: ._GLOBAL__DD | ld: 0711-224 WARNING: Duplicate symbol: _GLOBAL__DI | ld: 0711-224 WARNING: Duplicate symbol: _GLOBAL__DD | ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more | information. ld: 0711-317 ERROR: Undefined symbol: | .octave_value_list::elem(int) const ld: 0711-317 ERROR: Undefined symbo= l: | .octave_value::vector_value(bool, bool) const ld: 0711-317 ERROR: Undef= ined | symbol: .octave_value::~octave_value(void) ld: 0711-317 ERROR: Undefine= d | symbol: .octave_value::octave_value(ColumnVector const &, int) ld: 0711= -317 | ERROR: Undefined symbol: .Array<octave_value>::Array(int, octave_value | const &) ld: 0711-317 ERROR: Undefined symbol: .Array<double>::~Array(v= oid) | collect2: ld returned 8 exit status | | Too bad. Yes. The oregonator.cc file that I sent is a standard Octave (only) example, i= t=20 should compile. That's best to ask for help in the Octave mailing lists.= =20 Please supply the octave version, OS version, cc compiler, etc. Run octav= e,=20 type "octave_config_info", and send the results to the list, "complaining= "=20 that you can't compile oregonator.cc Luck! Jo=E3o PS-your octave was built with dynamic libs, wan't it? Search for "dld =3D= 1"=20 and "--enable-shared" in the above 'octave_config_info' command output. | | Gerd | | _______________________________________________ | Plplot-general mailing list | Plp...@pl... | http://lists.sourceforge.net/lists/listinfo/plplot-general |