LINUX.ORG.RU

Перенос программы вместе с библитеками

 


1

1

Необходимо из debain перенести mplayer в другой дистрибутив на такой же машине. Получил список зависимых библиотек через ldd, скопировал их в одну кучу, переношу в другой дистрибутив, указываю путь к библиотекам с помощью ld_library_path, но запустить не получается - Segmentation fault. Это проблема конкретно mplayer или так вообще не стоит делать? Может есть какой-то другой способ, создание линков библиотек как вариант рассматривается.

Проще пересобрать из сорцов, чем выяснять, где там конкретно segfault. Это же не какая-нибудь opera проприетарная.

Deleted
()

Для схожей задачи я применял patchELF: https://nixos.org/patchelf.html

Я скопировал все нужные либы вплоть до libc и с помощью вышеуказанной программы заменил в бинарнике пути до них на актуальные в новой системе (я сложил в /opt/$program).

ArkaDOSik ★★
()
Ответ на: комментарий от Deleted

Хорошо, соберу, но что мне это даст? Есть какой-нибудь вариант что бы на этапе сборки зависимы библиотеки собирались в одну кучу и приложение работало только с ними?

aliftin
() автор топика
Ответ на: комментарий от aliftin

Есть какой-нибудь вариант что бы на этапе сборки зависимы библиотеки собирались в одну кучу и приложение работало только с ними?

Статическая линковка и применение musl вместо glibc (потому что с glibc полностью статическая линковка затруднена) - самый радикальный и самый надежный вариант.

Если менее радикально, то надо копать в сторону наработок по сборке кода под appimage и zeroinstall – там и линковка динамическая, и среда запуска в целом почти непредсказуема.

Deleted
()
Последнее исправление: Deleted (всего исправлений: 1)
Ответ на: комментарий от Deleted

Первый раз я пробовал перенести, создав каталог в /lib и линкуя библиотеки, исходя из ошибок которые были при запуске mplayer. Почти 200 раз. Проблема оказалась в том что в debian у меня была glibc 2.7, а в той системе куда переносил 2.4. Было очень обидно.

aliftin
() автор топика
Ответ на: комментарий от Deleted

appimage и zeroinstall

Звучит неплохо, но они для 32и64, а я пытаюсь это все провернуть на raspberry pi. Есть какие-то кросплатформенные варианты?

aliftin
() автор топика
Ответ на: комментарий от aliftin

я пытаюсь это все провернуть на raspberry pi.

зачем это написал? это же третьестепенные подробности, они не нужны. пусть прокачивают свой astral.so , а то дают советы не по теме.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.