Subject: Re: NetBSD packages and LD_LIBRARY_PATH
To: Joerg Sonnenberger <joerg@britannica.bec.de>
From: Hauke Fath <hf@spg.tu-darmstadt.de>
List: tech-pkg
Date: 10/26/2005 16:27:01
Am 26.10.2005 um 10:32 Uhr +0200 schrieb Joerg Sonnenberger:
> > >> >> !echo $LD_LIBRARY_PATH
> > >>/opt/matlabr14/sys/os/glnx86:/opt/matlabr14/bin/glnx86:/opt/matlabr14/extern/lib/glnx86:/opt/matlabr14/sys/java/jre/glnx86/jre1.5.0/lib/i386/native_threads:/opt/matlabr14/sys/java/jre/glnx86/jre1.5.0/lib/i386/client:/opt/matlabr14/sys/java/jre/glnx86/jre1.5.0/lib/i386
>> >> >>
>> >
>> >That's the reason why I normally install the programs completely under
>> >/usr/pkg/emul :-)
Doesn't make a difference here, see below.
> > That's a WA^Weducated guess, since I haven't actually done a
>> re-install of Matlab to /usr/pkg/emul/linux/opt, but -- wouldn't the
>> paths in LD_LIBRARY_PATH show up just the same since a linux binary
>> sets them up against the emulation root?
I guessed wrongly: The paths are valid 'native NetBSD' paths in both
cases. The matlab binary is called by a 60 KB shell wrapper that sets
up paths and things, and calls other tools - all native. Invoking it
with the Linux /bin/sh doesn't make a difference, though.
>It means that LD_LIBRARY_PATH would point into nowhere for non-Linux
>binaries, so it would be effectively ignored.
No, see above: In both cases, the LD_LIBRARY_PATH that a NetBSD
binary sees points to existing shared libraries. Some applications
apparently cannot resist to pick them up.
> > >Have you looked at using chrpath to eliminiate the need for the
>> >LD_LIBRARY_PATH in Matlab?
>>
> > Would that keep it from handing the LD_LIBRARY_PATH (which is set up
>> in the matlab startup script) over to a spawned shell?
>
>If you change the matlab binary/ies to have embedded RPATH entries, you
>wouldn't need to set LD_LIBRARY_PATH at all.
I don't feel like messing with Matlab's guts (partly scripted native
base OS tools, partly Linux binaries) because of that, thank you. ;)
If there is no global switch for disabling LD_LIBRARY_PATH, a wrapper
script is it.
hauke
--
/~\ The ASCII Ribbon Campaign Hauke Fath
\ / No HTML/RTF in email Institut für Nachrichtentechnik
X No Word docs in email TU Darmstadt
/ \ Respect for open standards Ruf +49-6151-16-3281