Изменение конкретной общей библиотеки исполняемого файла linux

Я создаю приложение для android на сервере на базе GNU / Linux, и aapt жалуется, что lib / libz.Итак.1 устарело:

/lib/libz.so.1: no version information available (required by .../aapt)

Я определил проблему и пытаюсь жестко связать новую библиотеку zlib с aapt, чтобы она использовала обновленную библиотеку вместо старой libz.Итак.1 => libz.Итак.1.2.3 (потому что я хотел бы избежать перенастройки всех программ, которые используют существующий zlib). К сожалению, /lib и /aapt расположены на отдельных разделах жесткого привод.

каков наилучший способ обойти это? Есть ли простой способ просто заменить, от какой версии libz aapt зависит?

спасибо

27
задан Community
04.04.2023 6:39 Количество просмотров материала 3690
Распечатать страницу

1 ответ

  1. самый простой вариант - поместить правильную версию библиотеки куда-нибудь (куда угодно, отдельно) и установить LD_LIBRARY_PATH переменная среды в этот каталог при выполнении aapt.

  2. поместите правильную версию библиотеки где-нибудь, как выше, но измените "rpath"aapt двоичный файл, чтобы посмотреть там, используя chrpath. См https://stackoverflow.com/questions/13769141/can-i-change-rpath-in-an-already-compiled-binary для более подробная информация.

1
отвечен Jan Hudec 2023-04-05 14:27

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх