You are not logged in.

#1 2012-07-15 18:25:08

emak
Member
Registered: 2012-03-20
Posts: 32

[SOLVED] glibc-2.16.0-2 update refused; /lib is a symlink to usr/lib

Hi there

I tried to update my system according to https://www.archlinux.org/news/the-lib- … a-symlink/ and https://bbs.archlinux.org/viewtopic.php … 0#p1129800 and was still not succesful. My mistake was to move the whole /lib instead of /lib/modules when everything seemed clear to proceed. After that I had to boot a live cd and untar freshly downloaded glibc to mounted root partition (and already did the trick with the symlink of /lib). Now:
a) I do have the symlink from lib to usr/lib:

[emak@PC-LE-T42-LI lib]$ ls -ld /lib
lrwxrwxrwx 1 root root 7  7. Jul 12:09 /lib -> usr/lib

b) every sanity check passes (had to uninstall some progs which still had linked libs)
c) when running "pacman -Su" it gives me following error:

:: Starte komplette Systemaktualisierung...
Löse Abhängigkeiten auf...
Suche nach Zwischenkonflikten...

Pakete (1): glibc-2.16.0-2

Gesamtgröße der zu installierenden Pakete: 37.58 MiB
Größendifferenz der Aktualisierung:       0.00 MiB

Prüfe Paketintegrität...
Lade Paket-Dateien ...
Prüfe auf Dateikonflikte...
glibc: /lib existiert im Dateisystem
glibc: /usr/lib/ld-2.16.so existiert im Dateisystem
glibc: /usr/lib/ld-linux-x86-64.so.2 existiert im Dateisystem
glibc: /usr/lib/libBrokenLocale-2.16.so existiert im Dateisystem
glibc: /usr/lib/libBrokenLocale.so.1 existiert im Dateisystem
glibc: /usr/lib/libSegFault.so existiert im Dateisystem
glibc: /usr/lib/libanl-2.16.so existiert im Dateisystem
glibc: /usr/lib/libanl.so.1 existiert im Dateisystem
glibc: /usr/lib/libc-2.16.so existiert im Dateisystem
glibc: /usr/lib/libc.so.6 existiert im Dateisystem
glibc: /usr/lib/libcidn-2.16.so existiert im Dateisystem
glibc: /usr/lib/libcidn.so.1 existiert im Dateisystem
glibc: /usr/lib/libcrypt-2.16.so existiert im Dateisystem
glibc: /usr/lib/libcrypt.so.1 existiert im Dateisystem
glibc: /usr/lib/libdl-2.16.so existiert im Dateisystem
glibc: /usr/lib/libdl.so.2 existiert im Dateisystem
glibc: /usr/lib/libm-2.16.so existiert im Dateisystem
glibc: /usr/lib/libm.so.6 existiert im Dateisystem
glibc: /usr/lib/libmemusage.so existiert im Dateisystem
glibc: /usr/lib/libnsl-2.16.so existiert im Dateisystem
glibc: /usr/lib/libnsl.so.1 existiert im Dateisystem
glibc: /usr/lib/libnss_compat-2.16.so existiert im Dateisystem
glibc: /usr/lib/libnss_compat.so.2 existiert im Dateisystem
glibc: /usr/lib/libnss_db-2.16.so existiert im Dateisystem
glibc: /usr/lib/libnss_db.so.2 existiert im Dateisystem
glibc: /usr/lib/libnss_dns-2.16.so existiert im Dateisystem
glibc: /usr/lib/libnss_dns.so.2 existiert im Dateisystem
glibc: /usr/lib/libnss_files-2.16.so existiert im Dateisystem
glibc: /usr/lib/libnss_files.so.2 existiert im Dateisystem
glibc: /usr/lib/libnss_hesiod-2.16.so existiert im Dateisystem
glibc: /usr/lib/libnss_hesiod.so.2 existiert im Dateisystem
glibc: /usr/lib/libnss_nis-2.16.so existiert im Dateisystem
glibc: /usr/lib/libnss_nis.so.2 existiert im Dateisystem
glibc: /usr/lib/libnss_nisplus-2.16.so existiert im Dateisystem
glibc: /usr/lib/libnss_nisplus.so.2 existiert im Dateisystem
glibc: /usr/lib/libpcprofile.so existiert im Dateisystem
glibc: /usr/lib/libpthread-2.16.so existiert im Dateisystem
glibc: /usr/lib/libpthread.so.0 existiert im Dateisystem
glibc: /usr/lib/libresolv-2.16.so existiert im Dateisystem
glibc: /usr/lib/libresolv.so.2 existiert im Dateisystem
glibc: /usr/lib/librt-2.16.so existiert im Dateisystem
glibc: /usr/lib/librt.so.1 existiert im Dateisystem
glibc: /usr/lib/libthread_db-1.0.so existiert im Dateisystem
glibc: /usr/lib/libthread_db.so.1 existiert im Dateisystem
glibc: /usr/lib/libutil-2.16.so existiert im Dateisystem
glibc: /usr/lib/libutil.so.1 existiert im Dateisystem
Fehler sind aufgetreten, keine Pakete wurden aktualisiert.

