Меняем RPATH

Что такое RPATH? Wikipedia:

rpath is a term in programming which refers to a run-time search path hard-coded in an executable file or library, used during dynamic linking to find the libraries the executable or library requires.

Иными словами это жёстко зашито в заголовке бинарника. Можно попробовать поменять в момент запуска:

LD_LIBRARY_PATH=/var/other myprog &

Но это не всегда возможно и не всегда работает. Для постоянного изменения существует специальные утилиты, которые правят сам бинарник.

FreeBSD

В портах есть devel/chrpath

OpenBSD

Можно скачать исходники и скомпиллировать

Linux

Доступен во многих репозиториях пакет chrpath

Solaris

Тут целый набор команд для просмотра, правки не только rpath, но и многих других секций:

elfdump, elfedit, elffile, elfsign, elfwrap

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *