|
From: | Moritz Borgmann |
Subject: | Re: Solaris: patches to run-octave.in |
Date: | Thu, 29 Nov 2007 23:47:42 +0100 |
Moritz Borgmann wrote:Also, I don't see why we need LD_PRELOAD; setting LD_LIBRARY_PATH should be sufficient. LD_PRELOAD actually leads to errors under Solaris; I suspect that the dynamic linker tries to link the octave libraries into any child process of octave (such as shells) and fails.We had some trouble that some systems were picking out the installed octave libraries rather than the ones in the build tree, even with LD_LIBRARY_PATH. The LD_PRELOAD was an attempt to get around it, and at the time I thought that those that didn't support LD_PRELOAD (eg windows) would at least ignore. If child process doesn't need the LD_PRELOAD library, I see no reason to fail. Trust Sun to come up with a new way to fail. Is there any other way around this?
hm. We could make it conditional and not set LD_PRELOAD on Solaris. Other than that, I fail to see immediate solutions. Or we could try to track down what the reason was that the other systems (which ones?) didn't honor the LD_LIBRARY_PATH. Maybe it's called differently on that system (like, e.g., DYLD_LIBRARY_PATH under Darwin, which configure sets correctly).
FYI, here's the error that Solaris throws. As you're saying, Sun can be trusted to drive you mad.
ld.so.1: sh: fatal: relocation error: file /home/moriborg/software/octave-cvs.3/src/liboctinterp.so: symbol __1cDstdCws4Ccn0ALchar_traits4Cc___6Frn0ANbasic_istream3CTACTB___4_: referenced symbol not found ld.so.1: sh: fatal: relocation error: file /home/moriborg/software/octave-cvs.3/src/liboctinterp.so: symbol __1cDstdCws4Ccn0ALchar_traits4Cc___6Frn0ANbasic_istream3CTACTB___4_: referenced symbol not found
-M
[Prev in Thread] | Current Thread | [Next in Thread] |