Bonjour,
le problème vient d'une librairie c++ utilisée par un programme java via jni. Je ne crois pas que le problème vienne de java car lorsque je compile avec gcc tout se passe bien.
Ce problème survient sous mandrake 10, sous windows la librairie va très bien. Je vous mets ici ma commande de compilation:
cc -I$JAVA_HOME/include -I$JAVA_HOME/include/linux \-c msgParser.cpp -o libmsg.so
voila l'erreur lors du debugg avec jbuilder:
Exception in thread "main" java.lang.UnsatisfiedLinkError: /mnt/mdkEXT/zIrc_0.6.4_jni_alpha/cpp/libmsg.so: /mnt/mdkEXT/zIrc_0.6.4_jni_alpha/cpp/libmsg.so: only ET_DYN and ET_EXEC can be loaded
at java.lang.ClassLoader$NativeLibrary.load(Native Method)
at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1560)
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1456)
at java.lang.Runtime.load0(Runtime.java:737)
at java.lang.System.load(System.java:811)
at zirc.gui.MainFrame.<clinit>(MainFrame.java:48)
at zirc.base.MainApp.<init>(MainApp.java:41)
at zirc.base.MainApp.main(MainApp.java:87)
j'ai reussi a avancer, l'erruer venait de la commande en faisant:
gcc -I$JAVA_HOME/include -I$JAVA_HOME/include/linux msgParser.cpp -fPIC -c -o msgParser.o
puis
gcc -shared -o libmsgParser.so msgParser.o
mais maintenant j'ai une autre erreur:
Exception in thread "main" java.lang.UnsatisfiedLinkError: /mnt/mdkEXT/zIrc_0.6.4_jni_alpha/cpp/libmsgParser.so: /mnt/mdkEXT/zIrc_0.6.4_jni_alpha/cpp/libmsgParser.so: undefined symbol: __gcj_personality_v0
at java.lang.ClassLoader$NativeLibrary.load(Native Method)
at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1560)
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1456)
at java.lang.Runtime.load0(Runtime.java:737)
at java.lang.System.load(System.java:811)
at zirc.gui.MainFrame.<clinit>(MainFrame.java:48)
at zirc.base.MainApp.<init>(MainApp.java:41)
at zirc.base.MainApp.main(MainApp.java:87)