В моей Linux Mint у меня есть исполняемый файл. С ldd в терминале я могу получить зависимости этого исполняемого файла. ldd file При перемещении программы в другой системе она не запускается.Зависимости программ и библиотек установки
LDD файл дает что-то вроде ...
linux-vdso.so.1 => (0x00007ffc2a36d000)
libwx_gtk2u_stc-3.0.so.0 => /usr/lib/x86_64-linux-gnu/libwx_gtk2u_stc-3.0.so.0 (0x00007f2919d55000)
libwx_gtk2u_adv-3.0.so.0 => /usr/lib/x86_64-linux-gnu/libwx_gtk2u_adv-3.0.so.0 (0x00007f291996f000)
libwx_gtk2u_core-3.0.so.0 => /usr/lib/x86_64-linux-gnu/libwx_gtk2u_core-3.0.so.0 (0x00007f29190f5000)
libwx_baseu-3.0.so.0 => /usr/lib/x86_64-linux-gnu/libwx_baseu-3.0.so.0 (0x00007f2918c63000)
libsqlite3.so.0 => /usr/lib/x86_64-linux-gnu/libsqlite3.so.0 (0x00007f291898e000)
...............
Как я могу знать все, что библиотеки и установить только для этого нужно для запуска в другую систему.
Использование objdump -p/path/to/program | grep NEEDED Я могу получить только те библиотеки, которые мне нужны?
Спасибо!
Большое спасибо. Когда я перемещаю программу в другую систему и запускаю многие библиотеки, она запускается. Но эта ОС находится в витруальной машине. Когда программа должна послать на рассылку, она должна работать. Как я должен знать, что я сделал раньше в ОС, если я не отслеживал историю? Там должен быть способ узнать, что whitch libs должен установить в ОС для запуска этой программы. –
Вы можете проверить необходимые библиотеки с помощью ldd, как вы это делали выше. Извините, я не понял другого вопроса. –
Также не могли бы вы прояснить, «программа не работает»? Это может быть связано с разной причиной. –