Menu

#771 Provide support for Mac OS X 10.11 (El Capitan)

Next
open
Platform (67)
5
2015-10-30
2015-10-30
No

In Mac OS X 10.11 (El Capitan) and later, DYLD_LIBRARY_PATH definition is not possible unless you disable SIP (System Integrity Protection), a new feature that was added to reduce system attacks. SIP is also known as "rootless" mode. SIP prevents access to /usr/lib/. STAF requires that DYLD_LIBRARY_PATH contains the STAF lib directory (e.g. /Library/staf/lib). Otherwise, you may have issues such as errors registering external STAF services such as Java services.

Support Requests #186 "Mac 10.11 and STAF compatibility issues" at https://sourceforge.net/p/staf/support-requests/186/ and #187 "[MAC OSX 10.11] staf add service fails for execute JSTAF with error: Could not load JVM" at https://sourceforge.net/p/staf/support-requests/187/ were first opened to address this issue.

When googling for information on how other applications that rely on DYLD_LIBRARY_PATH resolved this issue on OS X 10.11, a solution others used is to symlink their application's shared libraries to /usr/local/lib. For example, assuming STAF is installed in the default location /Library/staf:

sudo ln -s /Library/staf/lib/libSTAF.dylib /usr/local/lib/libSTAF.dylib
sudo ln -s /Library/staf/lib/libJSTAF.dylib /usr/local/lib/libJSTAF.dylib
sudo ln -s /Library/staf/lib/libJSTAFSH.dylib /usr/local/lib/libJSTAFSH.dylib

Found this "symlink to /usr/local/lib" solution via
https://blogs.nrao.edu/jmalone/2015/10/05/how-to-fix-aips-under-osx-el-capitan/ and https://forums.developer.apple.com/thread/7935.

Discussion


Log in to post a comment.

MongoDB Logo MongoDB