java.lang.UnsatisfiedLinkError, я не могу ее решить - PullRequest
2 голосов
/ 11 января 2011

Я пытаюсь настроить программу, которая использует Java и OpenCL. Я использую привязки JOCL для этого. Вот ошибка, которую я получаю при сборке из Ant:

    Error while loading native library "JOCL-linux-x86_64" with base name "JOCL"
Operating system name: Linux
Architecture         : amd64
Architecture bit size: 64
Stack trace:
java.lang.UnsatisfiedLinkError: no JOCL-linux-x86_64 in java.library.path
    at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1734)
    at java.lang.Runtime.loadLibrary0(Runtime.java:823)
    ...
    ...

Вот мои настройки .bashrc:

export PATH=.:/bin:/usr/bin:/usr/local/bin://home/djkashta/Desktop/bp-trunk/app/BlueprintCore/scripts:/usr/java/jdk1.6.0_23/bin

export LD_LIBRARY_PATH=/usr/local/cuda/lib:/usr/local/cuda/lib64:/usr/lib:/usr/local/lib:/usr/local/cuda/computeprof/bin:/home/djkashta/Desktop/bp-trunk/bundles/CopperShark/native/linux/2.6.28/x86_64/:/usr/java:/usr/java/jdk1.6.0_23/bin/java:/usr/java/jdk1.6.0_23:/usr/java/jdk1.6.0_23/bin:/usr/lib/jvm</p> <p><code>export LD_PRELOAD=/usr/java/jdk1.6.0_23/jre/lib/amd64/libjsig.so

export JDK_HOME=/usr/java/jdk1.6.0_23

export JAVA_HOME=/usr/java/jdk1.6.0_23 export ANT_HOME=/opt/apache-ant-1.7.1

Я не понимаю, почему у меня такая проблема. Я не получаю это на моей машине с Ubuntu, которая настроена так же, как эта машина RedHat. LibJOCL-linux-x86_64.so присутствует в одном из LD_LIBRARY_PATH ' Если я сделаю какую Java, я получу:

Есть идеи? Я застрял ...

1 Ответ

3 голосов
/ 11 января 2011

LD_LIBRARY_PATH и java.library.path не совпадают, хотя они и похожи. В командной строке установите -Djava.library.path в место, где находится ваша библиотека.

или, даже - System.out.println (System.getProperty ("java.library.path")) непосредственно перед загрузкой библиотеки - чтобы узнать, что, по ее мнению, путь ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...