Redhat Linux /lib/libc.so.6: version `GLIBC_2.16' not found (required by /lib/libncurses.so.5)
EDIT: I assume you're using a normal i386 compatible processor.
How did you end up in having ncurses from a new system?
Anyway, here is what you asked for, you can take it from: http://launchpadlibrarian.net/123667354/libc6_2.16-0ubuntu6_i386.deb (launchpad)
By extracting the package (for example on Windows using 7zip) and taking libc.so.6 out of it. (in lib/i386-linux-gnu/)
For amd64 you just need to adapt it.
However do NOT install this package by overwriting! Just use libc.so.6 if that was the workaround, else your server is most likely screwed up. Even though it's from another distribution this normally works.
In case you are on Linux and you don't want to reboot or whatever, here is a way to unpack it on Linux.
# mkdir libc
# cd libc
# ar x ../libc6_2.16-0ubuntu6_i386.deb
# tar xzf data.tar.gz
now you should have a directory with all .so files in the libc6 package.
Oh, and be careful, libc.so.6 is actually a link to libc-2.16.so here so you want to copy libc-2.16.so and not libc.so.6
Related videos on Youtube
Junaid388
Updated on September 18, 2022Comments
-
Junaid388 over 1 year
I am running a server RHEL 6.4 which currently has GLIBC 2.12 installed on it. We are trying to run a program which gives this error
/lib/libc.so.6: version `GLIBC_2.16' not found (required by /lib/libncurses.so.5)
I can't updgrade through a repo since the Server is not connected to Internet.
The last person did a work around in which he took the libc.so.6 file from a GLIBC_2.16 and changed the link in the /lib file, it seemed to work correctly,
But I am unable to find the libc.so.6 file for GLIBC_2.16
Any ideas where I can find the file without competely upgrading the system wide GLIBC.
If not any work arounds to make that app use the new GLIBC.
-
Junaid388 over 9 yearsThe Server is a a RHEL 6.4 running x86_64. And the the ncurses are for a netezza CLI Cleint. Would it be better if we update the glibc to 2.16 or latest version? If so how can we do it without an internet connection of access to redhat repos. And is it backward compatible and won't cause issue with existing installations.
-
The19thFighter over 9 yearsThen you should be fine with this package: launchpadlibrarian.net/121445924/libc6_2.16-0ubuntu3_amd64.deb
-
The19thFighter over 9 yearsUpgrading glibc shouldn't be an issue.
-
Junaid388 over 9 yearsSince I don't have yum, How can I upgrade glibc without while resolving dependencies ?? New to Linux Administation :/
-
The19thFighter over 9 yearsrpm.org/max-rpm/s1-rpm-install-performing-install.html You can use rpm -i package.rpm to install a package. However I never used a rpm based distro, so I can't assure it's perfect. access.redhat.com/downloads on the right you should be able to search for packages, if you own a RedHat account. I think you could download the newest glibc there. If this doesn't work access.redhat.com/solutions/10154 You can then install the downloaded rpm, by transferring it to the server. rpm should check dependencies.
-
The19thFighter over 9 yearsI just looked around seems 2.12 is the actual stable for 6.4 You could still upgrade (by downloading for example 2.17 from el7) but I wouldn't suggest to do so, as this could have negative effects on the stability. Never change a running system, unless really needed.
-
Junaid388 over 9 yearsThe problem is that the client we need requires a 2.16, I think what has happened in that the sysadmin before me installed ncurses complied with glibc 2.16 and now we are being forced to run this, Either I downgrade all the dependencies or I upgrade the current one.
-
The19thFighter over 9 yearsI would suggest do downgrade the current ncurses to a version which is using an older version of glibc, but be careful, it could be that exactly this version is needed by your program, which could be the reason why the sys-admin installed it at all. If that's the case, you would need to recompile the current version of ncurses to work with glibc 2.12. Just check if the old ncurses works with your program. If not you can still revert it back(if you have the pkg). Upgrading glibc is probably the most dangerous thing you can do, and if something should go wrong, it will be a pain to fix that.
-
Junaid388 over 9 yearsHow Can I recomplie the current version of ncurses. I checked the ISO for REDhat and it has the following version are installed from the Redhat Media glibc.x86_64 - 2.12-1.107.el6 ncurses.x86_64 - 5.7-3.20090208.el6 If they are both installed from same media why aren't they compatible with the version of glibc
-
The19thFighter over 9 yearsAre you sure no one has overwritten ncurses? Also it could be that not a native version of ncurses gets used and instead one bundled with your software. Using ldd with the path to the exe (your software) should clear things up, or if that doesn't work, use LD_DEBUG=libs as environment variable then >> the output into a file, and check where ncurses got loaded from.
-
Junaid388 over 9 yearsI checked and the ncurses are being loaded from the proper lib path , I even tried reinstalling glibc and ncurses first but still getting the same error :/ Anyway I can check if there is a library that is dependent on ncurses to run, like ncurses requires glibc to run.
-
Junaid388 over 9 yearsMy Bad, someone had manually placed the so file in the lib folder, and manually created the softlink, deleted the softlink, deleted so file, reinstall ncurses, Ran like a charm