[arch-general] Glibc 2.16.0-2 and /lib problem : the answer ;)

Christian Hesse list at eworm.de
Sun Jul 8 11:46:16 EDT 2012


DR <drdarkraven at gmail.com> on Sun, 2012/07/08 23:37:
> On Sun, Jul 8, 2012 at 5:17 AM, Christian Hesse <list at eworm.de> wrote:
> 
> > Jonathan Hudson <jh+arch at daria.co.uk> on Sat, 2012/07/07 17:00:
> > > On Sat, 07 Jul 2012 17:35:56 +0200, Arno Gaboury wrote:
> > >
> > > >On 07/07/2012 05:27 PM, fredbezies wrote:
> > > >> Well, Tom gave the answer. Boot on rescue-CD / rescue USB-key.
> > > >>
> > > >> Remove /lib.
> > > >>
> > > >> And create a symlink : ln -sf /usr/lib lib
> > > >>
> > > >> I think there will be a lot of problem for a lot of users when glibc
> > > >> 2.16.0-x will be uploaded on core.
> > > >>
> > > >> Well, I think I have to do this mistake. I *do* know that forcing
> > > >> wasn't a good idea :|
> > > >>
> > > >As I will need to do the update too, can someone explain briefly  in
> > > >this list what shoule be done to avoid such a situation?
> > > >
> > > >TY in advance.
> > > >
> > >
> > > It may still fail
> > >
> > > error: extract: not overwriting dir with file lib
> > > error: problem occurred while upgrading glibc
> > > call to execv failed (No such file or directory)
> > > error: command failed to execute correctly
> > > error: could not commit transaction
> > > error: failed to commit transaction (transaction aborted)
> > > Errors occurred, no packages were upgraded.
> > >
> > > At this the machine is toast. Hope magic-sysreq is enabled, and you
> > > have rescue disk ...
> >
> > Same problem here. (Though I have a rescue system on disk, so no real
> > hurt.)
> >
> > /lib still existed in filesystem, though it was empty.
> >
> The simplest solution might be: /usr/lib/ld-2.16.so ln -s /usr/lib /lib
> Haven't tested that, though.

I think you need to specify full path to ln then:

/usr/lib/ld-2.16.so /bin/ln -s /usr/lib /lib

or use busybox:

busybox ln -s /usr/lib /lib

However this does not help if it comes to your mind after you closed the root
terminal. ;)
-- 
main(a,b){char*/*    Schoene Gruesse                         */c="B?IJj;M"
"EHCX:;";for(a/*    Chris           get my mail address:    */=0;b=c[a++];)
putchar(b-1/(/*               gcc -o sig sig.c && ./sig    */b/42*2-3)*42);}


More information about the arch-general mailing list