Форум русскоязычного сообщества Ubuntu


Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!

Автор Тема: [РЕШЕНО] error while loading shared libraries: libdouble-conversion.so.3  (Прочитано 156 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн kmk

  • Автор темы
  • Активист
  • *
  • Сообщений: 461
    • Просмотр профиля
Пробую установить edb-debugger. Это линукс-аналог известного виндового дебаггера OllyDbg.

Сначала установил его, игнорируя ошибки компилятора, который ругался на отсутствие некоторых библиотек. После установки программа работала, но была недоступна часть ее основных функций, что, естественно, меня устроить не могло.

Поэтому были установлены (скомпилированы вручную) недостающие gdtoa-desktop и double-conversion.

Теперь edb-debugger компилировался без ошибок. Однако при попытке запустить программу, выдается ошибка:

edb: error while loading shared libraries: libdouble-conversion.so.3: cannot open shared object file: No such file or directory


Тоесть edb не находит библиотеки libdouble-conversion.so.3. Но она есть.

Файлы libdouble-conversion.so.3 и libdouble-conversion.so.3.1.1 находятся по адресу /usr/local/lib.

Попробовал скопировать их в папку /usr/local/lib/edb/, но это ни к чему ни привело.

Погуглил, но ничего подобного не нашел.

Может быть у кого-нибудь есть идеи как это побороть?

Заранее спасибо.

« Последнее редактирование: 10 Январь 2019, 21:31:32 от kmk »

Оффлайн alang

  • Старожил
  • *
  • Сообщений: 2563
    • Просмотр профиля
Re: error while loading shared libraries: libdouble-conversion.so.3
« Ответ #1 : 10 Январь 2019, 16:59:49 »
Файлы libdouble-conversion.so.3 и libdouble-conversion.so.3.1.1 находятся по адресу /usr/local/lib

А какого черта они там делают?
Ну, или так: ты системе объяснил, что они там?
Попробуй "волшебную" команду

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
а потом запускай.

А вообще, при сборке install prefix надо было указывать /usr.
Я никого не сторожил!

Оффлайн kmk

  • Автор темы
  • Активист
  • *
  • Сообщений: 461
    • Просмотр профиля
Re: error while loading shared libraries: libdouble-conversion.so.3
« Ответ #2 : 10 Январь 2019, 17:40:53 »
А какого черта они там делают?

В ридми double-conversion написано следующее:

cmake . -DBUILD_SHARED_LIBS=ON
make
sudo make install

И ни слова про install prefix.

А как одновременно указать cmake?:
cmake . -DBUILD_SHARED_LIBS=ON
cmake -DCMAKE_INSTALL_PREFIX=/usr/ ..
Поправьте, если что не так.

P.S. edb устанавливал в:
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/ ..

Оффлайн ecc83

  • Старожил
  • *
  • Сообщений: 1667
  • Lubuntu 16.04 LTS
    • Просмотр профиля
Re: error while loading shared libraries: libdouble-conversion.so.3
« Ответ #3 : 10 Январь 2019, 18:33:24 »
P.S. edb устанавливал в: Код: [Выделить] cmake -DCMAKE_INSTALL_PREFIX=/usr/local/ ..

А нужно было устанавливать в :

cmake -DCMAKE_INSTALL_PREFIX=/usr
Можно попробовать создать симлинки на эти библиотеки в /usr/lib

или как сказали выше, указать переменную LD_LIBRARY_PATH.

Оффлайн alang

  • Старожил
  • *
  • Сообщений: 2563
    • Просмотр профиля
Re: error while loading shared libraries: libdouble-conversion.so.3
« Ответ #4 : 10 Январь 2019, 19:49:57 »
А как одновременно указать cmake?:

Подряд.

В ридми double-conversion написано следующее:

Код: [Выделить]
cmake . -DBUILD_SHARED_LIBS=ON
make
sudo make install

И ни слова про install prefix.

Что-то я там такого в упор не вижу. Вижу только это:

$ mkdir build
$ cd build
$ cmake ..
$ make
$ ./edb

С припиской ниже (перевод мой):

Если хотите нажить себе головную боль, поступайте следующим образом:

$ mkdir build
$ cd build
$ cmake -DCMAKE_INSTALL_PREFIX=/usr/local/ ..
$ make
$ make install
$ edb

В общем, ты меня утомил. Нужна тебе программа - разберешься, как ее ставить и запускать. Не разберешься - значит, мал ты еще из исходников компилировать.
Я никого не сторожил!

Оффлайн kmk

  • Автор темы
  • Активист
  • *
  • Сообщений: 461
    • Просмотр профиля
Re: error while loading shared libraries: libdouble-conversion.so.3
« Ответ #5 : 10 Январь 2019, 20:36:09 »
P.S. edb устанавливал в: Код: [Выделить] cmake -DCMAKE_INSTALL_PREFIX=/usr/local/ ..

А нужно было устанавливать в :

cmake -DCMAKE_INSTALL_PREFIX=/usr
Можно попробовать создать симлинки на эти библиотеки в /usr/lib

или как сказали выше, указать переменную LD_LIBRARY_PATH.

/usr/local/ я скопипастил с ридми edb-debugger. Там был рекомендован именно этот путь.

Что касается симлинков на библиотеки double-conversion, их сделать быстро и просто, но это уже исправление неправильно установленного. Сначала я хочу попытаться правильно перекомпилировать, чтобы все изначально устанавливалось правильно.

А по переменной LD_LIBRARY_PATH я не совсем понимаю. Не будет ли после этого система искать все мои библиотеки в /usr/local/lib вместо /usr/lib?

Спасибо за ответ!

Пользователь добавил сообщение 10 Январь 2019, 20:54:29:

Подряд.

Подряд это как?

cmake . -DBUILD_SHARED_LIBS=ON && cmake -DCMAKE_INSTALL_PREFIX=/usr/ ..или
cmake . -DBUILD_SHARED_LIBS=ON -DCMAKE_INSTALL_PREFIX=/usr/ ..или как-то еще?

Что-то я там такого в упор не вижу. Вижу только это:

Не видите потому, что я говорю про ридми double-conversion, а вы про ридми edb-debugger.

С припиской ниже (перевод мой):

Если хотите нажить себе головную боль, поступайте следующим образом:

Вы предлагаете мне установить в текущую папку и каждый раз запускать программу из нее? Правильный перевод звучит следующим образом:

"Если вы хотите правильно установить edb в системе для всех пользователей, это немного отличается:"

Именно так я и сделал.

В общем, ты меня утомил. Нужна тебе программа - разберешься, как ее ставить и запускать. Не разберешься - значит, мал ты еще из исходников компилировать.

А это уже некрасивое поведение. Вас никто не заставляет мне отвечать. Форум существует исключительно на добровольной помощи.
« Последнее редактирование: 10 Январь 2019, 20:54:29 от kmk »

Оффлайн ecc83

  • Старожил
  • *
  • Сообщений: 1667
  • Lubuntu 16.04 LTS
    • Просмотр профиля
Re: error while loading shared libraries: libdouble-conversion.so.3
« Ответ #6 : 10 Январь 2019, 21:09:41 »
А по переменной LD_LIBRARY_PATH я не совсем понимаю. Не будет ли после этого система искать все мои библиотеки в /usr/local/lib вместо /usr/lib?

Почему "вместо"? В переменной указываете все каталоги, в которой нужно искать.

Например:

export LD_LIBRARY_PATH=/usr/lib:/usr/local/lib

Оффлайн kmk

  • Автор темы
  • Активист
  • *
  • Сообщений: 461
    • Просмотр профиля
Re: error while loading shared libraries: libdouble-conversion.so.3
« Ответ #7 : 10 Январь 2019, 21:29:30 »
Установил так:
cmake . -DBUILD_SHARED_LIBS=ON -DCMAKE_INSTALL_PREFIX=/usr/ .
Теперь библиотеки double-conversion установились куда нужно:



Теперь при попытке запустить пишет:
edb: error while loading shared libraries: libgdtoa-desktop.so: cannot open shared object file: No such file or directory


Но это, по аналогии, легко исправлю. Спасибо всем участникам за помощь!

Почему "вместо"? В переменной указываете все каталоги, в которой нужно искать.

Большое спасибо! Разобрался.

 

Страница сгенерирована за 0.062 секунд. Запросов: 24.