logancillo wrote:
hi everybody,
can anybody explain me what is the significant of this error?:
Exception UnsatisfiedLinkError al inicializar el servlet Controlador:
/home/alonso/curro/XalanC_Engine/dist/Debug/GNU-Linux-x86/libXalanC_Engine.so:
/home/alonso/curro/XalanC_Engine/dist/Debug/GNU-Linux-x86/libXalanC_Engine.so:
undefined symbol: _ZN11xalanc_1_1014XalanDOMString7s_emptyE
This symbol is for a static piece of data in the Xalan-C shared library, so
it should be there. If your shared library links properly with the Xalan-C
shared library, you shouldn't see this error.
it happens when i try to load the .so and google doesnt know anything.
What do you mean by "try to load the .so?" Are you using dlopen?
the java class with native method:
package es.yell.frontlite.mvc.View;
//import java.io.ByteArrayOutputStream;
...
i already tried to load the .so setting LD_LIBRARY_PATH like this:
[EMAIL PROTECTED]:~$ export
LD_LIBRARY_PATH=/home/alonso/curro/XalanC_Engine/dist/Debug/GNU-Linux-x86/
[EMAIL PROTECTED]:~$ echo $LD_LIBRARY_PATH
/home/alonso/curro/XalanC_Engine/dist/Debug/GNU-Linux-x86/
where /home/alonso/curro/XalanC_Engine/dist/Debug/GNU-Linux-x86/ is a
directory which contains the .so
[EMAIL PROTECTED]:~$ cd $LD_LIBRARY_PATH
[EMAIL PROTECTED]:~/curro/XalanC_Engine/dist/Debug/GNU-Linux-x86$ ls
libXalanC_Engine.so
Does this work if you write a small command line program to call the code
in your shared library?
this is how i try to load the .so file giving me UnsatisfiedLinkError
System.load("/home/alonso/curro/XalanC_Engine/dist/Debug/GNU-Linux-x86/libXalanC_Engine.so");
I don't know how System.load() works, but perhaps it's not honoring the
LD_LIBRARY_PATH variable.
if i try to load the .so like this:
Exception UnsatisfiedLinkError al inicializar el servlet Controlador:
Expecting an absolute path of the library: libXalanC_Engine
this is the output when i did System.out.println("java.library.path:" +
System.getProperty("java.library.path"));
java.library.path:/usr/java/jdk1.6.0_04/jre/lib/i386/client:/usr/java/jdk1.6.0_04/jre/lib/i386:/usr/java/jdk1.6.0_04/jre/../lib/i386:/usr/java/packages/lib/i386:/lib:/usr/lib
Are you setting the LD_LIBRARY_PATH when you login? Perhaps Java captures
a static view of the environment. What happens if you define
java.library.path yourself?
Dave