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 |