automake и пользовательский rpath

Я должен отправить стороннюю библиотеку с приложением. Поскольку я не хочу устанавливать LD_LIBRARY_PATH вручную или требовать какого-либо скрипта-оболочки, я хочу, чтобы automake установил пользовательский rpath. К сожалению, libtool имеет свою собственную опцию -rpath, и добавление -Wl,-rpath,/foo/bar к LDFLAGS приводит только к

g++: unrecognized option '-rpath'

потому что libtool, похоже, путают с параметрами командной строки. То же самое происходит с альтернативной формой -Wl,-rpath -Wl,/foo/bar.

Есть ли способ указать собственный rpath без вмешательства libtool?


person scai    schedule 04.10.2012    source источник


Ответы (1)


Как вы сказали, libtool имеет свою собственную опцию -rpath. Есть ли причина, по которой вы не хотите его использовать?

% libtool link g++ foo.cc -o foo -rpath /somewhere
libtool: link: g++ foo.cc -o foo  -Wl,-rpath -Wl,/somewhere
% readelf -d foo | grep RPATH
0x000000000000000f (RPATH)              Library rpath: [/somewhere]

Ни в одном из примеров в руководствах Automake или Libtool не используется -Wl для указания -rpath.

person adl    schedule 06.10.2012
comment
Спасибо, указание -rpath (или -R) в _LDFLAGS работает. Тем не менее кажется странным, что libtool принимает только случайное сочетание стандартных и собственных (компоновщиков) флагов. - person scai; 08.10.2012
comment
Могу ли я указать родственника rpath? Libtool завершается с ошибкой: error: only absolute run-paths are allowed - person Vadim Kotov; 12.10.2017
comment
Я имею в виду, я бы хотел использовать '$$ORIGIN/libs` - person Vadim Kotov; 12.10.2017