После обновления до OSX Catalina у меня возникали проблемы с UnsatisfiedLinkErrors при попытке запустить библиотеку в JNI-формате под java с несколькими ссылками на собственные библиотеки, которые успешно работали в более ранних версиях OSX:
export DYLD_LIBRARY_PATH=/path/to/solclientj/lib:$DYLD_LIBRARY_PATH
java -cp /path/to/target/classes:<snip classpath> -Djava.library.path=/path/to/solclientj/lib com.example.demo.MockMatchingEngine <arguments...>
Jan 30, 2020 12:53:56 PM com.solacesystems.solclientj.core.impl.util.SolLogger critical
SEVERE: solclient_jni failed to load : /path/to/solclientj/lib/libsolclient_jni.dylib: dlopen(/path/to/solclientj/lib/libsolclient_jni.dylib, 1): Library not loaded: libsolclient.so.1
Referenced from: /path/to/solclientj/lib/libsolclient_jni.dylib
Reason: image not found
java.lang.UnsatisfiedLinkError: /path/to/solclientj/lib/libsolclient_jni.dylib: dlopen(/path/to/solclientj/lib/libsolclient_jni.dylib, 1): Library not loaded: libsolclient.so.1
Referenced from: /path/to/solclientj/lib/libsolclient_jni.dylib
Reason: image not found
Принимая во внимание, что если компакт-диск в / path / to / solclientj и выполнить командную строку оттуда, он работает успешно. Любые подсказки относительно того, почему он находит библиотеки в текущем каталоге, но, очевидно, не, когда они находятся на DYLD_LIBRARY_PATH? Поскольку он, похоже, находит файл libsolclient_jni.dylib верхнего уровня через DYLD_LIBRARY_PATH, это только ссылка на libsolclient.so.1 из того же каталога, который не найден.
Спасибо за любую интересную информацию.