Subject: Re: failure to load shared libraries
To: Steve Blinkhorn <steve@prd.co.uk>
From: Juan RP <juan@xtraeme.nopcode.org>
List: port-i386
Date: 03/22/2005 18:48:23
On Tue, 22 Mar 2005 17:43:55 +0000 (GMT/BST)
Steve Blinkhorn <steve@prd.co.uk> wrote:

> I see this topic over and over again, but many of the replies are
> gnomic.
> 
> I am running stock 2.0.   Attempting to build a 3rd-party package, I
> get the error message:
> 
> couldn't load file "libtk84.so": libtk84.so: Undefined PLT symbol
> "XFreePixmap" (symnum = 16)
> 
> (I have stripped the path off the filenames as it gives away details
> of one of my machines).
> 
> when the required file is present in the same directory as I am doing
> the build.   If I copy it to somewhere like /usr/lib, the message
> changes to one indicating that an X11 library could not be found.   I
> had the same problem under 1.6.2, and heard that it was fixed in 2.0,
> something to do with ld-elf.so.
> 
> Does anyone know whether there is something to do with configuration
> going on here, i.e. is there a stock environment variable that needs
> setting, or some standard flag that needs setting in Makefiles?   I
> take it that the search list for shared libraries is what is at issue,
> but the man pages warn against using ld.so.conf for this purpose.

You have to pass the rpath dir to the compilation flags:

-Wl,-R/foo/bar

Another way (which is not the recommended one), would be using
the env var LD_LIBRARY_PATH, please pass the rpath flag in the compilation
stage if you want to fix this properly.

Cheers.