-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Robert Osfield wrote:
>> As for what is standard under linux, even my /usr/lib64 is totally
>> empty under Kubuntu, let alone /usr/local/lib64.  I believe Kubuntu
>> does fit with the LSB.

Not really, Ubuntu is known to take various shortcuts in the name of
convenience.

> 
> Correction, Kubuntu does use /usr/local/lib64, my earlier quick search
> that suggested it was empty was wrong due to a typo...  it's
> /usr/local/lib64 that is empty save for OSG related libs.
> 
> What I have under Kubuntu in /usr is :
> 
> drwxr-xr-x 152 root root 91168 2009-01-24 09:49 lib
> drwxr-xr-x  34 root root 15880 2009-01-07 16:23 lib32
> lrwxrwxrwx   1 root root     3 2008-12-02 12:57 lib64 -> lib
> 
> So lib64 is a symbolic link to /usr/local/lib.
> 
> Some more info:
> 
>> cat /etc/ld.so.conf
> include /etc/ld.so.conf.d/*.conf
> 
>> cat /etc/ld.so.conf.d/libc.conf
> # libc default configuration
> /usr/local/lib

This then means that whatever you put into /usr/local/lib64 should be
found, because it is on the path thanks to the symlink. However, that is
non-standard and breaks things if you want both 32 and 64 bits binaries
to be used on the same system (quite common - not all software is
available in 64bit versions or they are buggy, especially the
proprietary software).

See here (a mail from LSB guy to Debian developers about this issue):

http://lists.debian.org/debian-amd64/2004/07/msg00039.html

> I have just done some browsing on the Linux Standard Base website and
> couldn't spot anything pertaining to conventions for /usr/local/lib or
> /usr/local/lib64.

No, but the convention is for all lib directories, /usr/local is special
only in that that it is intended for user-installed libraries.

Actually the description is in the Filesystem Hierarchy Standard (FHS),
not LSB - sorry, my bad:

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

To quote the relevant parts:
> /usr/lib<qual> : Alternate format libraries (optional) Purpose
> 
> /usr/lib<qual> performs the same role as /usr/lib for an alternate
> binary format, except that the symbolic links /usr/lib<qual>/sendmail
> and /usr/lib<qual>/X11 are not required.

And:

> Specific Options
> 
> If directories /lib<qual> or /usr/lib<qual> exist, the equivalent
> directories must also exist in /usr/local.

If [K]Ubuntu doesn't have them, it is not really standard compliant.
This seems to be however taken over from Debian, judging from the mail
above.

So the rule is that on i[3456]86 you are installing into /lib, /usr/lib
or /usr/local/lib, on ia64 or amd64 you are installing into /lib64,
/usr/lib64 and /usr/local/lib64

The FHS text is a bit ambiguous and could be interpreted that foo/lib
contains the libs for your main architecture and foo/libXX for
alternates, so you could also have /lib and /lib32 on a 64-bit system
running 32-bit binaries. However, I didn't see a Linux distro actually
doing this yet. IRIX has it this way, if I recall correctly.

Regarding the convenience - I am not against convenience in principle,
but breaking the standards to kludge around a non-compliant system is
not good. If you want a really simple solution, add a command to the
installer that will drop an appropriate file to /etc/ld.so.conf.d
directory. That is probably the least evil option.

Regards,

Jan










-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (GNU/Linux)
Comment: Using GnuPG with Mandriva - http://enigmail.mozdev.org

iD8DBQFJfKsRn11XseNj94gRAg5yAKCqsQhIsQo0E0NpbjwNVaSZv7WPRQCeIVNR
hH2b4ajndg+mB3hVCPl0EyY=
=Zne0
-----END PGP SIGNATURE-----
_______________________________________________
osg-users mailing list
[email protected]
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

Reply via email to