IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Java Discussion :

java.lang.UnsatisfiedLinkError: Can't find dependent libraries


Sujet :

Java

  1. #1
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Avril 2006
    Messages
    133
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2006
    Messages : 133
    Points : 101
    Points
    101
    Par défaut java.lang.UnsatisfiedLinkError: Can't find dependent libraries
    Bonjour à tous,

    la discussion qui me précède (prolog jpl java) traite de ce sujet mais je me suis dit que ce n'est pas exactement la même exception alors je vais en ouvrir une nouvelle. j'espère que je n'ai pas mal agit. j'arrive pas à corriger à cette exception. Ils disent de vérifier le path et les .dll. choses que j'ai faite mais que néni!

  2. #2
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    un peu plus de détails sur ton erreur ne serait pas superflu (stacktrace, qu'est-ce que tu essaie de lancer, quelle librairies jni tu utilise, éventuellement, ...)

  3. #3
    Membre chevronné
    Avatar de CheryBen
    Inscrit en
    Mai 2005
    Messages
    1 599
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Mai 2005
    Messages : 1 599
    Points : 2 197
    Points
    2 197
    Par défaut
    Bonjour, tu dois avoir quelque part dans ton code (ou dans une librairie utilisée par ton code) un System.loadLibrary("toto.dll") cette librairie n'est pas dans ton classpath

  4. #4
    Membre expert
    Avatar de natha
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    2 346
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2006
    Messages : 2 346
    Points : 3 083
    Points
    3 083
    Par défaut
    Citation Envoyé par morph41 Voir le message
    cette librairie n'est pas dans ton classpath
    Pas dans son library path plutôt. C'est un peu différent.
    Comment ça ? La réponse à ton problème n'est ni dans la faq, ni dans les tutos, ni dans sources ??? Etonnant...
    De la bonne manière de poser une question (et de répondre).
    Je ne fais pas de service par MP. Merci (...de lire les règles...).
    Ma page dvp.com

  5. #5
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Avril 2006
    Messages
    133
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2006
    Messages : 133
    Points : 101
    Points
    101
    Par défaut
    j'ai modifié le path, j'ai mis les .dll dans le dossier c:\Windows\system32 et ça ne marche pas. j'ai même modifier la variable java.library.path (ici) mais tjs rien il y a cette maudite exception
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Exception in thread "main" java.lang.UnsatisfiedLinkError: C:\WINDOWS\system32\jpl.dll: Can't find dependent libraries
            at java.lang.ClassLoader$NativeLibrary.load(Native Method)
            at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1751)
            at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1676)
            at java.lang.Runtime.loadLibrary0(Runtime.java:822)
            at java.lang.System.loadLibrary(System.java:993)
            at jpl.fli.Prolog.<clinit>(Prolog.java:82)
            at jpl.Query.open(Query.java:283)
            at jpl.Util.textToTerm(Util.java:162)
            at jpl.Query.Query1(Query.java:183)
            at jpl.Query.<init>(Query.java:176)

  6. #6
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Avril 2006
    Messages
    133
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2006
    Messages : 133
    Points : 101
    Points
    101
    Par défaut
    Envoyé par morph41 : Bonjour, tu dois avoir quelque part dans ton code (ou dans une librairie utilisée par ton code) un System.loadLibrary("toto.dll")
    il n'y a aucun system.loadLibrary("toto.dll") dans mon code
    en fait j'essaye tout simplement de faire marcher jpl sur mon pc. j'y arrive pas.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    import java.lang.*;
    import jpl.*;
    import java.io.*;
    public class aaa
    {
        public static void main (String[] args)
        {
     
        Query q1 = new Query("consult",new Term[] {new Atom("test.pl")});
            System.out.println( "consult " + (q1.query() ? "succeeded" : "failed"));
            }
     
     
     
     }
    De jpl--->java ça marche (il y a des exemples quand on installe swi-prolog, j'ai essayé ça marche)
    De Java--->jpl ça marche pas
    Donc c'est un problème au niveau java
    Merci pour votre aide à tous.

  7. #7
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Avril 2006
    Messages
    133
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2006
    Messages : 133
    Points : 101
    Points
    101
    Par défaut
    j'ai ajouté un System.loadLibrary("jpl.dll");
    voilà la trace :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Exception in thread "main" java.lang.UnsatisfiedLinkError: no jpl.dll in java.library.path
            at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1682)
            at java.lang.Runtime.loadLibrary0(Runtime.java:822)
            at java.lang.System.loadLibrary(System.java:993)
            at aaa.main(aaa.java:8)

  8. #8
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Avril 2006
    Messages
    133
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2006
    Messages : 133
    Points : 101
    Points
    101
    Par défaut
    J'ai trouvé

    oublions le System.loadLibrary("jpl".dll);

    en fait il fallait placer les fichiers libpl.dll et jpl.dll non pas dans le c:\windows\system32 mais dans
    C:\Archive _de_programme\Java\jdk\bin en l'occurence pour moi c'est C:\Program Files\Java\jdk1.5.0_11\bin

    Dire que j'ai trouvé la solution dans un doc en espagnol et que j'y connais rien en espagnol. C'est pour dire que l'informatique est un langage universel

    merci à tous. j'espère que ce topic en aidera beaucoup d'autres. Sur le site de swi-prolog pour l'installation des *.dll ils disent que ça doit se faire je cite
    * if the Java examples complain that
    The dynamic link library libpl.dll could not be found in the specified path
    or
    Exception in thread "main" java.lang.UnsatisfiedLinkError: C:\paul\bin\jpl.dll: Can't find dependent libraries
    then there is no SWI-Prolog library libpl.dll in any folder on your PATH: you should have a PATH entry such as C:\Program Files\pl\bin
    et encore

  9. #9
    Candidat au Club
    Inscrit en
    Février 2011
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Février 2011
    Messages : 4
    Points : 3
    Points
    3
    Par défaut help
    Salut, je veux utilisé la librairie Jusb. J'ai le même message d'erreur que toi. soit en mettant le jusb dans C:\Windows\System32 ou C:\Users\Salifukayta\Downloads\JUSB\JavaUSB\JavaSources

    Exception in thread "main" java.lang.UnsatisfiedLinkError: C:\Program Files\Java\jdk1.6.0_26\bin\jusb.dll: Can't find dependent libraries
    at java.lang.ClassLoader$NativeLibrary.load(Native Method)
    at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1807)
    at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1732)
    at java.lang.Runtime.loadLibrary0(Runtime.java:823)
    at java.lang.System.loadLibrary(System.java:1028)
    at usb.windows.Windows.getHost(Windows.java:93)
    at usb.windows.Windows.createHost(Windows.java:79)
    at usb.core.HostFactory.maybeGetHost(HostFactory.java:98)
    at usb.core.HostFactory.getHost(HostFactory.java:80)
    at RunUSBControllerTest.main(RunUSBControllerTest.java:31)

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Erreur "archive .jar : dll can't find dependent libraries"
    Par Guilbert69 dans le forum Eclipse Java
    Réponses: 2
    Dernier message: 10/04/2013, 00h24
  2. [JNI] can't find dependant libraries
    Par ManusDei dans le forum Entrée/Sortie
    Réponses: 2
    Dernier message: 12/01/2012, 20h44
  3. Can't find dependent libraries
    Par Micke7 dans le forum Langage
    Réponses: 7
    Dernier message: 08/04/2010, 15h31
  4. Réponses: 1
    Dernier message: 12/09/2007, 10h47

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo