PDA

Просмотр полной версии : Проблема с *.so библиотеками


faust45
22.12.2006, 17:45
Люди вот такая значит трабла у меня

Пытаюсь я запустить на Linux JProfiler


а мне ошибку выдает
Error occurred during initialization of VM
Could not find -Xrun library: libjprofileri.so

В скрипте запуска проги есть такое
export LD_LIBRARY_PATH=/*/jprofiler4/bin/linux-x86/
но после того как етот скрипт отрабатывает я делаю
echo $LD_LIBRARY_PATH
а оно мне выводит пустую строку
Не понимаю как так?


Но я пробывал из командной строки выполнить
команду export LD_LIBRARY_PATH=/*/jprofiler4/bin/linux-x86/
после етого конечно
echo $LD_LIBRARY_PATH
выводит то что надо но библиотеки *.so всёравно не находит
Error occurred during initialization of VM
Could not find -Xrun library: libjprofileri.so

Причем на другой машине там всё работает
А на етой система Lineox Enterprise Linux release 3 (Taroon Update 7) стоит


Подскажите пожалуйста есле кто знает в чем дело
Заранее благодарен.

faust45
22.12.2006, 18:29
Блин толька сейчас понял что библиотеки libjprofileri.so нет и в помини
Но её помоему и недолжно быть Так как на другом компе всё работает и без неё

Не знаю что и думать блин

Lombardo
29.12.2006, 18:49
В скрипте запуска проги есть такое
export LD_LIBRARY_PATH=/*/jprofiler4/bin/linux-x86/
но после того как етот скрипт отрабатывает я делаю
echo $LD_LIBRARY_PATH
а оно мне выводит пустую строку
Не понимаю как так?


Оч просто.

dmitry@Dmitry:~> echo 'export I=1 && echo $I' > I.sh
dmitry@Dmitry:~> sh I.sh
1
dmitry@Dmitry:~> echo $I

dmitry@Dmitry:~> . I.sh
1
dmitry@Dmitry:~> echo $I
1
dmitry@Dmitry:~>


Дело в том, что когда ты запускаеш очередной баш-процесс командой (например)
dmitry@Dmitry:~> sh скрипт
то система создает дочерний процесс sh и окружение для работы этого процесса, создается так называемая "песочница", в процессе работы скрипта переменные экспортируются в эту "песочницу", после работы окончания работы дочернего процесса эта паямять очищается. Все переменные, созданые во время его работы - удаляются.

Когда мы запускаем скрпит так:
dmitry@Dmitry:~> . I.sh
то мы его запускаем на исполнение в _текущем_ процессе сшелла, и дочерний процесс не создается, все переменные экспортируются в текущую оболочку:
dmitry@Dmitry:~> . I.sh
1
dmitry@Dmitry:~> echo $I
1
dmitry@Dmitry:~>

Lombardo
29.12.2006, 19:00
Но я пробывал из командной строки выполнить
команду export LD_LIBRARY_PATH=/*/jprofiler4/bin/linux-x86/
после етого конечно
echo $LD_LIBRARY_PATH
выводит то что надо но библиотеки *.so всёравно не находит
Error occurred during initialization of VM
Could not find -Xrun library: libjprofileri.so

Причем на другой машине там всё работает
А на етой система Lineox Enterprise Linux release 3 (Taroon Update 7) стоит


Подскажите пожалуйста есле кто знает в чем дело
Заранее благодарен.

Поставь себе нормальный дистрибутив и не трать зря время. ;) Проблема скорее всего в неправильном пути к этим самым *.so :) или в их отсутствии. Обнови кеш линкера командой ldconfig, затем глянь есть ли эти библеотеки в кеше - ldconfig -p | grep libjprofileri. Если нету, то установи эти библеотеки, затем сново пройди всю очередность описаных мной действий.

faust45
04.01.2007, 11:51
Спасибо!