- 论坛徽章:
- 0
|
我刚涉足solaris不久就遇到了这个棘手的问题,请各位高手帮忙,
问题是这样的:
I built VTK4.2(www.vtk.org)with Java1.4.0.3 on Solaris (sparc) 9. But when I
tried run the Cone.java(a simple example), I got the following error:
Exception in thread "main" java.lang.UnsatisfiedLinkError:
/home/songhua/VTK/bin/libvtkCommonJava.so:ld.so.1: java: fatal:
relocation error: file /home/songhua/VTK/bin/libvtkCommonJava.so:
symbol
_pure_virtual: referenced symbol not found
at java.lang.ClassLoader$NativeLibrary.load(Native Method)
at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1480)
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1404)
at java.lang.Runtime.loadLibrary0(Runtime.java:772)
at java.lang.System.loadLibrary(System.java:832)
at vtk.vtkPanel.<clinit>;(vtkPanel.java:24)
at Cone.<init>;(Cone.java:19)
at Cone.main(Cone.java:49)
The C compiler that I specified for CMake to use is gcc and C++
compiler is g++.I also tried cc and c++,the problem still is.
这是makefile里的生成此库的那几句。
#---------------------------------------------------------
# shared library
#
/opt/sfw/lib/libvtkCommon.so: $(vtkCommon_SRC_OBJS) $(vtkCommon_DEPEND_LIBS)
echo "Building shared library /opt/sfw/lib/libvtkCommon.so..."
$(RM) /opt/sfw/lib/libvtkCommon.so
/opt/sfw/bin/g++ -fPIC -shared -nostdlib -o /opt/sfw/lib/libvtkCommon.so $(vtkCommon_SRC_OBJS) -L. -L/opt/sfw/lib -ldl -lm
#---------------------------------------------------------
# shared library
#
/opt/sfw/lib/libvtkCommonJava.so: $(vtkCommonJava_SRC_OBJS) $(vtkCommonJava_DEPEND_LIBS)
echo "Building shared library /opt/sfw/lib/libvtkCommonJava.so..."
$(RM) /opt/sfw/lib/libvtkCommonJava.so
/opt/sfw/bin/g++ -fPIC -shared -nostdlib -o /opt/sfw/lib/libvtkCommonJava.so $(vtkCommonJava_SRC_OBJS) -L. -L/opt/sfw/lib -lvtkCommon -ldl -lm
#---------------------------------------------------------
而且在libvtkCommonJava.so里那个symbol _pure_virtual 是UNDEF,环境变量我想设置的也不应该有问题。
Thanks in advance!! |
|