You are not logged in.

#1 2012-08-02 17:35:50

warrd
Member
Registered: 2011-10-21
Posts: 7

Another glibc upgrade issue....

Hi.

I upgraded my system ignoring glibc as suggested in the news:

sudo pacman -Syu --ignore glibc

I was about to complete the next step, but now I am getting this error when I issue any pacman commands:

pacman: /lib/libc.so.6: version `GLIBC_2.16' not found (required by /usr/lib/libcurl.so.4)

One thing I did (yep, probably the cause) was

pacman -Sd ati-dri binutils boost-libs

as suggested https://wiki.archlinux.org/index.php/De … iki:usrlib, as at first I was getting an error when performing the original upgrade (turns out this wasn't the cause of the error...)

Would be very grateful for a fix!

Thanks

Offline

#2 2012-08-02 18:06:01

xduugu
Member
Registered: 2008-10-16
Posts: 292

Re: Another glibc upgrade issue....

curl is compiled for glibc 2.16 and therefore does not work anymore with an old glibc package (see FS#30978). The easiest way to fix pacman would be downloading an older curl package (check for the correct architecture; or use the package in pacman's cache), extract the library (libcurl.so.4.2.0) and replace the new library with the old one in /usr/lib (maybe make a backup of the new library first). Now you should be able to use pacman again, so upgrade glibc:

pacman -S glibc

After that, make sure you move the curl library back (in case you made a backup) or reinstall curl.

Offline

#3 2012-08-02 19:20:47

warrd
Member
Registered: 2011-10-21
Posts: 7

Re: Another glibc upgrade issue....

Good idea, that works!
Now for the next bit:

I'm now getting

glibc: /lib exists in filesystem

so I follow this helpful advice (https://bbs.archlinux.org/viewtopic.php … 6#p1130416) and issue

grep '^lib/' /var/lib/pacman/local/*/files | grep -v glibc

The result of this is 3500 lines long! Something is telling me this isn't quite right..

Any ideas?
Thanks for the help

Offline

#4 2012-08-02 19:59:39

bronco21016
Member
From: Da Zoo, MI
Registered: 2011-09-23
Posts: 41

Re: Another glibc upgrade issue....

Warrd I get the same thing when I run that grep command. Something tells me it's not right at all but I'm not sure where to go from here.

Glad you figured out rolling back curl though because I though for sure I was really toast without pacman.

Offline

#5 2012-08-02 20:19:28

bronco21016
Member
From: Da Zoo, MI
Registered: 2011-09-23
Posts: 41

Re: Another glibc upgrade issue....

Warrd, here's what I finally did to get it working again.

First, update the system ignoring glibc and curl.

Second, follow the directions outlined in Issue 1 of the wiki link exactly.

I just did these steps and got my system fully updated finally.

Hope this helps!

Offline

#6 2012-08-02 21:07:48

bohoomil
Member
Registered: 2010-09-04
Posts: 2,376
Website

Re: Another glibc upgrade issue....

warrd wrote:

I'm now getting

glibc: /lib exists in filesystem

One of the trivial reasons for the error to appear is that you may still have files not belonging to glibc, e.g. old kernel modules sitting in /lib/modules/*. If this is the case, you can safely remove the non-glibc directories/modules and the upgrade should be possible as advised.

Of course, reinstall the modules you need so that they are found in their new location.

Last edited by bohoomil (2012-08-02 21:09:25)


:: Registered Linux User No. 223384

:: github
:: infinality-bundle+fonts: good looking fonts made easy

Offline

#7 2012-08-02 22:09:36

Bonzodog
Member
From: Leicester, UK
Registered: 2008-02-14
Posts: 106

Re: Another glibc upgrade issue....

ok, I rolled back curl, then ran pacman -Sd to fetch all the other packages on the system, but the final pacman -Su tries to fetch the latest glibc which fails with /lib exists in filesystem. A quick look at /lib shows a redundant modules dir from kernel 3.2.6, but it also shows a whole load of files dated 2/7/12. Not sure if any of them are important, or whether I should just delete the dir and take my chances. I have downloaded 2.16.0.1 from that private repo as suggested on the wiki page and installed that, so now, the latest curl /should/ work.....

Ok, I just ran step two of the wiki, and the grep command now confirms that just glibc 2.16.0.1 owns the remaining files in /lib.....however, it seems to suggest the solution is to remove it, but that would break the system....now what do I do.....

Last edited by Bonzodog (2012-08-02 22:25:28)

Offline

#8 2012-08-03 10:08:30

Barrucadu
Member
From: York, England
Registered: 2008-03-30
Posts: 1,158
Website

Re: Another glibc upgrade issue....

If pacman is complaining about /lib still, then there are files in /lib which are not owned by glibc.

Offline

#9 2012-08-03 13:22:45

warrd
Member
Registered: 2011-10-21
Posts: 7

Re: Another glibc upgrade issue....

For anyone else who managed to upgrade glibc but was left unable to connect to any devices (keyboard, mouse, ethernet..), this worked for me:

* Boot from arch image on USB
* Mount root filesystem and /sys /dev /proc
* chroot to the mount point
* Run

mkinitcpio -p linux

Phew, would have been quicker installing from scratch than everything I had to do for this updgrade!

Last edited by warrd (2012-08-03 13:27:40)

Offline

#10 2012-08-03 15:55:22

bronco21016
Member
From: Da Zoo, MI
Registered: 2011-09-23
Posts: 41

Re: Another glibc upgrade issue....

Bonzodog wrote:

ok, I rolled back curl, then ran pacman -Sd to fetch all the other packages on the system, but the final pacman -Su tries to fetch the latest glibc which fails with /lib exists in filesystem.

Ok, now that curl has been rolled back run

pacman -Syu

It will complain about unresolvable dependencies so what you need to do next is copy what packages have unresolvable dependencies and run them with

pacman -Sd gcc-libs linux initscripts...

Once that is done running the only thing left is /lib should be files owned by glibc so next you run

pacman -Su

My guess is as it stands now there are actually other files still in your /lib that are owned by packages other than glibc. In my case it was still the linux kernel which had not yet been updated properly using

pacman -Sd linux

Try following these steps exactly... as they're outlined in Issue 1 of the developer wiki post and you shouldn't have any problems. If you still have issues then there is something still in /lib that needs to be removed. In that case you need to run the grep command outlined in Issue 2 and figure out what else still owns files in /lib other than glibc.

Offline

#11 2012-08-04 16:42:02

varsovie
Member
Registered: 2006-12-24
Posts: 14

Re: Another glibc upgrade issue....

warrd wrote:

Hi.
I upgraded my system ignoring glibc as suggested in the news:

sudo pacman -Syu --ignore glibc

Thanks

1. Just upgrade mysql, unforeseen pacman tried to upgrade glibc then system totally crash.
2. Another system classic Pacman Syu.... after glibc upgrade system totally unsable.

I wonder how many archlinux users soon will start complain after any package upgrade include or  full upgrade (Syu) will make system dead sad
Here is my trick how to fix broken os when glibce was unforesen written:

1. in grub menu edit root from ~/dev/sda1 to /dev/loop
2. then linux will fail to mount but let you go to shell
3. then go to /dev/disk/ by-uuid and: mount 234098234098 /tmp (or any directory)
4. now nutsheel: rm /tmp/lib , then copy /lib/* /tmp/lib/*
5. tada - now you have back again alive system with basic old /lib from initramfs file smile

Last edited by varsovie (2012-08-04 17:01:32)

Offline

#12 2012-08-04 22:12:42

fileunderwater
Member
Registered: 2009-11-08
Posts: 21

Re: Another glibc upgrade issue....

xduugu wrote:

curl is compiled for glibc 2.16 and therefore does not work anymore with an old glibc package (see FS#30978). The easiest way to fix pacman would be downloading an older curl package (check for the correct architecture; or use the package in pacman's cache), extract the library (libcurl.so.4.2.0) and replace the new library with the old one in /usr/lib (maybe make a backup of the new library first). Now you should be able to use pacman again, so upgrade glibc:

pacman -S glibc

After that, make sure you move the curl library back (in case you made a backup) or reinstall curl.

Thanks for this - help me alot. Had to go through some manual removal of folders in /lib afterwards before I could update glibc, but this got pacman back on track.

Offline

#13 2012-08-06 05:16:37

youngian
Member
Registered: 2012-08-06
Posts: 26

Re: Another glibc upgrade issue....

I was able to work out a solution that didn't involve replacing any of my system libraries. The basic idea is to pull an older version of curl out of pacman's cache, then run pacman linked against that library to downgrade to a working curl.

mkdir /tmp/pacman_build
cd /tmp/pacman_build
# The exact version number probably isn't important, just pick one that isn't the most recent
cp /var/cache/pacman/pkg/curl-7.26.0-1-x86_64.pkg.tar.xz .
tar -xJf curl-7.26.0-1-x86_64.pkg.tar.xz
sudo LD_PRELOAD=/tmp/pacman_build/usr/lib/libcurl.so pacman -U /var/cache/pacman/pkg/curl-7.26.0-1-x86_64.pkg.tar.xz
# Now carry on
sudo pacman -Su
# And clean up if you like
rm -r /tmp/pacman_build

Offline

#14 2012-08-06 05:54:48

blindmen
Member
Registered: 2012-02-11
Posts: 5

Re: Another glibc upgrade issue....

Hi,

whatever I do the result is:

glibc: /lib exists in filesystem
glibc: /lib64 exists in filesystem
Errors occurred, no packages were upgraded.

Any suggestion?
Thanks

Offline

#15 2012-08-06 08:39:00

loafer
Member
From: the pub
Registered: 2009-04-14
Posts: 1,772

Re: Another glibc upgrade issue....

What is it you did exactly?  Are you sure you followed the instructions in the Wiki article from the first post?  Are there any files in those directories not owned by glibc?  What owns the directories?


All men have stood for freedom...
For freedom is the man that will turn the world upside down.
Gerrard Winstanley.

Offline

#16 2012-08-06 09:47:10

benob
Member
Registered: 2008-11-11
Posts: 187

Re: Another glibc upgrade issue....

This thread saved my day. It would really be a good idea to ship a statically linked version of pacman (and busybox as well) to help dealing with such issues.


For those still stuck with /lib conflicts, please follow the wiki guide: upgrade packages that own files in /lib and then delete the rest (and remember to think before deleting vital stuff).

Offline

#17 2012-08-06 13:54:52

PolishHurricane
Member
Registered: 2011-02-02
Posts: 47

Re: Another glibc upgrade issue....

youngian wrote:

I was able to work out a solution that didn't involve replacing any of my system libraries. The basic idea is to pull an older version of curl out of pacman's cache, then run pacman linked against that library to downgrade to a working curl.

mkdir /tmp/pacman_build
cd /tmp/pacman_build
# The exact version number probably isn't important, just pick one that isn't the most recent
cp /var/cache/pacman/pkg/curl-7.26.0-1-x86_64.pkg.tar.xz .
tar -xJf curl-7.26.0-1-x86_64.pkg.tar.xz
sudo LD_PRELOAD=/tmp/pacman_build/usr/lib/libcurl.so pacman -U /var/cache/pacman/pkg/curl-7.26.0-1-x86_64.pkg.tar.xz
# Now carry on
sudo pacman -Su
# And clean up if you like
rm -r /tmp/pacman_build

Nice work around, but it failed for me.  Any idea why?

This is my error from Apache:

error_log:PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib/php/modules/curl.so' - /lib/libc.so.6: version `GLIBC_2.16' not found (required by                 /usr/lib/libcurl.so.4) in Unknown on line 0

