ldd – Блог Stafox'a https://stafox.cc О программировании и веб-разработке Thu, 29 Jan 2015 19:40:49 +0000 en-US hourly 1 https://wordpress.org/?v=5.8.2 Linux: запуск приложения с определёнными библиотеками https://stafox.cc/run-application-with-certain-libs/ https://stafox.cc/run-application-with-certain-libs/#respond Thu, 29 Jan 2015 19:40:49 +0000 http://stafox.ru/?p=2375 В этой статье я поделюсь с Вами информацией о том, как запустить приложение с определёнными библиотеками. Зачем это нужно? Предположим у Вас имеется приложение, которое было скомпилировано под Ubuntu 12.04, а Вам необходимо запустить его на Debian Squeeze. При запуске, Вы можете видеть разные сообщения, например, вот это: MyApplication: /lib/libc.so.6: version `GLIBC_2.15′ not found (required

Сообщение Linux: запуск приложения с определёнными библиотеками появились сначала на Блог Stafox'a.

]]>
Linux: запуск приложения с определёнными библиотеками

В этой статье я поделюсь с Вами информацией о том, как запустить приложение с определёнными библиотеками.

Зачем это нужно?

Предположим у Вас имеется приложение, которое было скомпилировано под Ubuntu 12.04, а Вам необходимо запустить его на Debian Squeeze.

При запуске, Вы можете видеть разные сообщения, например, вот это:

MyApplication: /lib/libc.so.6: version `GLIBC_2.15′ not found (required by ./MyApplication)

Которое говорят о том, что нет необходимых библиотек для работы приложения.

Получить список библиотек, которые необходимы для работы приложения можно при помощи команды ldd:

$ ldd MyApplication
libm.so.6 (GLIBC_2.2.5) => /lib/libm.so.6
libc.so.6 (GLIBC_2.3.4) => /lib/libc.so.6
libc.so.6 (GLIBC_2.4) => /lib/libc.so.6
libc.so.6 (GLIBC_2.15) => not found
libc.so.6 (GLIBC_2.2.5) => /lib/libc.so.6

Как видим, не хватает только libc.so.6 (GLIBC_2.15).

Как исправить?

В данном случае скачиваем libc6 и libc6-dev из Ubuntu 12.04 LTS

При помощи команды dpkg извлекаем содержимое deb пакетов в папку (/home/user/libs/, например):

$ dpkg -x libc6-dev_2.15-0ubuntu10.6_amd64.deb /home/user/libs/
$ dpkg -x libc6_2.15-0ubuntu10.6_amd64.deb /home/user/libs/

И запускаем приложение, указав путь к библиотекам при помощи LD_LIBRARY_PATH:

$ LD_LIBRARY_PATH=/home/user/libs/lib/x86_64-linux-gnu/ MyApplication

Если все необходимые библиотеки присутствуют – приложение запустится.

Сообщение Linux: запуск приложения с определёнными библиотеками появились сначала на Блог Stafox'a.

]]>
https://stafox.cc/run-application-with-certain-libs/feed/ 0