I've got this error with buildroot-2022.11 when executing make.
Ubuntu 20.04 - added this repo as described in the link
sudo apt update
sudo apt install libc6
It automatically installed 2.35 for me.
Answer from mister_kanister on Stack OverflowI've got this error with buildroot-2022.11 when executing make.
Ubuntu 20.04 - added this repo as described in the link
sudo apt update
sudo apt install libc6
It automatically installed 2.35 for me.
In my case, replace FROM go:1.21 with FROM go:1.21.0-bullseye (docker) or try tinkering there.
You don't have a high enough version of libc6, that is causing the error.
From How to fix “/lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.14' not found”? – Super User:
That means the program was compiled against glibc version 2.14, and it requires that version to run, but your system has an older version installed. You'll need to either recompile the program against the version of glibc that's on your system, or install a newer version of glibc (the "libc6" package in Debian).
So, you just need to upgrade your libc6 package. All versions of Ubuntu have at least version 2.15 because it's a faily important package (reference).
To upgrade it, use these commands in a terminal:
sudo apt-get update
sudo apt-get install libc6
For the benefit of those like me who are only experiencing this issue in one particular directory;
In my case there was a shared library file in my directory that was somehow throwing off the OS. I opened the folder in a file explorer, sorted by 'mime type' then deleted files of the type 'sharedlib' (or application/x-sharedlib) until my command (ls) worked again without that error. In my case the shared library file at fault was named 'libc.so.6'.
/lib64/libc.so.6: version `GLIBC_2.26' not found
Gpg: /usr/lib/libc.so.6: version `GLIBC_2.38' not found (required by gpg)
hugo: /lib/x86_64-linux-gnu/libm.so.6: version `GLIBC_2.29' not found (required by hugo)
Version GLIBC not found and target not found?
hi all,
trying to run aspera connect plugin on a centos 7 machine but im getting this error when im trying to install
/lib64/libc.so.6: version `GLIBC_2.26’ not found
ive tried to install yum install glibc but no joy
thanks,
rob
Just quick checking online, it looks like that version isn’t available for Centos 7. An older version is here - https://pkgs.org/download/libc.so.6(GLIBC_2.7)(64bit)
The 2.26 version is available for Centos 8 - https://pkgs.org/download/libc.so.6(GLIBC_2.26)(64bit)
Hey, guys. I usually go with Ubuntu but right now I'm using an Arch VM (Cyberops Workstation) for a course I'm enrolled in. I'm having two separate issues. The first is that I'm trying to locate messsages and I get /usr/lib/libc.so.6: version \GLIBC_2.33' not found (required by locate). When I looked through that library, the file in question did not exist. I had already updated my entire system with -Syu, that changed nothing. I read sudo pacman -S libtool gcc gcc-libs would fix my problem and while now libc.so.6 exists, the same message pops up. What can I do?
I know I shouldn't partially update, but it's fine. I have exported an OVA of my system before tinkering with it and I can start over any time.
The second is that I'm also trying to install chkrootkit and I keep getting error: target not found: chkrootkit, even though as I've said I have already ran sudo pacman -Syu and so to my understanding any mirrors and repositories should have been updated. I figured I might need some kind of AUR helper, even though the guy in the Cisco instructional video is able to install it through pacman, but I keep having problems installing any of them.
Modifying talsim's answer from below to what worked for me.
wget -4c https://ftp.gnu.org/gnu/glibc/glibc-2.29.tar.gz
tar -zxvf glibc-2.29.tar.gz
cd glibc-2.29
mkdir build_dir
cd build_dir
sudo ../configure --prefix=/opt/glibc
sudo make
sudo make install
I ran into this problem trying to run Node.js 20 on a Raspberry Pi that is running Buster. As this and other threads have noted, updating the system libraries is very unwise as the OS depends on specific versions. As I also have Raspberry's running Bullseye, and Node.js 20 runs on Bullseye, it was easy enough to get various updated libraries to experiment with. I created a subdirectory in my home directory called ~/lib and then issued the command export LD_LIBRARY_PATH=~/lib. By copying various newer libraries from my Bullseye system to my ~/lib directory on the Buster system, I was able to determine that only libm.so.6 and libstdc++.so.6 were the out of date libraries preventing Node.js 20 from running.
So if I want to run Node.js 20, I use a bash script that exports the LD_LIBRARY_PATH variable and then invokes node. For me, it is a good workaround until I migrate this system to Bookworm.
I should note that the older the system is, the harder it will be to catch all the dependencies. Just as test, I booted an SD card with an old Wheezy system on it. I was unable to find any collection of libraries that would allow a relatively recent Node.js release to run. I suspect that if I was trying to get Node.js 20 to run under Stretch, it would probably be even more involved than just two libraries and even that might not work due to the age of the system.
Get a live image of archlinux, install it to a usb and boot it.
Then mount your old root partition to /mnt/old_root with
mkdir /mnt/old_root
mount /dev/sdX2 /mnt/old_root
where /dev/sdX2 is the root partition. Check with lsblk command beforehand.
Then type
pacstrap /mnt/old_root glibc lib32-glibc
This will install newest version of glibc in your system. You can restart now and the errors should have gone.
On a side note, archlinux(and it's derivatives) don't support partial upgrades. i.e upgrading one package without upgrading others. Please read this link:
https://wiki.archlinux.org/index.php/System_maintenance#Partial_upgrades_are_unsupported
I can confirm this works because i just did this 😜.
Solution if host has docker:
- Run archlinux container wich root volume:
docker run -it -v /:/tmp/hostroot archlinuxrolling/pacman bash
- Update glibc within container
pacman -S -r /tmp/hostroot glibc lib32-glibc
Hello, mates.
I need to run a file on RedHat: file.bin
But when I run it, it gives me the following:
>>./file.bin ./file.bin: /lib64/libm.so.6: version GLIBC_2.29' not found (required by ./file.bin) ./file.bin: /lib64/libc.so.6: version GLIBC_2.34' not found (required by ./file.bin) ./file.bin: /lib64/libc.so.6: version GLIBC_2.32' not found (required by ./file.bin)
So then I took the following steps:
>>wget http://ftp.gnu.org/gnu/libc/glibc-2.34.tar.gz >>tar -xvzf glibc-2.34.tar.gz >>cd glibc-2.34 >>mkdir build && cd build >>../configure --prefix=/opt/glibc-2.34 >>make -j$(nproc) >>sudo yum install gcc gcc-c++ make >>make install >>sudo yum install bison >>mkdir -p $HOME/glibc-2.34 >>../configure --prefix=$HOME/glibc-2.34 >>make -j$(nproc) >>make install >>~/glibc-2.34/lib/ld-linux-x86-64.so.2 --library-path ~/glibc-2.34/lib:/ lib64:/usr/lib64 ./file.bin >>~/glibc-2.34/lib/ld-linux-x86-64.so.2 --library-path ~/glibc-2.34/lib ./file.bin >>~/glibc-2.34/lib/ld-linux-x86-64.so.6 --library-path ~/glibc-2.34/lib ./file.bin
Now I have the following:
>>ls glibc-2.34 (dir) file.bin >>~/glibc-2.34/lib/ld-linux-x86-64.so.2 \ --library-path ~/glibc-2.34/lib:/usr/lib64 \ ./file.bin
It gives nothing... no error or so.
But by aux command I see the file aren't active. I think about setting up an access policy from the server to the Internet that blocks the file's access to the world, which is why the program does not load... but the firewall has a rule for free access from the server to the world and no traffic should be blocked.
I would be very grateful if someone could tell me where I'm going wrong or help me deal with this problem.
Thank you all in advance for taking the time to read this post and possibly help me out.
That means the program was compiled against glibc version 2.14, and it requires that version to run, but your system has an older version installed. You'll need to either recompile the program against the version of glibc that's on your system, or install a newer version of glibc (the "libc6" package in Debian).
Debian has glibc 2.16 in the "experimental" repository, but recompiling the program is the safer option. Glibc is the library that everything depends on, so upgrading it can have far-reaching implications. Although there's probably nothing wrong with Debian's glibc 2.16 package, the fact that it's in the experimental repository means it hasn't received as much testing.
I have posted my solution here, repost it for reference.
In my situation, the error appears when I try to run an application (compiled on Ubuntu 12.04 LTS) using GLIBC_2.14 on Debian Wheezy (which installs glibc 2.13 by default).
I use a tricky way to run it, and get correct result:
Download libc6 and libc6-dev from Ubuntu 12.04 LTS
Run dpkg command to install them into a directory (/home/user/fakeroot/ for example):
$ dpkg -x libc6-dev_2.15-0ubuntu10.6_amd64.deb /home/user/fakeroot/ $ dpkg -x libc6_2.15-0ubuntu10.6_amd64.deb /home/user/fakeroot/Run your command with specified LD_LIBRARY_PATH:
$ LD_LIBRARY_PATH=/home/user/fakeroot/lib/x86_64-linux-gnu/ YOUR_COMMANDMy application only uses memcpy() from GLIBC_2.14, and it works.
I don't know whether it will work successfully for other applications. Wish it helpful.
You need to install glibc alongside your current installation of glibc as you cannot update to glibc 2.14 directly in centos 6.x safely. Follow the steps below to install glibc 2.14:
mkdir ~/glibc214cd ~/glibc214wget http://ftp.gnu.org/gnu/glibc/glibc-2.14.tar.gztar zxvf glibc-2.14.tar.gzcd glibc-2.14mkdir buildcd build../configure --prefix=/opt/glibc-2.14make -j4sudo make installexport LD_LIBRARY_PATH=/opt/glibc-2.14/lib(for current login session) OR addLD_LIBRARY_PATH=/opt/glibc-2.14/libin the /etc/environment and performsource /etc/environment(to add env variable permanently)
To install locally, 8th line in first answer became
../configure --prefix=$HOME/.local
then we do not need the "sudo" in 10th line. i.e.
make install
is enough.
You might need to
touch $HOME/.local/etc/ld.so.conf
line 11 becomes:
export LD_LIBRARY_PATH="$HOME/.local/lib"
in .bash_profile of el6