История изменений
Исправление wandrien, (текущая версия) :
Ну здрасти.
ld.so распознаёт определённые строки согласно спецификации rpath (DT_RPATH или DT_RUNPATH); эти строки заменяются на
$ORIGIN (или ${ORIGIN})
Она раскрывается в каталог, содержащий программу или общий объект. Таким образом, приложение, расположенное в somedir/app может компилироваться с
gcc -Wl,-rpath,'$ORIGIN/../lib'
для того, чтобы оно могло найти связанный общий объект в somedir/lib и не важно где в иерархии каталогов будет находиться somedir. Это облегчает создание приложений «под ключ», которые вместо установки в специальные каталоги, можно просто распаковать в любой каталог, и они всё равно найдут свои общие объекты.
Исходная версия wandrien, :
Ну здрасти.
ld.so распознаёт определённые строки согласно спецификации rpath (DT_RPATH или DT_RUNPATH); эти строки заменяются на
$ORIGIN (или ${ORIGIN})
Она раскрывается в каталог, содержащий программу или общий объект. Таким образом, приложение, расположенное в somedir/app может
компилироваться с
gcc -Wl,-rpath,'$ORIGIN/../lib'
для того, чтобы оно могло найти связанный общий объект в somedir/lib и не важно где в иерархии каталогов будет находиться somedir. Это
облегчает создание приложений «под ключ», которые вместо установки в специальные каталоги, можно просто распаковать в любой каталог, и они
всё равно найдут свои общие объекты.