Когда вы отправляете бинарный файл, хорошо бы предоставить пользователям возможность приспособить бинарный файл к особенностям их собственной системы, в том числе настроить пути поиска в библиотеке.
Пользователь обычно может настроить LD_LIBRARY_PATH
и /etc/ld.so.conf
, оба из которых имеют более низкий приоритет, чем DT_RPATH
, т.е. вы не можете переопределить то, что жестко закодировано в двоичном файле, тогда как если вы используете DT_RUNPATH
вместо этого, пользователь может переопределить его с помощью LD_LIBRARY_PATH
.
(FWIW, я думаю, ld.so.conf
также должен иметь приоритет над DT_RUNPATH
, но, во всяком случае, по крайней мере, у нас есть LD_LIBRARY_PATH
).
Кроме того, я категорически не согласен с предложением выше использовать DT_RPATH
. ИМО, лучше всего использовать nether DT_RPATH
, а не DT_RUNPATH
в поставляемых двоичных файлах.
если
вы отправляете все зависимые библиотеки с вашими исполняемыми файлами и хотите убедиться, что JustWork (tm) после установки, в этом случае, использует DT_RPATH
.