Связывание динамической библиотеки (libjvm.dylib) в Mac OS X (проблема с rpath)

У меня есть приложение, которое требует связи сlibjvm (библиотека из JDK должна была выполнять привязки JNI). Когда я говорю местоположениеlibjvm.dylib с помощью-L это успешно компилирует и ссылки. Однако, когда я запускаю двоичный файл, я получаю:

dyld: Library not loaded: @rpath/libjvm.dylib
  Referenced from: /./mybinary
  Reason: image not found

Итак, я обнаружил, что могу запустить свой двоичный файл с указанием LD_LIBRARY_PATH примерно так:

LD_LIBRARY_PATH= ./mybinary

Но, конечно, я не хочу этого. Зачем мне в любом случае указывать точное местоположение, если мне приходится давать его снова и снова при каждом запуске приложения ?!

Я также узнал, что динамические библиотеки в Mac OS X действительно получают своего рода штамп, который указывает их местоположение. Однако я нене знаю чтоrpath есть (мне кажется, что это переменная, но как я могу установить ее при связывании?).

Приложение построено с использованием haskell, но я также могу связать объектные файлы вручную, используяld, Однако я'Я застрял на этой вещи rpath - это может быть особенным для библиотек JDK?

Вот что я делаю, чтобы построить:

ghc --make Main.hs mycbinding.o -ljvm -L/jre/lib/server -o mybinary

Ответы на вопрос(1)

Ваш ответ на вопрос