loadLibrary: или я дурак или одно из двух....
От: Аноним  
Дата: 05.12.06 13:44
Оценка:
        try{
             System.loadLibrary("jsmb");
        }
         catch (java.lang.UnsatisfiedLinkError e){
             System.out.println (e);
                Properties prop = System.getProperties();
                String vals = prop.getProperty("java.library.path");
                System.out.println (vals);
          }


Под виндузой все ок. Под пингвином маразм повный. Когда вылетает с эксепшином, то выводится путь. Естествено /usr/lib присутствует.

И еще если загружать таким макаром:
        try{
             System.load("/usr/lib/libjsmb.so");
        }

То все чудненько работает.
Беру эту статейку: http://java.sun.com/developer/onlineTraining/Programming/JDCBook/jniexamp.html
И ничего особенного ненахожу. Все как у меня. Только названия другие.
Re: loadLibrary: или я дурак или одно из двух....
От: tfox  
Дата: 05.12.06 15:30
Оценка: -1
Действуй методом "подобия"
1. идем в каталог гле у тебя java
2. смотрим, где у нее so файлики валяются
3. ложим туда-же
Re: loadLibrary: или я дурак или одно из двух....
От: DrZubr Беларусь  
Дата: 05.12.06 15:42
Оценка:
Как именно устанавливаешь java.library.path?
... << RSDN@Home 1.2.0 alpha rev. 655>>
ICQ [168117153]
Re[2]: loadLibrary: или я дурак или одно из двух....
От: Аноним  
Дата: 05.12.06 15:55
Оценка:
Здравствуйте, DrZubr, Вы писали:

DZ>Как именно устанавливаешь java.library.path?


Пробывал так:
            String vals = prop.getProperty("java.library.path");
            vals += ":/usr/lib";
            prop.setProperty("java.library.path", vals);
            System.setProperties(prop);

Но толку, как от козла молока.
Re[2]: loadLibrary: или я дурак или одно из двух....
От: Аноним  
Дата: 05.12.06 16:27
Оценка:
Здравствуйте, tfox, Вы писали:

T>Действуй методом "подобия"

T>1. идем в каталог гле у тебя java
T>2. смотрим, где у нее so файлики валяются
T>3. ложим туда-же

Так работает, но это изврат полный.
Меня устраивает 2 варианта: или в текущей, или на крайняк с /usr/lib
Re[3]: loadLibrary: или я дурак или одно из двух....
От: DrZubr Беларусь  
Дата: 05.12.06 16:42
Оценка:
Здравствуйте, <Аноним>, Вы писали:

А>Здравствуйте, DrZubr, Вы писали:


DZ>>Как именно устанавливаешь java.library.path?


А>Пробывал так:

А>
А>            String vals = prop.getProperty("java.library.path");
А>            vals += ":/usr/lib";
А>            prop.setProperty("java.library.path", vals);
А>            System.setProperties(prop);
А>

А>Но толку, как от козла молока.

Ну так надо ж наверно так:

java -Djava.library.path=...

ну или примерно так как в том же туториале, на который ты ссылался.
... << RSDN@Home 1.2.0 alpha rev. 655>>
ICQ [168117153]
Re[2]: loadLibrary: или я дурак или одно из двух....
От: DrZubr Беларусь  
Дата: 05.12.06 16:44
Оценка:
Здравствуйте, tfox, Вы писали:

T>Действуй методом "подобия"

T>1. идем в каталог гле у тебя java
T>2. смотрим, где у нее so файлики валяются
T>3. ложим туда-же

ИМХО, не вариант.
... << RSDN@Home 1.2.0 alpha rev. 655>>
ICQ [168117153]
Re[4]: loadLibrary: или я дурак или одно из двух....
От: Аноним  
Дата: 05.12.06 17:08
Оценка:
Здравствуйте, DrZubr, Вы писали:

DZ>Ну так надо ж наверно так:

DZ>java -Djava.library.path=...
DZ>ну или примерно так как в том же туториале, на который ты ссылался.

Таким макаром работает. Но вопрос почему, не заработало когда я это делаю в самой программе? По сути этоодно и тоже? Но...
Re[5]: loadLibrary: или я дурак или одно из двух....
От: Trean Беларусь http://axamit.com/
Дата: 05.12.06 17:35
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Здравствуйте, DrZubr, Вы писали:


DZ>>Ну так надо ж наверно так:

DZ>>java -Djava.library.path=...
DZ>>ну или примерно так как в том же туториале, на который ты ссылался.

А>Таким макаром работает. Но вопрос почему, не заработало когда я это делаю в самой программе? По сути этоодно и тоже? Но...



http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4280189

Sorry, this just isn't supposed to work that way. Like most System properties,
java.library.path is intended to be read-only. We need to document this better.

Re[5]: loadLibrary: или я дурак или одно из двух....
От: DrZubr Беларусь  
Дата: 05.12.06 17:44
Оценка:
Здравствуйте, <Аноним>, Вы писали:

А>Таким макаром работает. Но вопрос почему, не заработало когда я это делаю в самой программе? По сути этоодно и тоже? Но...


Совсем не ожно и то же. Если заглянуть в исходники java.lang.ClassLoader, то можно увидеть, что java.library.path инициализируется только один раз.
... << RSDN@Home 1.2.0 alpha rev. 655>>
ICQ [168117153]
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.