У меня есть двоичный "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. Я уверен, что мне не нужно бежать\$или что-то в этом роде, так как мой анализ на самом деле показывает, что для библиотеки rpath установлено значение $ORIGIN. Что мне не хватает?