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 it happens when i try to load the .so and google doesnt know anything. the java class with native method: package es.yell.frontlite.mvc.View; //import java.io.ByteArrayOutputStream; /** * * @author alonso */ public class RenderizarVistaXalanC { //public native ByteArrayOutputStream renderView(String xml, javax.xml.transform.Transformer transletXSL); public native void renderView(String xml, String xsl); } the header file generated via javah /* DO NOT EDIT THIS FILE - it is machine generated */ #include <jni.h> /* Header for class es_yell_frontlite_mvc_View_RenderizarVistaXalanC */ #ifndef _Included_es_yell_frontlite_mvc_View_RenderizarVistaXalanC #define _Included_es_yell_frontlite_mvc_View_RenderizarVistaXalanC #ifdef __cplusplus extern "C" { #endif /* * Class: es_yell_frontlite_mvc_View_RenderizarVistaXalanC * Method: renderView * Signature: (Ljava/lang/String;Ljava/lang/String;)V */ JNIEXPORT void JNICALL Java_es_yell_frontlite_mvc_View_RenderizarVistaXalanC_renderView (JNIEnv *env, jobject obj, jstring xml, jstring xsl); #ifdef __cplusplus } #endif #endif the implementation c file: #include "../../es_yell_frontlite_mvc_View_RenderizarVistaXalanC.h" #include <xalanc/Include/PlatformDefinitions.hpp> #if defined(XALAN_CLASSIC_IOSTREAMS) #include <iostream.h> #include <strstream.h> #include <fstream.h> #else #include <iostream> #include <strstream> #include <fstream> #endif #include <xercesc/util/PlatformUtils.hpp> #include <xalanc/XalanTransformer/XalanTransformer.hpp> JNIEXPORT void JNICALL Java_es_yell_frontlite_mvc_View_RenderizarVistaXalanC_renderView (JNIEnv *env, jobject obj, jstring xml, jstring xsl) { jboolean blnIsCopy; XALAN_USING_STD(cerr) XALAN_USING_STD(cout) XALAN_USING_STD(endl) XALAN_USING_STD(istrstream) XALAN_USING_STD(ofstream) XALAN_USING_STD(ostrstream) #if defined(XALAN_STRICT_ANSI_HEADERS) using std::strlen; #endif XALAN_USING_XERCES(XMLPlatformUtils) XALAN_USING_XALAN(XalanTransformer) // Call the static initializer for Xerces. XMLPlatformUtils::Initialize(); // Initialize Xalan. XalanTransformer::initialize(); // Create a XalanTransformer. XalanTransformer theXalanTransformer; const char* const theInputXmlDocument =env->GetStringUTFChars(xml,&blnIsCopy); printf("xml: %s\n",theInputXmlDocument); const char* const theInputXslDocument = env->GetStringUTFChars(xsl,&blnIsCopy); printf("xml: %s\n",theInputXslDocument); // Our input streams... istrstream theXMLStream(theInputXmlDocument, strlen(theInputXmlDocument)); istrstream theXSLStream(theInputXslDocument, strlen(theInputXslDocument)); XALAN_USING_XALAN(XalanDOMString) XALAN_USING_XALAN(XSLTInputSource) XSLTInputSource inputSource(&theXSLStream); inputSource.setSystemId(XalanDOMString("foo").c_str()); // Do the transform. int theResult = theXalanTransformer.transform(&theXMLStream, inputSource, cout); if(theResult != 0) { cerr << "StreamTransform Error: \n" << theXalanTransformer.getLastError() << endl << endl; } // Terminate Xalan... XalanTransformer::terminate(); // Terminate Xerces... XMLPlatformUtils::Terminate(); // Clean up the ICU, if it's integrated... XalanTransformer::ICUCleanUp(); } 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 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"); 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 i think this is the problem but i m not sure, pls help me! Alonso -- View this message in context: http://www.nabble.com/problems-loading-library-tp15203564p15203564.html Sent from the Xalan - C - Users mailing list archive at Nabble.com.