*UPDATE*

nvm it worked for me, I just kept it downgraded!

Last edited by PolishHurricane (2012-08-07 18:53:21)

Offline

#18 2012-08-06 19:49:38

blindmen
Member
Registered: 2012-02-11
Posts: 5

Re: Another glibc upgrade issue....

Hi,
thanks,
I followed instruction (both methods) described on the main page of Archlinux:

http://www.archlinux.org/news/filesyste … equired-1/

with the results shown in my previous mail
glibc: /lib exists in filesystem
glibc: /lib64 exists in filesystem
Errors occurred, no packages were upgraded.
now I'll try to follow suggestions,
Thanks all!

Offline

#19 2012-08-07 04:15:45

binskipy2u
Banned
Registered: 2009-09-14
Posts: 212

Re: Another glibc upgrade issue....

I read all of these, I have NO clue on how to fix this problem.. can someone spell it out a lil bit more for me?? plaese.. I can not use pacman at all...
I've tried everything I dont know what else to do... I can not update anything..

Last edited by binskipy2u (2012-08-07 04:24:13)


"Sometimes you comfort the afflicted, other times you AFFLICT the COMFORTABLE"

Offline

#20 2012-08-07 04:30:57

ngoonee
Forum Fellow
From: Between Thailand and Singapore
Registered: 2009-03-17
Posts: 7,354

