DYLD_LIBRARY_PATH for sessions
Michael Lachmann <lachmann <at> eva.mpg.de>
2014-01-09 23:07:15 GMT
(Just for background: I just compiled the latest version from the svn for OSX 10.9
configure --enable-macosx-distr --enable-macosx-extensions --enable-qtpipes --enable-pdf-renderer --disable-macosx-distr
The --disable-macosx-distr was because otherwise the minimum version would be required to be 10.4, which doesn't compile on 10.9, or my Xcode)
In this version, starting an R session gives the following error:
dyld: lazy symbol binding failed: Symbol not found: _iconv_open Referenced from: /Library/Frameworks/R.framework/Resources/lib/x86_64/libR.dylib
The reason, I think, is that R calls libiconv.2.dylib which now is also used and included in the TeXmacs app.
And, the TeXmacs version is incompatible with the R one. When TeXmacs starts, it sets DYLD_LIBRARY_PATH to the libraries used in TeXmacs, and when R is started, it tries to load its libs from there.
A simple solution is to call
unsetenv( "DYLD_LIBRARY_PATH") ;
inside the program that starts the R session (tm_r.c).
But this seems a hack (for example because maybe I need to also change other PATHs that I still don't know about...) . What would be the right way to do things? Who is responsible for environment variables inside sessions?
Texmacs-dev mailing list
Texmacs-dev <at> gnu.org