[arch-dev-public] Toolchain changes

Dave Reisner d at falconindy.com
Tue Jan 22 13:31:49 EST 2013

On Tue, Jan 22, 2013 at 1:22 AM, Allan McRae <allan at archlinux.org> wrote:

> In my ongoing quest to bring packages to being as vanilla as possible, I
> have made some adjustments to the toolchain.  These are nothing that
> anybody should notice, but I though it worth a post here.
> The changes:
> 1) /lib and /lib64 symlinks have been moved from glibc to the filesystem
> package. Also a /usr/lib64 symlink has been added (see below).
> This will make updates more difficult (though not impossible) for those
> who do not have the /lib symlink yet.  But if you have not upgraded in
> over six months, why do you use a rolling release?   The workaround I
> provided of temporarily using a glibc-2.16 package without the lib
> symlink is in the process of dying anyway with packages build built with
> glibc-2.17.
> 2) The "pure64" patch has been removed from glibc.  Well, part of it.  I
> added a sed to keep the 64bit system library directory as /lib.  Even
> though /lib64 is effectively the same, pacman-4.0 can not handle that well.
> This changes the ELF interpreter on x86_64 from
> /lib/ld-linux-x86-64.so.2 to /lib64/ld-....   Again, symlinks make this
> not matter.
> 3) I do not adjust the paths in ldd any more - this required the
> /usr/lib64 for it to keep working.  The /lib64 symlink is not enough as
> I configure glibc to use /usr/lib as its system library directory.
> 4) ldconfig gets a symlink in /usr/bin.  This will probably be helpful
> in the future when /sbin dies.  Also, I do not remove the default of
> ldconfig searching /usr/lib /usr/libx32 /usr/lib64, so "ldconfig -v"
> will complain about /usr/lib64 being given more than once as it is
> /usr/lib (and any other directory added in ld.so.conf) and about
> /usr/libx32 being absent.  I might see if this can be fixed through
> adding a configure option upstream, but given no-one will probably
> notice it is not worth fixing.
> Wouldn't it be great if everything was just ./configure; make; make
> install...
> tl:dr; things will get more difficult for those who have not updated in
> six months, but no-one should notice any other change.

And much harder for people who have already decided to play around with
/bin as a symlink. This all broke me pretty hard because I tried to upgrade
glibc by itself (I necessarily needed a different package which doesn't
have "duplicate" ldconfig files in it). My own fault, of course, but it
should be noted that anyone else could potentially run into this if glibc
isn't upgraded at the same time as the filesystem package.

Oh well, at least I'll be home tonight to fix it.

More information about the arch-dev-public mailing list