Проблема с *.so библиотеками

Discussion in 'Безопасность и Анонимность' started by faust45, 22 Dec 2006.

  1. faust45

    faust45 Member

    Joined:
    2 Mar 2006
    Messages:
    42
    Likes Received:
    7
    Reputations:
    -5
    Люди вот такая значит трабла у меня

    Пытаюсь я запустить на 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) стоит


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

    faust45 Member

    Joined:
    2 Mar 2006
    Messages:
    42
    Likes Received:
    7
    Reputations:
    -5
    Блин толька сейчас понял что библиотеки libjprofileri.so нет и в помини
    Но её помоему и недолжно быть Так как на другом компе всё работает и без неё

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

    Lombardo New Member

    Joined:
    18 Nov 2006
    Messages:
    12
    Likes Received:
    1
    Reputations:
    0
    Оч просто.

    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:~>
     
  4. Lombardo

    Lombardo New Member

    Joined:
    18 Nov 2006
    Messages:
    12
    Likes Received:
    1
    Reputations:
    0
    Поставь себе нормальный дистрибутив и не трать зря время. ;) Проблема скорее всего в неправильном пути к этим самым *.so :) или в их отсутствии. Обнови кеш линкера командой ldconfig, затем глянь есть ли эти библеотеки в кеше - ldconfig -p | grep libjprofileri. Если нету, то установи эти библеотеки, затем сново пройди всю очередность описаных мной действий.
     
  5. faust45

    faust45 Member

    Joined:
    2 Mar 2006
    Messages:
    42
    Likes Received:
    7
    Reputations:
    -5
    Спасибо!