[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Finding dependencies in lib64 or lib

From: Konstantin Andreev
Subject: Re: Finding dependencies in lib64 or lib
Date: Thu, 11 Feb 2010 19:00:12 +0300
User-agent: Mozilla/5.0 (X11; U; SunOS i86pc; en-US; rv: Gecko/20100119 Thunderbird/3.0

On 11.02.10 14:37, Daniel Pocock wrote:
I've been looking over for the Ganglia project.

The project depends on some other libs, and their locations can be specified 
with configure arguments, for example:


The original would then try -L/usr/local/lib

However, there are platforms where 64 bit libraries should be in */lib64, e.g. 
the search for libconfuse should try /usr/local/lib64 on those platforms.

My initial solution is to test $host

case $host in

but a proper solution needs to test against all the architectures listed in the 

and also know about the non-FHS compliant cases (e.g. Debian)

Is anyone aware of macros for doing this and helping me set LIB_SUFFIX 
correctly for a particular $host?

Typically, pkg-config knows where particular libraries installed. Something 
like that:

| $ pkg-config --libs-only-L libconfuse
| -L/opt/confuse-2.6/lib

Unfortunately, pkg-config does not distinct instruction sets (32/64 bit). 
Sadly, pkg-config authors refuse to support instruction sets.

Let me introduce the approach which is used by Solaris 10 to mitigate this 
pkg-config restriction.

In Solaris, libraries live in

32-bit : /usr/lib
64-bit : /usr/lib/64

And, alongside well-known /usr/lib/pkgconfig/*.pc package descriptions, Solaris 
provides /usr/lib/64/pkgconfig/*.pc for 64-bit versions of packages.

So, on Solaris, you wouldn't search for 64-bit library for yourself.

This approach looks great, and I would like to see it adopted by every library 

Best regards,
Konstantin Andreev.

reply via email to

[Prev in Thread] Current Thread [Next in Thread]