Please help me on how to proceed to get actualized glibc.

Last edited by emak (2012-07-16 19:36:08)

Offline

#2 2012-07-15 23:40:42

cfr
Member
From: Cymru
Registered: 2011-11-27
Posts: 7,174

Re: [SOLVED] glibc-2.16.0-2 update refused; /lib is a symlink to usr/lib

I think you need to reinstall your old version of glibc. For example:

pacman -U /var/cache/pacman/pkg/glibc-2.16.0-1-x86_64.pkg.tar.xz

You may need to force this install. I believe that should be safe. Do NOT on any account force the upgrade to the new version, though - only force the reinstall of the version you untarred.

Rationale: you untarred glibc rather than installing it using pacman. So pacman does not see those files as belonging to the package it is upgrading. By having pacman install the old version itself, it will see those as belonging to the package and will therefore allow the upgrade. (Essentially you are having pacman put just the same files there as you did but it makes a difference that pacman does it.)

Last edited by cfr (2012-07-15 23:41:19)


CLI Paste | How To Ask Questions

Arch Linux | x86_64 | GPT | EFI boot | refind | stub loader | systemd | LVM2 on LUKS
Lenovo x270 | Intel(R) Core(TM) i5-7200U CPU @ 2.50GHz | Intel Wireless 8265/8275 | US keyboard w/ Euro | 512G NVMe INTEL SSDPEKKF512G7L

Offline

#3 2012-07-16 10:50:02

Le_9
Member
Registered: 2012-07-16
Posts: 3

Re: [SOLVED] glibc-2.16.0-2 update refused; /lib is a symlink to usr/lib

Hello cfr ,

I got the same problem as "emak" ,

I did what you told

pacman -U /var/cache/pacman/pkg/glibc-2.16.0-1-x86_64.pkg.tar.xz

and

pacman -Su

but that not resolv the trouble and I got the same output like "emak"

I tried a lot of solution from others post about new glibc but i can't arrive to solve it

another idea ?

Thank you in advance for your help

Bye

Last edited by Le_9 (2012-07-16 19:46:39)

Offline

#4 2012-07-16 18:53:06

Le_9
Member
Registered: 2012-07-16
Posts: 3

Re: [SOLVED] glibc-2.16.0-2 update refused; /lib is a symlink to usr/lib

Hello ,

Finnally I arrived to solve my trouble and apply the glibc-2.16.0-2 update

@emak : below what i did :


1 > make a backup of /usr/lib for security

sudo cp -Rf /usr/lib /usr/lib.bak

2 > create a folder in root named /lib.tmp

sudo mkdir /lib.tmp

3 > copy all listed files in the lib temp folder

