Bonjour,

J'ai un probl�me en chargeant des librairies dynamiques sous Linux (lib*.so).

J'en charge plusieurs qui s'appellent les unes les autres dont une que je cr�e moi-m�me � partir d'un fichier objet PIC lui-m�me g�n�r� � partir d'un fichier C JNI et qui a besoin d'autres librairies pour fonctionner: je fais dans le code java une s�rie de "System.loadLibrary(lib*.so);" qui charge ma librairie et celles dont elle a besoin.

Quelque soit l'ordre dans lequel je les charge, j'ai toujours au chargement de ma biblioth�que une exception et un "undefined Symbol", comme si les liens entre ma biblioth�que et les autres se faisaient mal.

Y'a-t-il des probl�mes de r�ccursivit�, java permet-il de faire �a, ...? Lorsque je lie ces librairies � la mienne de fa�on statique � la compilation, je n'ai aucun probl�me.

Quelqu'un peut-il m'aider?

voici la trace : "libagent" est ma librairie et _ZN10omni_mutexC1Ev existe bien dans une des libraires que je charge aussi...

Loading libagent... Exception in thread "main" java.lang.UnsatisfiedLinkErr
or: /home/ctedesch/proto_JXTA2/agent/libagent.so: /home/ctedesch/proto_JXTA
2/agent/libagent.so: undefined symbol: _ZN10omni_mutexC1Ev
       at java.lang.ClassLoader$NativeLibrary.load(Native Method)
       at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1560)
       at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1485)
       at java.lang.Runtime.loadLibrary0(Runtime.java:788)
       at java.lang.System.loadLibrary(System.java:834)
       at AgentJXTAJ.<clinit>(AgentJXTAJ.java:52)

MERCI!!!



Répondre à