У цій статті я поділюся з Вами інформацією про те, як запустити додаток з певними бібліотеками.
Припустимо у Вас є додаток, яке було скомпільовано під 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:
Якщо всі необхідні бібліотеки присутні - додаток запуститься.