- Почему отсутствует /lib/libc.so.6?
- Arch Linux
- #1 2012-08-11 20:09:33
- [solved] libc.so.6 version GLIBC_2.16 not found
- #2 2012-08-12 06:44:38
- Re: [solved] libc.so.6 version GLIBC_2.16 not found
- #3 2012-08-14 01:02:31
- Re: [solved] libc.so.6 version GLIBC_2.16 not found
- #4 2012-08-14 07:53:14
- Re: [solved] libc.so.6 version GLIBC_2.16 not found
- #5 2012-08-14 21:58:51
- Re: [solved] libc.so.6 version GLIBC_2.16 not found
- #6 2012-08-15 15:06:25
- Re: [solved] libc.so.6 version GLIBC_2.16 not found
- #7 2012-08-15 17:16:12
- Re: [solved] libc.so.6 version GLIBC_2.16 not found
- #8 2012-08-17 13:06:36
- Re: [solved] libc.so.6 version GLIBC_2.16 not found
- #9 2012-08-19 01:00:24
- Re: [solved] libc.so.6 version GLIBC_2.16 not found
- #10 2012-08-22 10:20:54
- Re: [solved] libc.so.6 version GLIBC_2.16 not found
- #11 2012-08-23 15:13:36
- Re: [solved] libc.so.6 version GLIBC_2.16 not found
- #12 2012-08-25 11:20:42
- Re: [solved] libc.so.6 version GLIBC_2.16 not found
- #13 2012-09-04 06:59:24
- Re: [solved] libc.so.6 version GLIBC_2.16 not found
- #14 2012-10-27 10:26:20
- Re: [solved] libc.so.6 version GLIBC_2.16 not found
- #15 2012-10-27 10:42:47
- Re: [solved] libc.so.6 version GLIBC_2.16 not found
- #16 2012-10-27 10:49:35
- Re: [solved] libc.so.6 version GLIBC_2.16 not found
- #17 2012-10-27 10:52:57
- Re: [solved] libc.so.6 version GLIBC_2.16 not found
- #18 2012-10-27 11:29:10
- Re: [solved] libc.so.6 version GLIBC_2.16 not found
- #19 2012-10-27 11:47:03
- Re: [solved] libc.so.6 version GLIBC_2.16 not found
- #20 2012-10-27 11:56:17
- Re: [solved] libc.so.6 version GLIBC_2.16 not found
- #21 2012-10-27 12:12:08
- Re: [solved] libc.so.6 version GLIBC_2.16 not found
- #22 2012-10-27 12:16:54
- Re: [solved] libc.so.6 version GLIBC_2.16 not found
- #23 2015-01-20 20:48:14
- Re: [solved] libc.so.6 version GLIBC_2.16 not found
- Cannot find /lib/libc.so.6
- 4 Answers 4
Почему отсутствует /lib/libc.so.6?
показывает, что он включен /lib/i386-linux-gnu/libc.so.6 , но сценарий, который я выполнял, ожидал, что он будет находиться непосредственно под ним /lib , так почему нет хотя бы символической ссылки?
Рискну ли я что-нибудь сломать, если добавлю туда ссылку?
libc.so был перенесен как часть многоархивной работы в Ubuntu 11.04. Причина, по которой здесь не может быть символической ссылки, заключается в том, что цель multiarch состоит в том, чтобы сделать возможным одновременную установку как версий, так i386 и amd64 версий, libc чтобы вы могли легче запускать 32-разрядные двоичные файлы в 64-разрядных системах и наоборот (и другие подобные ситуации). Если libc6 пакет содержал символическую ссылку на новое местоположение, то версии этого пакета для разных архитектур не могли бы быть установлены одновременно (какую версию символической ссылки dpkg выберет?), Что нанесло бы ущерб всей цели упражнения.
Все, что жестко кодирует путь, libc.so должно быть обновлено для правильной работы начиная с Ubuntu 11.04 и далее. Если скрипт, о котором вы говорите, является частью Ubuntu, пожалуйста, сообщите об ошибке и добавьте multiarch тег.
Динамические библиотеки загружаются ядром, пути не жестко закодированы в программе. Программа просто говорит: «Мне нужен libc.so.6». Затем система выполняет поиск в путях к библиотекам, как определено в /etc/ld.so.conf , в том числе /usr/lib и /lib по умолчанию. Этот файл включает в себя дополнительные файлы конфигурации в /etc/ld.so.conf.d .
В моей 64-битной системе libc.so.6 можно найти /lib/x86_64-linux-gnu/libc.so.6 из-за пути, определенного в /etc/ld.so.conf.d/x86_64-linux-gnu.conf :
Чтобы узнать, какая библиотека загружена программой, используйте ldd как в ldd /bin/bash :
Размещение символической ссылки ничего не сломает.
Чтобы получить список каталогов, в которых выполняется поиск, выполните:
Источник
Arch Linux
You are not logged in.
#1 2012-08-11 20:09:33
[solved] libc.so.6 version GLIBC_2.16 not found
i have tried to upgrade arch today, and i am getting too deep,
im stilll getting error message
pacman: /lib/libc.so.6 version GLIBC_2.16 not found (required by /usr/lib/libcurl.so.4)
i followed the instructions here https://wiki.archlinux.org/index.php/De … iki:usrlib and am not getting anywhere. i am following the instructions here https://bbs.archlinux.org/viewtopic.php?pid=1144268 and im also not getting anywhere with this.
i did untar the package curl-7.26.0-1-x86_64.pkg.tar.xz from cache and tried to overwrite teh curl libs in /usr/lib and im still getting this error. previously i ignored the unresolvable dependencies which i now feel is a mistake, the list is quite long, heres an example
and the actual ones i ignored that i still have to upgrade because they have been ignored are as follows
pacman -Sd binutils dbus dbus-core gcc gcc-libs ghostscript glib2 glibmm gnutls grep gtk2 icu initscripts libcups libgl linux mesa mkinitcpio pcre php php-apache php-gd php-mcrypt php-pear phpmyadmin samba systemd-tools
im going to stop here until i get some assistance if possible before i break anything. i do have my original curl libs backed up to /tmp/pacman_build/usr directory
where to go from here?
Last edited by wolfdogg (2012-08-12 06:45:49)
Node.js, PHP Software Architect and Engineer (Full-Stack/DevOps)
GitHub | LinkedIn
#2 2012-08-12 06:44:38
Re: [solved] libc.so.6 version GLIBC_2.16 not found
ok, i was able to solve the error
libc.so.6 version GLIBC_2.16 not found
Curl needed to be downgraded because i did a pacman -Sd , and probably mistakenly upgraded curl without upgrading glibc. I know this is mostly mentioned in the other post linked above, however the instructions werent clear enough. note, i didnt have to use the LD_PRELOAD method.
this was how i was able to downgrage curl after enough messing around with it.
replace arch with either x86_64 or i686 depending on your architecture
Last edited by wolfdogg (2012-08-22 06:04:05)
Node.js, PHP Software Architect and Engineer (Full-Stack/DevOps)
GitHub | LinkedIn
#3 2012-08-14 01:02:31
Re: [solved] libc.so.6 version GLIBC_2.16 not found
Hey worked great for me thanks.
I simply did this:
and it upgraded fine, then I tried to do another -Syu and it came up with your error. Annoying since there was no reason, I did not force dependency ignores or anything. Fixed now though!
#4 2012-08-14 07:53:14
Re: [solved] libc.so.6 version GLIBC_2.16 not found
I also had to move old stuff from
by hand before glibc would update.
#5 2012-08-14 21:58:51
Re: [solved] libc.so.6 version GLIBC_2.16 not found
Thanks @wolfdogg. Just a side note. If you are running a 32-bit machine you need to use this url for the curl package.
#6 2012-08-15 15:06:25
Re: [solved] libc.so.6 version GLIBC_2.16 not found
glad i could help
@bostonvaulter, thanks, i updated the post to reflect the architecture changes, although the address is different than the one you used. they are both listed here http://arm.konnichi.com/2012/07/26/pool/packages/
Last edited by wolfdogg (2012-08-15 15:08:10)
Node.js, PHP Software Architect and Engineer (Full-Stack/DevOps)
GitHub | LinkedIn
#7 2012-08-15 17:16:12
Re: [solved] libc.so.6 version GLIBC_2.16 not found
I tested your method.
Now I have an other error message.
I’m against internet totalitarians of any kind.
And like cheese’s humor.
#8 2012-08-17 13:06:36
Re: [solved] libc.so.6 version GLIBC_2.16 not found
I tested your method.
Now I have an other error message.
You probably needed to reinstall curl from your livecd environment as well.
#9 2012-08-19 01:00:24
Re: [solved] libc.so.6 version GLIBC_2.16 not found
@wolfdogg: here, take another bean from me! +1
Enjoying i3wm w/ lifebar + j4-dmenu-desktop + tab_windows / fish shell / Emacs / tmux / Konsole / KDE apps
Arch + Linux-libre kernel: ParabolaGNULinux.org
#10 2012-08-22 10:20:54
Re: [solved] libc.so.6 version GLIBC_2.16 not found
ok, i was able to solve the error
libc.so.6 version GLIBC_2.16 not found
Curl needed to be downgraded because i did a pacman -Sd , and probably mistakenly upgraded curl without upgrading glibc. I know this is mostly mentioned in the other post linked above, however the instructions werent clear enough. note, i didnt have to use the LD_PRELOAD method.
this was how i was able to downgrage curl after enough messing around with it.
replace arch with either x86_64 or i686 depending on your architecture
I followed this, and now I’m just getting the initial error again.
error: failed to commit transaction (conflicting files)
glibc: /lib exists in filesystem
Errors occurred, no packages were upgraded.
pacman -Syu —ignore glibc and pacman -Syu and pacman -Su fails with that error.
EDIT: I was a bit to quick it seems. i had to ignore curl in my initial upgrade. Now it works. Great guide. Very helpful
Last edited by Del Pede (2012-08-22 10:27:00)
#11 2012-08-23 15:13:36
Re: [solved] libc.so.6 version GLIBC_2.16 not found
tyvm, wish i could send some kisses to you!
#12 2012-08-25 11:20:42
Re: [solved] libc.so.6 version GLIBC_2.16 not found
Wewt, wasn’t home for a few months and accidentally only ignored glibc, not curl (shame on me). Thanks for the hint on switching around curl (I moved the backed up things back afterwards). Looks like it solved things for now (though I’m still going through pacnews before I get around to restarting).
Edit: Yup, solved it completely. Thanks!
Last edited by wardmuylaert (2012-08-25 18:06:50)
#13 2012-09-04 06:59:24
Re: [solved] libc.so.6 version GLIBC_2.16 not found
#14 2012-10-27 10:26:20
Re: [solved] libc.so.6 version GLIBC_2.16 not found
I followed this, and now I’m just getting the initial error again.
error: failed to commit transaction (conflicting files)
glibc: /lib exists in filesystem
Errors occurred, no packages were upgraded.
pacman -Syu —ignore glibc and pacman -Syu and pacman -Su fails with that error.
EDIT: I was a bit to quick it seems. i had to ignore curl in my initial upgrade. Now it works. Great guide. Very helpful
Hi have have the same problem that you had (first I did everything according to the original instructions (I think), then I got the same problem as the thread starter, I followed his instructions and got what you described) but ignoring curl when updating doesn’t help me, I’m still stuck here (actually I don’t think he even wants to update curl as iti is not listed in my update list).
I would very much appreciate some help here since I’m stuck with this problem for some time now.
Here’s what I get when I try to update now:
#15 2012-10-27 10:42:47
Re: [solved] libc.so.6 version GLIBC_2.16 not found
@Triver, you may have to check for unpackaged files under /lib:
To be sure, also have a look in /lib yourself if there are any leftover files or directories.
The wiki page mentioned in the first post of this thread should provide all the commands you need to find and fix any issues with the glibc update.
#16 2012-10-27 10:49:35
Re: [solved] libc.so.6 version GLIBC_2.16 not found
okay so here’s the output of the command:
if you say «have a look in /lib yourself if there are any leftover files or directories» then what files exactly do you mean? those who are still owned by glibc? and how do I move them properly (or is this already described in the wiki)?
#17 2012-10-27 10:52:57
Re: [solved] libc.so.6 version GLIBC_2.16 not found
Ok if you’re not using those old kernels anymore, just remove the modules directory:
Then, per the wiki, manually install glibc:
Then proceed as normal.
Last edited by litemotiv (2012-10-27 11:00:00)
#18 2012-10-27 11:29:10
Re: [solved] libc.so.6 version GLIBC_2.16 not found
Wow it actually worked, thank you so much (and to the threadstarter too)
A little sidenote here though, when I manually updated glibc as you suggested he showed me the messages
and he also showed me the first line when I did a pacman -Syu afterwards.
Should I worry or even do something about that?
Last edited by Triver (2012-10-27 11:35:15)
#19 2012-10-27 11:47:03
Re: [solved] libc.so.6 version GLIBC_2.16 not found
Wow it actually worked, thank you so much (and to the threadstarter too)
A little sidenote here though, when I manually updated glibc as you suggested he showed me the messages
and he also showed me the first line when I did a pacman -Syu afterwards.
Should I worry or even do something about that?
That’s probably because you manually restored curl before. They are supposed to be symlinked like this:
You can fix that manually, they are relative links so you should use the -r switch with ln.
#20 2012-10-27 11:56:17
Re: [solved] libc.so.6 version GLIBC_2.16 not found
So I have to do
and that’s it?
How can I check if the other links are correct?
#21 2012-10-27 12:12:08
Re: [solved] libc.so.6 version GLIBC_2.16 not found
So I have to do
and that’s it?
How can I check if the other links are correct?
#22 2012-10-27 12:16:54
Re: [solved] libc.so.6 version GLIBC_2.16 not found
excellent, thanks again for your fast reply
#23 2015-01-20 20:48:14
Re: [solved] libc.so.6 version GLIBC_2.16 not found
i ran into this problem again and wanted to update the url so one can find the old version of curl. the instructions on this page were flawless, and i remember was the only way i was able to get things to work, however i went back and looked everywhere and cant find the old curl version.
Can someone point me to a valid link of old curl versions, 7.26.xx to be exact. anybody?
the reason this is still an issue is because i have an older arch install cd (that needs updating) which i needed for rescue and after i ran pacman on it to install testdisk i ran into these problems.
EDIT: Disregard this anyhow, i realized i wasnt using my 2nd to newest arch iso, i was using my 3rd to newest, ouch. i threw them both away and made a fresh one. nice to see test disk is on these by default!
Last edited by wolfdogg (2015-01-20 23:54:54)
Источник
Cannot find /lib/libc.so.6
I’m cross-compiling an application, but linking blows up with an error that it
The libc.so.6 that it should be using is the one that sits at /home/work/worldcom/filesys/lib/libc.so.6 . What have I got wrong here?
My makefile is handwritten (i.e. not generated by Autotools). In order to avoid a blanket «your Makefile is broken» here are some details from the makefile that might help clarify.
Of course there is also a definition and target for the LIBOBJ_OBJS but those are irrelevant to the problem.
4 Answers 4
You didn’t indicate what gcc version you are using, but if it is a recent enough one (4.0.0 and above me thinks) you should try adding the —sysroot flag to g++/ld. Point it to $SYSROOT as defined in your Makefile. For example:
Assuming recent enough gcc version, it will work.
I just went through the same issue; adding —sysroot=/rootfs/prefix helped me get closer to the real issue. I got it fixed by installing package libstdc++-dev in target.
Have you not considered that possibly the LIBPATH is set and hard-coded to look for the /lib/libc.so.6 and therefore the /lib path?
Have you tried to set the environment variable like this on the command line, prior to issuing make when cross-compiling:
In your specific case, as you have mentioned in the tag ‘cross-compiling’, it might be worth it to remove any references to /lib to wholly force the linker to look in your own home directory instead as not to interfere with the cross-compile process.
The other possibility is that the gcc compiler when it was built for your environment, the configuration during the building of the compiler from source, was specified to point to the /lib path.
Источник