В этой статье я поделюсь с Вами информацией о том, как запустить приложение с определёнными библиотеками.
Зачем это нужно?
Предположим у Вас имеется приложение, которое было скомпилировано под Ubuntu 12.04, а Вам необходимо запустить его на Debian Squeeze.
При запуске, Вы можете видеть разные сообщения, например, вот это:
Которое говорят о том, что нет необходимых библиотек для работы приложения.
Получить список библиотек, которые необходимы для работы приложения можно при помощи команды ldd:
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_2.15-0ubuntu10.6_amd64.deb /home/user/libs/
И запускаем приложение, указав путь к библиотекам при помощи LD_LIBRARY_PATH:
Если все необходимые библиотеки присутствуют — приложение запустится.