rpath = $ ORIGIN не дает желаемого эффекта?

У меня есть двоичный файл "CeeloPartyServer", которому необходимо найти libFoundation.so во время выполнения на машине FreeBSD. Они оба находятся в одном каталоге. Я компилирую (на другой платформе, используя кросс-компилятор) CeeloPartyServer, используя флаг компоновщика "-rpath = $ ORIGIN".

> readelf -d CeeloPartyServer |grep -i rpath
 0x0000000f (RPATH)                      Library rpath: [$ORIGIN]
> ls
CeeloPartyServer    Contents        Foundation.framework    libFoundation.so
> ./CeeloPartyServer 
/libexec/ld-elf.so.1: Shared object "libFoundation.so" not found, required by "CeeloPartyServer"

Почему он не находит библиотеку, когда я пытаюсь ее запустить? Моя точная строка компоновщика: -lm -lmysql -rpath = $ ORIGIN. Я почти уверен, что мне не нужно экранировать \ $ или что-то в этом роде, поскольку мой анализ readelf действительно показывает, что rpath библиотеки установлен на $ ORIGIN. Что мне не хватает?

21
задан tig 17 July 2016 в 21:42
поделиться