Re: Another glibc upgrade issue....

binskipy2u wrote:

I read all of these, I have NO clue on how to fix this problem.. can someone spell it out a lil bit more for me?? plaese.. I can not use pacman at all...
I've tried everything I dont know what else to do... I can not update anything..

There's no way to 'spell it out' clearer than what is already available on the front page, the linked wiki page, and various glibc threads. If even that amount of hand-holding is insufficient, please do yourself a favour and use an easier distro.


Allan-Volunteer on the (topic being discussed) mailn lists. You never get the people who matters attention on the forums.
jasonwryan-Installing Arch is a measure of your literacy. Maintaining Arch is a measure of your diligence. Contributing to Arch is a measure of your competence.
Griemak-Bleeding edge, not bleeding flat. Edge denotes falls will occur from time to time. Bring your own parachute.

Offline

#21 2012-08-07 12:29:42

PolishHurricane
Member
Registered: 2011-02-02
Posts: 47

Re: Another glibc upgrade issue....

blindmen wrote:

Hi,
thanks,
I followed instruction (both methods) described on the main page of Archlinux:

http://www.archlinux.org/news/filesyste … equired-1/

with the results shown in my previous mail
glibc: /lib exists in filesystem
glibc: /lib64 exists in filesystem
Errors occurred, no packages were upgraded.
now I'll try to follow suggestions,
Thanks all!

