Parsley: невозможно запустить инструмент командной строки после его сборки. Ошибка при загрузке разделяемых библиотек: libparsley.so.0

Я начинаю работу с Parsley (parslets.com), интересным инструментом для анализа данных с веб-страниц.

http://parselets.com/dev/command_line

Я скачал исходный код, собрал его, и теперь я не могу его запустить:

parsley: error while loading shared libraries: libparsley.so.0: cannot open shared object file: No such file or directory

Я немного новичок в * nix, поэтому я застрял на этом ... вот что я сделал:

  1. Я использую Ubuntu 9.04 64bit.
  2. я скачал исходник
  3. Я запустил «sudo ./configure» и при необходимости установил зависимости (используя apt-get).
  4. Я запустил "сделать установку"
  5. Я попытался запустить петрушку, набрав "петрушка"

Любые идеи? благодаря.

  • Алекс

person Alex Black    schedule 23.09.2009    source источник
comment
Я хотел бы ответить на это, но я буду бороться с этим и предложу вместо этого перейти на суперпользователя - если это можно сделать.   -  person P Shved    schedule 24.09.2009
comment
миграция звучит нормально, если это лучшее место для этого   -  person Alex Black    schedule 24.09.2009


Ответы (3)


Проблема, кажется, ушла, или, по крайней мере, я не могу сказать, что я что-то делал, чтобы исправить это, но это больше не происходит. Мое единственное предположение (хватаясь за соломинку) заключается в том, что когда я вчера установил предлагаемые обновления для Ubuntu, что-то изменилось или было исправлено, что повлияло на это.

Обновление: оказывается, мне нужно было запустить:

sudo ldconfig

Что, должно быть, произошло, так это обновление моей системы, которое запустило это для меня.

person Alex Black    schedule 25.09.2009
comment
Я только что столкнулся с этой проблемой, и это сработало для меня (Ubuntu 10.10 x86_64) - person Tim McNamara; 14.11.2010

Похоже, что этот файл должен быть скомпилирован из исходного кода, который у вас есть. Вы должны ввести «make» перед «sudo make install». Он скомпилирует файл parsley.c в parsley.so.0.

person sohaibafifi    schedule 24.09.2009
comment
Спасибо за предложение, но не повезло. Я набрал «сделать», и, по сути, ничего не нужно было делать. На самом деле make install создал его, в .libs есть libparsley.so.0, который выглядит как символическая ссылка на существующую libparsley.so.0.0.0. - person Alex Black; 25.09.2009
comment
Есть вероятность, что это проблема 32-битной / 64-битной версии? - person Alex Black; 25.09.2009

Что говорит "ldd parsley"? Скорее всего, ldd тоже не находит libparsley.so.0.

Если да, то проблема в том, что "make install" не установил libparsley.so.0 в нужное место. Найдите это правильное место и переместите туда libparsley.so.0 (а также libparsley.so.0.0.0) (я считаю, что в 64-битной Ubuntu /usr/lib32 — правильное место, если libparsley.so.0.0.0 — это 32-битная библиотека, и /usr/lib (или /usr/lib64), если это 64-битная библиотека).

person Employed Russian    schedule 25.09.2009
comment
Проблема решилась сама собой, как ни странно. Вчера у меня тоже решилась еще одна проблема ... Вчера я установил предлагаемые обновления на Ubuntu, может быть, что-то сломанное было исправлено? - person Alex Black; 25.09.2009