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


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

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

Оффлайн kmk

  • Автор темы
  • Активист
  • *
  • Сообщений: 624
    • Просмотр профиля
Пробую установить 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

  • Гость
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

  • Автор темы
  • Активист
  • *
  • Сообщений: 624
    • Просмотр профиля
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

  • Старожил
  • *
  • Сообщений: 2121
  • Ubuntu Mate 22.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

  • Гость
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

  • Автор темы
  • Активист
  • *
  • Сообщений: 624
    • Просмотр профиля
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

  • Старожил
  • *
  • Сообщений: 2121
  • Ubuntu Mate 22.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

  • Автор темы
  • Активист
  • *
  • Сообщений: 624
    • Просмотр профиля
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.031 секунд. Запросов: 23.