sudo cp /usr/lib/ld-2.16.so /lib.tmp/
sudo cp /usr/lib/ld-linux-x86-64.so.2 /lib.tmp/
sudo cp /usr/lib/libBrokenLocale-2.16.so /lib.tmp/
sudo cp /usr/lib/libBrokenLocale.so.1 /lib.tmp/
sudo cp /usr/lib/libSegFault.so /lib.tmp/
sudo cp /usr/lib/libanl-2.16.so /lib.tmp/
sudo cp /usr/lib/libanl.so.1 /lib.tmp/
sudo cp /usr/lib/libc-2.16.so /lib.tmp/
sudo cp /usr/lib/libc.so.6 /lib.tmp/
sudo cp /usr/lib/libcidn-2.16.so /lib.tmp/
sudo cp /usr/lib/libcidn.so.1 /lib.tmp/
sudo cp /usr/lib/libcrypt-2.16.so /lib.tmp/
sudo cp /usr/lib/libcrypt.so.1 /lib.tmp/
sudo cp /usr/lib/libdl-2.16.so /lib.tmp/
sudo cp /usr/lib/libdl.so.2 /lib.tmp/
sudo cp /usr/lib/libm-2.16.so /lib.tmp/
sudo cp /usr/lib/libm.so.6 /lib.tmp/
sudo cp /usr/lib/libmemusage.so /lib.tmp/
sudo cp /usr/lib/libnsl-2.16.so /lib.tmp/
sudo cp /usr/lib/libnsl.so.1 /lib.tmp/
sudo cp /usr/lib/libnss_compat-2.16.so /lib.tmp/
sudo cp /usr/lib/libnss_compat.so.2 /lib.tmp/
sudo cp /usr/lib/libnss_db-2.16.so /lib.tmp/
sudo cp /usr/lib/libnss_db.so.2 /lib.tmp/
sudo cp /usr/lib/libnss_dns-2.16.so /lib.tmp/
sudo cp /usr/lib/libnss_dns.so.2 /lib.tmp/
sudo cp /usr/lib/libnss_files-2.16.so /lib.tmp/
sudo cp /usr/lib/libnss_files.so.2 /lib.tmp/
sudo cp /usr/lib/libnss_hesiod-2.16.so /lib.tmp/
sudo cp /usr/lib/libnss_hesiod.so.2 /lib.tmp/
sudo cp /usr/lib/libnss_nis-2.16.so /lib.tmp/
sudo cp /usr/lib/libnss_nis.so.2 /lib.tmp/
sudo cp /usr/lib/libnss_nisplus-2.16.so /lib.tmp/
sudo cp /usr/lib/libnss_nisplus.so.2 /lib.tmp/
sudo cp /usr/lib/libpcprofile.so /lib.tmp/
sudo cp /usr/lib/libpthread-2.16.so /lib.tmp/
sudo cp /usr/lib/libpthread.so.0 /lib.tmp/
sudo cp /usr/lib/libresolv-2.16.so /lib.tmp/
sudo cp /usr/lib/libresolv.so.2 /lib.tmp/
sudo cp /usr/lib/librt-2.16.so /lib.tmp/
sudo cp /usr/lib/librt.so.1 /lib.tmp/
sudo cp /usr/lib/libthread_db-1.0.so /lib.tmp/
sudo cp /usr/lib/libthread_db.so.1 /lib.tmp/
sudo cp /usr/lib/libutil-2.16.so /lib.tmp/
sudo cp /usr/lib/libutil.so.1 /lib.tmp/

4 > Reboot in live cd mode

5 > mount , delete and replace the /lib by the temp lib folder

mount /dev/sdx /mnt
rm /mnt/lib
mv /mnt/lib.tmp /mnt/lib
unmount /dev/sdx
reboot

6 > reboot in normal mode

7 > delete listed files in /usr/lib

