Subject: Re: pkgsrc/Solaris: LD_LIBRARY_PATH
To: None <>
From: Mehul N. Sanghvi <>
List: pkgsrc-users
Date: 08/03/2007 22:59:15
Tobias Nygren said the following on 8/3/2007 9:11 PM:
> On Fri, 03 Aug 2007 19:29:26 -0400
> "Mehul N. Sanghvi" <> wrote:
>> 'allo,
>>       Every time I build something in pkgsrc, I get a linking error for 
>> libiconv.  I usually end up doing an explicit export of LD_LIBRARY_PATH and 
>> including /usr/pkg/lib in it.  Is there some variable I can set in my mk.conf 
>> file that will ensure that I don't have to remember to do this each time ?
> pkgsrc is supposed to encode the runpath into the binaries and if that
> doesn't happen it is a bug. What version of Solaris are you on, what
> architecture, what compiler and which ld(1) is the compiler using?
> If you changed any of those you probably need to rebuild the
> libtool-base package.

I am using Solaris 9/SPARC platform.  The compiler is gcc from 
/usr/pkg/gcc3/bin and ld(1) is the standard Solaris ld(1) from /usr/ccs/bin. 
Doing a simple thing like '/usr/pkg/gcc3/bin/gcc -v' will give me the following:

% type gcc
gcc is hashed (/usr/pkg/gcc3/bin/gcc)

% gcc -v gcc: fatal: open failed: No such file or directory

% ldd /usr/pkg/gcc3/bin/gcc =>         (file not found) =>     /usr/lib/ =>    /usr/lib/

I have a gcc compiler in /usr/local/bin which seems to work fine though:

% /usr/local/bin/gcc -v
Reading specs from /usr/local/lib/gcc/sparc-sun-solaris2.8/3.4.1/specs
Configured with: ../configure --with-as=/usr/ccs/bin/as 
--with-ld=/usr/ccs/bin/ld --disable-nls --disable-libgcj --enable-languages=c,c++
Thread model: posix
gcc version 3.4.1

% ldd /usr/local/bin/gcc =>         /usr/local/lib/ =>     /usr/lib/ =>    /usr/lib/

Now if I provide the LD_LIBRARY_PATH here is what happens:

% export LD_LIBRARY_PATH=/usr/pkg/lib:/usr/lib:/usr/ccs/lib

% type gcc
gcc is hashed (/usr/pkg/gcc3/bin/gcc)

% gcc -v
Reading specs from /usr/pkg/gcc3/lib/gcc-lib/sparc-sun-solaris2/3.3.6/specs
Configured with: ./configure --prefix=/usr/pkg/gcc3 --host=sparc-sun-solaris2 
--enable-shared --enable-languages=c
Thread model: posix
gcc version 3.3.6

> Does the linker error happen in the libiconv package or in some
> package that depends on it?

This happens in packages that depend on libiconv.  As far as I can tell, 
libiconv is the only library that this seems to be happening with.



Mehul N. Sanghvi