Interpreter-Fehler JNI undefined symbol

Mindstream

Aktives Mitglied
Hi,

Ich versuche eine Funktion aus einer shared library aufzurufen und bekomme beim Aufruf folgenden Fehler:
../bin/java: symbol lookup error: /home/joe/project/bin/lib/libJerasure.jni.so.0: undefined symbol: cauchy_good_general_coding_matrix

Das Laden der Bibliothek (https://github.com/jvandertil/Jerasure) funktioniert. Wenn ich die Ausgabe von nm richtig deute scheint das Symbol jedoch definiert zu sein:
Code:
nm -D bin/lib/libJerasure.jni.so.0 |grep good_general
                 U cauchy_good_general_coding_matrix

Wodurch entsteht der Fehler?

Mindstream
 
Zuletzt bearbeitet:
{{{#!code bash
../lib/libJerasure.jni.so.0: $(OBJS)
$(CC) -shared -Wl,-soname,libJerasure.jni.s0.0 \
-o ../lib/libJerasure.jni.so.0 $(OBJS) -Wl,-L../lib -Wl,-lJerasure
}}}
Das linken mit der vorher erstellten shared library "-Wl,-L../lib -Wl,-lJerasure" hat im Makefile gefehlt.
 

Zurück
Oben