Недавно, я был в компиляцию программного обеспечения и распределение его. В прошлый раз, когда я сделал это, я сделал так путем создания моей программы и выполнения ldd на нем для получения всех библиотек, против которых это было связано. Я добрался, путь библиотеки (как говорят /lib/x86_64-linux-gnu/libc.so.6
) и я скопировал и вставил его от своей системы. Это работало отлично, но вручную копирование и вставка каждой библиотеки казались повторяющимися. Есть ли способ, которым я могу просто получить список путей к одним только библиотекам (безо всего из libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f1dc3333000)
) таким образом, я могу скопировать их и распределить их с моей сборкой?
В той точке Вы в основном создаете tarball из всего дистрибутива Linux. В зависимости от библиотек Вы связываетесь с, просто включая саму динамическую библиотеку может не быть достаточно (некоторые библиотеки зависят от сменных модулей и других внешних файлов, которые не установлены в тех же местоположениях, как те же версии, через все дистрибутивы Linux).
существует несколько опций иметь дело с этими различиями:
Мне выяснили его (главным образом).
Позволяют нам предположить, что программа, я создал это, я планирую распределить, расположен в/bin/bash. Я мог создать новый каталог и выполнить следующую команду: cp $(ldd /bin/bash) ./
Это даст некоторые сообщения об ошибках, но они могут быть проигнорированы.