Re: Finding dependencies in lib64 or lib

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

 



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

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

--with-libconfuse=/usr/local

The original configure.in 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

LIB_SUFFIX=lib
case $host in
x86_64-redhat-linux*)
   LIB_SUFFIX=lib64
esac

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

http://www.pathname.com/fhs/pub/fhs-2.3.html#LIB64

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 maintainer.

Best regards,
--
Konstantin Andreev.


_______________________________________________
Autoconf mailing list
Autoconf@xxxxxxx
http://lists.gnu.org/mailman/listinfo/autoconf

[Index of Archives]     [GCC Help]     [Kernel Discussion]     [RPM Discussion]     [Red Hat Development]     [Yosemite News]     [Linux USB]     [Samba]

  Powered by Linux