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

Re: AMD64 and lib64



* Martin Michlmayr - Debian Project Leader

| I talked to Chris Yeoh of the Linux Standards Base (LSB) recently and
| mentioned that the current port uses /lib rather than /lib64 (the
| latter is required by the LSB).  He strongly advised against using
| /lib plus /lib64 symlinks, and he kindly elaborated the problem below.
| How do you address these concerns and how much work would it be to use
| /lib64 (libtool could be patched to use that path by default, but how
| many libraries don't use it?).

lib64 is ugly and wrong, wrong, wrong.  You were at the multiarch talk
during debconf4, and that is, IMO, the sane way to do it.

| ----- Forwarded message from Christopher Yeoh <cyeoh@samba.org> -----
| 
| From: Christopher Yeoh <cyeoh@samba.org>
| Subject: Re: AMD and lib64
| Date: Wed, 7 Jul 2004 11:59:35 +1000
| To: Martin Michlmayr <tbm@cyrius.com>
| X-Mailer: VM 7.18 under Emacs 21.3.1
| 
| At 2004/7/6 20:07+0100  Martin Michlmayr writes:
| > * tbm <tbm@cyrius.com> [2004-06-29 12:24]:
| > > Can you briefly outline why you think going with /lib for our AMD64
| > > port and using symlinks for /lib64 would be a bad idea?  I briefly
| > > talkd to some AMD64 porters and they'd prefer to remain with /lib plus
| > > /lib64 symlinks.
| > 
| > Do you think you could do that?
| 
| Sorry, lost track of the earlier email.
| 
| For LSB compliance /lib64 has to exist and third party packages will
| expect to install into that directory. 
| 
| I think my concern would be how are you going to support 32 bit
| compatability? Where do the the ordinary 32 bit libraries live if /lib
| contains the 64 bit ones?

We don't do that.  At least not for the current AMD64 port.  It's a pure
64 bit port without any 32 bit compatibility.  The way to do multiarch
(as biarch is just a specific instance of) is to go with Matt Taggart's
and my proposal (as available on
http://www.linuxbase.org/~taggart/multiarch.html ).  This solves the
general case, in an elegant way.

| External 32 bit packages will expect to be able to install and use
| libraries in /lib and /usr/lib. I would imagine that there would be
| quite a few cases where people want to run the 32 bit versions because
| 64 bit ones have not yet been produced.
| 
| They will definitely need to be separate directories if you want the
| AMD64 port to be IA32 LSB certified as well as AMD64 certified.

I don't think we want it to be IA32 LSB certified.  Not until we have
multiarch working, at least.

| For binary compatability reasons with other distributions you should
| be also careful that all of the application binaries refer to /lib64
| rather than /lib.

We are aware of that, and /lib64 is a symlink for the time being.  It
will go away at some point, at least I hope so.

I guess others will fill in if I've been unclear, but this should clear
things up a bit, I hope.

-- 
Tollef Fog Heen                                                        ,''`.
UNIX is user friendly, it's just picky about who its friends are      : :' :
                                                                      `. `' 
                                                                        `-  



Reply to: