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

Reply via email to