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