You guys probably need to follow this link instead of the other one: http://www.archlinux.org/news/the-lib-d … a-symlink/ and make note of THIS GUIDE: https://wiki.archlinux.org/index.php/De … iki:usrlib

I maintain a few machines and I found that Issue #2 on that Wiki page pops up a lot, if not 90% of the time.  In that case, grep is your friend, it requires more thinking than usual, but even though I consider myself a newbie, I still figured it out.

If you haven't updated since both issues occurred, then you will need to temporarily run ignore on both, fix the filesystem issue first, then deal with glibc.

Last edited by PolishHurricane (2012-08-07 12:30:17)

Offline

#22 2012-08-07 12:34:57

darkmav
Member
Registered: 2012-01-21
Posts: 127

Re: Another glibc upgrade issue....

I am using Arch Linux on my Dell XPS 15 laptop, and facing the same problem after a pacman -Syu. I tried everything in the wiki, and went through this thread too, but nothing works. ANY command I execute with pacman returns the following error message:

pacman: /lib/libc.so.6: version 'GLIBC - 2.16' not found (required by /usr/lib/libcurl.so.4)

I downloaded glibc-2.16.0-1-x86_64.pkg.tar.xz on my Windows partition, but the Windows partition is not mountable now on Arch: while fdisk displays /dev/sda3 as a valid NTFS partition, the command

mount /dev/sda3 /mnt

which used to work earlier (as root) does not work anymore, and I get a message saying /dev/sda3 could not be found.

To add to my woes, the internet connection is inactive as the wireless driver too seems to have been corrupted during the update. So using wget to download this file is not an option.

