Erreur lors du chargement des bibliothèques partagées; ne peut pas ouvrir le fichier object partagé: Pas de tel fichier ou répertoire

J’ai un problème lors du chargement des bibliothèques partagées (JNI) à partir de la classe java sur le système opérateur Ubuntu

Exception in thread "main" java.lang.UnsatisfiedLinkError: /opt/ETcpsdk/lib/linux-x86_64/libjcryptoki.so: libcryptoki.so: cannot open shared object file: No such file or directory at java.lang.ClassLoader$NativeLibrary.load(Native Method) at java.lang.ClassLoader.loadLibrary1(ClassLoader.java:1965) at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1890) at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1880) at java.lang.Runtime.loadLibrary0(Runtime.java:849) at java.lang.System.loadLibrary(System.java:1088) at tutorialjni.Test.(Test.java:7) 

– Test.java

 package tutorialjni; public class Test { // Load an external library, called "jcryptoki" static { System.loadLibrary("jcryptoki"); } public static void main(Ssortingng[] args) { System.out.println(System.getProperty("java.library.path")); } } 

– LD_LIBRARY_PATH a été alloué dans / etc / environment

 PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games" JAVA_HOME="/opt/jdk1.7.0_75" LD_LIBRARY_PATH="/opt/ETcpsdk/lib/linux-x86_64:/opt/ETcpsdk/lib/" 

Et je possède un dossier ETcpsdk.

  • libcryptoki.so dans /opt/ETcpsdk/lib/linux-x86_64/libcryptoki.so

  • Exécuter la commande libcryptoki.so

    libjcryptoki.so: object partagé LSF 64 bits ELF, x86-64, version 1 (SYSV), lié dynamicment, non dénudé

– Version JDK:

 java version "1.7.0_75" Java(TM) SE Runtime Environment (build 1.7.0_75-b13) Java HotSpot(TM) 64-Bit Server VM (build 24.75-b04, mixed mode) 

– Ubuntu:

 Dissortingbutor ID: Ubuntu Description: Ubuntu 14.04.2 LTS Release: 14.04 Codename: trusty 

J’ai ajouté le répertoire de la bibliothèque au cache ldconfig

Pouvez-vous m’aider?

J’ai ce problème car mes bibliothèques partagées dépendent d’une autre bibliothèque partagée qui fonctionne de manière incorrecte.