У меня есть двоичный файл "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. Что мне не хватает?