Needless to say, X WIndows does not start because the driver and kernel are mismatched, and gcc is inaccessible.

I would appreciate any inputs about how this situation can be remedied. I am having to use my Windows installation just to post this here, and unfortunately I do not have access to another machine right now.

Offline

#23 2012-08-07 20:36:13

flamirande
Member
Registered: 2010-03-22
Posts: 9

Re: Another glibc upgrade issue....

I am working on getting the system upgrade to work. I haven't been succesful yet, but I got it to work on another machine last week, so it shouldn't be a problem. I'll post detailed instructions when I get it to work.

What I have been able to do is to fix the pacman error:

pacman: /lib/libc.so.6: version 'GLIBC - 2.16' not found (required by /usr/lib/libcurl.so.4

To do so, first backup the existing libraries by doing

# cp /usr/lib/libcurl.so.4 /usr/lib/libcurl.so.4.backup
# cp /usr/lib/libcurl.so.4.2.0 /usr/lib/libcurl.so.4.2.0.backup

Note that you have to do everything as root.

Next, you have to find out if you have an older version of curl in your pacman cache, which should be the case if you didn't clear the cache after the update. To do so, run

$ ls /var/cache/pacman/pkg/curl*

You should get something like

/var/cache/pacman/pkg/curl-7.23.1-2-x86_64.pkg.tar.xz
/var/cache/pacman/pkg/curl-7.24.0-2-x86_64.pkg.tar.xz
/var/cache/pacman/pkg/curl-7.25.0-1-x86_64.pkg.tar.xz
/var/cache/pacman/pkg/curl-7.26.0-1-x86_64.pkg.tar.xz
/var/cache/pacman/pkg/curl-7.27.0-1-x86_64.pkg.tar.xz

as output. As long as you have one version <7.27 you should be all right. I used 7.26, but replace that number with a version you have in the following steps.

Next, you need to extract the package from the cache into a temporary directory. To do so, run

# tar -xvf /var/cache/pacman/pkg/curl-7.26.0-1-x86_64.pkg.tar.xz -C /tmp

Then, copy the libraries extracted from the old package over the new ones:

# cp /tmp/usr/lib/libcurl.so.4 /usr/lib/libcurl.so.4
# cp /tmp/usr/lib/libcurl.so.4.2.0 /usr/lib/libcurl.so.4.2.0

Voilà, pacman should now work. I'll keep working on fixing the main issue and will post again when I do.

EDIT: I got it to work by following the instruction at the end of https://wiki.archlinux.org/index.php/De … iki:usrlib. Specifically, other packages (bluez and lirc) owned files in /usr/lib. To see if that's the problem, run

$ grep '^lib/' /var/lib/pacman/local/*/files

and see if you see any other package than glibc in the /var/lib/PACKAGE/... portion of the output. Then, make note of the packages, remove them without removing their dependencies by using

# pacman -Rdd PACKAGE1 PACKAGE2 ...

update glibc with

# pacman -S glibc

reinstall the packages you removed previously

# pacman -S PACKAGE1 PACKAGE2 ...

and finally update everything with

# pacman -Syu

Last edited by flamirande (2012-08-07 20:54:38)

Offline

#24 2012-08-09 16:11:49

darkmav
Member
Registered: 2012-01-21
Posts: 127

Re: Another glibc upgrade issue....

Thanks for your reply flamirande. Your solution has fixed pacman, but I cannot update from the console (text) mode, because it seems the wifi isn't going to work until I start X, which won't work till the nvidia driver is properly re-installed, which is possible only when the kernel headers are restored...something that requires internet access.

Offline

#25 2012-08-10 00:00:19

nolochemical
Member
From: St. catharines, Ontario,Canada
Registered: 2009-05-25
Posts: 18
Website

Re: Another glibc upgrade issue....

Youngian's downgrade fixed (post #13) worked for me. Thanks. smile


We may only attempt to reverse engineer the future.. for now.
walls/screens|.conkyrc

Offline

Board footer

Powered by FluxBB