sudo rm /usr/lib/ld-2.16.so 
sudo rm /usr/lib/ld-linux-x86-64.so.2 
sudo rm /usr/lib/libBrokenLocale-2.16.so 
sudo rm /usr/lib/libBrokenLocale.so.1 
sudo rm /usr/lib/libSegFault.so 
sudo rm /usr/lib/libanl-2.16.so 
sudo rm /usr/lib/libanl.so.1 
sudo rm /usr/lib/libc-2.16.so 
sudo rm /usr/lib/libc.so.6 
sudo rm /usr/lib/libcidn-2.16.so 
sudo rm /usr/lib/libcidn.so.1 
sudo rm /usr/lib/libcrypt-2.16.so 
sudo rm /usr/lib/libcrypt.so.1 
sudo rm /usr/lib/libdl-2.16.so 
sudo rm /usr/lib/libdl.so.2 
sudo rm /usr/lib/libm-2.16.so 
sudo rm /usr/lib/libm.so.6 
sudo rm /usr/lib/libmemusage.so 
sudo rm /usr/lib/libnsl-2.16.so 
sudo rm usr/lib/libnsl.so.1 
sudo rm /usr/lib/libnss_compat-2.16.so 
sudo rm /usr/lib/libnss_compat.so.2 
sudo rm /usr/lib/libnss_db-2.16.so 
sudo rm /usr/lib/libnss_db.so.2 
sudo rm /usr/lib/libnss_dns-2.16.so 
sudo rm /usr/lib/libnss_dns.so.2 
sudo rm /usr/lib/libnss_files-2.16.so 
sudo rm /usr/lib/libnss_files.so.2 
sudo rm /usr/lib/libnss_hesiod-2.16.so 
sudo rm /usr/lib/libnss_hesiod.so.2 
sudo rm /usr/lib/libnss_nis-2.16.so 
sudo rm /usr/lib/libnss_nis.so.2 
sudo rm /usr/lib/libnss_nisplus-2.16.so 
sudo rm /usr/lib/libnss_nisplus.so.2 
sudo rm /usr/lib/libpcprofile.so 
sudo rm /usr/lib/libpthread-2.16.so 
sudo rm /usr/lib/libpthread.so.0 
sudo rm /usr/lib/libresolv-2.16.so 
sudo rm /usr/lib/libresolv.so.2 
sudo rm /usr/lib/librt-2.16.so 
sudo rm /usr/lib/librt.so.1 
sudo rm /usr/lib/libthread_db-1.0.so 
sudo rm /usr/lib/libthread_db.so.1 
sudo rm /usr/lib/libutil-2.16.so 
sudo rm /usr/lib/libutil.so.1 

8 > maybe not necessary but for be sure I reinstall the glibc-2.16.0-1

sudo pacman -U /var/cache/pacman/pkg/glibc-2.16.0-1-x86_64.pkg.tar.xz

9 > and finally the normal update for install the glibc-2.16.0-2

sudo pacman -Su 

finally i got the glibc installed smile

if all is ok you can delete the backup wink

Hope this will help you
Bye

Last edited by Le_9 (2012-07-16 19:20:06)

Offline

#5 2012-07-16 19:33:59

emak
Member
Registered: 2012-03-20
Posts: 32

Re: [SOLVED] glibc-2.16.0-2 update refused; /lib is a symlink to usr/lib

@cfr: thanks for your reply although it wasn't that at the time
@Le_9: even though I find your way quite a bit time consuming for what should be a 3s automatic upgrade roll it helped for me too! You're my hero of the day big_smile

Offline

#6 2012-07-16 19:45:48

Le_9
Member
Registered: 2012-07-16
Posts: 3

Re: [SOLVED] glibc-2.16.0-2 update refused; /lib is a symlink to usr/lib

nice to know this solve trouble for you too wink

bye.

Offline

#7 2012-07-18 14:21:02

ManguerA
Member
Registered: 2012-07-18
Posts: 1

Re: [SOLVED] glibc-2.16.0-2 update refused; /lib is a symlink to usr/lib

Guys, i found a  diferent and easier solution posted here http://bbs.archbang.org/viewtopic.php?pid=16509 y used it and works fine for me... Regards.

Offline

#8 2012-07-18 21:12:14

cfr
Member
From: Cymru
Registered: 2011-11-27
Posts: 7,174

Re: [SOLVED] glibc-2.16.0-2 update refused; /lib is a symlink to usr/lib

ManguerA wrote:

Guys, i found a  diferent and easier solution posted here http://bbs.archbang.org/viewtopic.php?pid=16509 y used it and works fine for me... Regards.

How is that different from the advise in the news?


CLI Paste | How To Ask Questions

Arch Linux | x86_64 | GPT | EFI boot | refind | stub loader | systemd | LVM2 on LUKS
Lenovo x270 | Intel(R) Core(TM) i5-7200U CPU @ 2.50GHz | Intel Wireless 8265/8275 | US keyboard w/ Euro | 512G NVMe INTEL SSDPEKKF512G7L

Offline

Board footer

Powered by FluxBB