- Saved searches
- Use saved searches to filter your results more quickly
- /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.32′ not found #58550
- /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.32′ not found #58550
- Comments
- What version of Go are you using ( go version )?
- Does this issue reproduce with the latest release?
- What operating system and processor architecture are you using ( go env )?
- What did you do?
- What did you expect to see?
- What did you see instead?
- How do I install the Linux library libc.so.6 [SOLVED]
- Scenario-1: How do I install the library libc.so.6?
- Locate the package name of the library
- Install the missing library on Red Hat Linux
- Installation for 64-bit
- Installation for 32-bit
- Install the missing library on Debian Linux
- Installation for 64-bit
- Installation for 32-bit
- Scenario-2: Library is installed but LD_LIBRARY_PATH not configured
- Scenario-3: Proper library not installed as per your release version
- Summary
- Getting GLIBC_2.28 not found
- 13 Answers 13
Saved searches
Use saved searches to filter your results more quickly
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
/lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.32′ not found #58550
/lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.32′ not found #58550
WaitingForInfo Issue is not actionable because of missing required information, which needs to be provided.
Comments
What version of Go are you using ( go version )?
$ go version go version go1.20 darwin/arm64
Does this issue reproduce with the latest release?
What operating system and processor architecture are you using ( go env )?
$ go env GO111MODULE="" GOARCH="arm64" GOBIN="" GOCACHE="/Users/andig/Library/Caches/go-build" GOENV="/Users/andig/Library/Application Support/go/env" GOEXE="" GOEXPERIMENT="" GOFLAGS="" GOHOSTARCH="arm64" GOHOSTOS="darwin" GOINSECURE="" GOMODCACHE="/Users/andig/go/pkg/mod" GONOPROXY="" GONOSUMDB="" GOOS="darwin" GOPATH="/Users/andig/go" GOPRIVATE="" GOPROXY="https://proxy.golang.org,direct" GOROOT="/usr/local/go" GOSUMDB="sum.golang.org" GOTMPDIR="" GOTOOLDIR="/usr/local/go/pkg/tool/darwin_arm64" GOVCS="" GOVERSION="go1.20" GCCGO="gccgo" AR="ar" CC="clang" CXX="clang++" CGO_ENABLED="1" GOMOD="/Users/andig/htdocs/evcc/go.mod" GOWORK="" CGO_CFLAGS="-O2 -g" CGO_CPPFLAGS="" CGO_CXXFLAGS="-O2 -g" CGO_FFLAGS="-O2 -g" CGO_LDFLAGS="-O2 -g" PKG_CONFIG="pkg-config" GOGCCFLAGS="-fPIC -arch arm64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=/var/folders/sv/rs_453y57xj86xsbz3kw1mbc0000gn/T/go-build3562167146=/tmp/go-build -gno-record-gcc-switches -fno-common" GOROOT/bin/go version: go version go1.20 darwin/arm64 GOROOT/bin/go tool compile -V: compile version go1.20 uname -v: Darwin Kernel Version 22.2.0: Fri Nov 11 02:04:44 PST 2022; root:xnu-8792.61.2~4/RELEASE_ARM64_T8103 ProductName: macOS ProductVersion: 13.1 BuildVersion: 22C65 lldb --version: lldb-1400.0.38.17 Apple Swift version 5.7.2 (swiftlang-5.7.2.135.5 clang-1400.0.29.51)
What did you do?
After upgrading our build environment and go.mod requirement to Go 1.20, users started to see this error message on Ubuntu: evcc-io/evcc#6263. The application does not use CGO.
What did you expect to see?
No error. Same build was working fine with Go ^1.18.
What did you see instead?
GLIBC version required. This output of go version -m should be similar to what the build produces for arm:
build -buildmode=exe build -compiler=gc build -ldflags="-X github.com/evcc-io/evcc/server.Version=0.109.2 -X github.com/evcc-io/evcc/server.Commit=3ec2d1b70 -s -w" build -tags=release build CGO_ENABLED=0 build GOARCH=arm build GOOS=linux build GOARM=6 build vcs=git build vcs.revision=3ec2d1b70abf2a5a827e43755f5e94df59eb1add build vcs.time=2022-12-19T13:08:03Z build vcs.modified=true
The text was updated successfully, but these errors were encountered:
How do I install the Linux library libc.so.6 [SOLVED]
Libc is a C library. Libc6 and glibc are the same version of libc. Libc6 is version 6 of the linux C Library and version 2 of the GNU C Library Many applications on Linux need this library.
On Red Hat based systems, this library is called glibc , while on Debian base systems it is called libc6 . In case this library is missing or not installed, then it possible you may face compilation related errors such as » library libc.so.6 not found or missing or no such file or directory «
There are 3 possible scenarios
- Library is not installed or missing
- The library path is not configured so the application is unable to locate the library file
- Library is installed for wrong ARCH i.e. your application may require 64-bit library but 32-bit library is installed
Scenario-1: How do I install the library libc.so.6?
Locate the package name of the library
First you need to know the package name required to install this library.
On Red Hat based systems you can use yum or dnf command. From the below output now you know the rpm responsible for installing 32-bit and 64-bit library.
~]# yum whatprovides */libc.so.6 glibc-2.28-151.el8.x86_64 : The GNU libc libraries Repo : @System Matched from: Filename : /lib64/libc.so.6 glibc-2.28-164.el8.i686 : The GNU libc libraries Repo : baseos Matched from: Filename : /lib/libc.so.6 glibc-2.28-164.el8.x86_64 : The GNU libc libraries Repo : baseos Matched from: Filename : /lib64/libc.so.6
On Ubuntu based distributions, there are multiple command line options as shown below:
$ sudo dpkg -S libc.so.6 libc6:amd64: /lib/x86_64-linux-gnu/libc.so.6
deepak@ubuntu:~$ sudo apt-file find libc.so.6 libc6: /lib/x86_64-linux-gnu/libc.so.6 libc6-amd64-cross: /usr/x86_64-linux-gnu/lib/libc.so.6 libc6-amd64-i386-cross: /usr/i686-linux-gnu/lib64/libc.so.6 libc6-amd64-x32-cross: /usr/x86_64-linux-gnux32/lib64/libc.so.6 libc6-arm64-cross: /usr/aarch64-linux-gnu/lib/libc.so.6 libc6-armel-cross: /usr/arm-linux-gnueabi/lib/libc.so.6 . libc6-x32-amd64-cross: /usr/x86_64-linux-gnu/libx32/libc.so.6 libc6-x32-cross: /usr/x86_64-linux-gnux32/lib/libc.so.6 libc6-x32-i386-cross: /usr/i686-linux-gnu/libx32/libc.so.6 libc6.1-alpha-cross: /usr/alpha-linux-gnu/lib/libc.so.6.1
or you can login to https://packages.ubuntu.com/ and search for your package:
Install the missing library on Red Hat Linux
Now that you know the package to be installed, go ahead and install it using package manager based on your distribution:
Installation for 64-bit
You can check the existence of the package on your system with the following command;
foc@fedora:~$ dnf list installed | grep glibc glibc.x86_64 2.34-35.fc35 @updates glibc-all-langpacks.x86_64 2.34-35.fc35 @updates glibc-common.x86_64 2.34-35.fc35 @updates glibc-devel.x86_64 2.34-35.fc35 @updates
If the package is not installed on your system, run the following commands in the terminal;
foc@fedora:~$ sudo dnf install glibc
The following command is sufficient to learn the location of the library after installation;
foc@fedora:~$ whereis libc.so.6 libc.so.6: /usr/lib64/libc.so.6
Installation for 32-bit
If your operating system is built on a 32 architecture or if the application you want to install requires 32 bit libraries, the following package should be installed;
foc@fedora:~$ sudo dnf install glibc.i686
Now let’s look at the locations of the glibc library again;
foc@fedora:~$ whereis libc.so.6 libc.so.6: /usr/lib/libc.so.6 /usr/lib64/libc.so.6
Now since we installed both 32-bit and 64-bit version of the library so it can be found under both /usr/lib and /usr/lib64 .
Install the missing library on Debian Linux
Installation for 64-bit
Package control is provided in Debian-based system with the following commands;
foc@foc:~$ dpkg -l | grep libc6 ii libc6:amd64 2.31-13+deb11u3 amd64 GNU C Library: Shared libraries ii libc6-dbg:amd64 2.31-13+deb11u3 amd64 GNU C Library: detached debugging symbols ii libc6-dev:amd64 2.31-13+deb11u3 amd64 GNU C Library: Development Libraries and Header Files
To install the 64-bit package;
foc@foc:~$ sudo apt install libc6
After this command, if the package is not installed, the installation starts with its dependencies.
Most distributions have this already installed. After these commands, the update information of the installed package is also learned. If it is in the old version, it will be upgraded.
To find out the location of the library, run the command below;
foc@foc:~$ whereis libc.so.6 libc.so: /usr/lib/x86_64-linux-gnu/libc.so /usr/lib/x86_64-linux-gnu/libc.so.6
Installation for 32-bit
To install the 32-bit package;
foc@foc:/$ sudo apt install libc6-i386
After package installation, the lib32 directory was created under the root directory (/);
foc@foc:/$ ls -la /lib32/libc.so.6 lrwxrwxrwx 1 root root 12 Mar 18 00:37 /lib32/libc.so.6 -> libc-2.31.so
Scenario-2: Library is installed but LD_LIBRARY_PATH not configured
Many software packages look out for LD_LIBRARY_PATH environment variable to search for shared libraries. Many times you will just copy the required library path to /usr/lib or any other path but then your application will not start consuming the library just because the file is there.
We need to use ldconfig [options] lib_dirs which will update the ld.so cache file with shared libraries specified on the command line in lib_dirs , in trusted directories /usr/lib and /lib , and in the directories found in /etc/ld.so.conf .
Once you have copied your library file to /usr/lib then just execute
ldconfig creates the necessary links and cache to the most recent shared libraries found in the directories specified on the command line, in the file /etc/ld.so.conf , and in the trusted directories ( /lib and /usr/lib ).
Next you need to append this path to LD_LIBRARY_PATH variable:
For non-persistent changes you can use export command which will be applicable only for your terminal
# export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib:/usr/local/lib
For permanent changes you can place the above command in .bash_profile of individual user or just create a file inside /etc/profile.d/set-library-path.sh and add the above command. You can use any file name, set-library-path.sh is just an example.
Scenario-3: Proper library not installed as per your release version
It is possible that in your Linux box you are using both set of rpms i.e. 32-bit and 64-bit wherein the installed library package is 32-bit but your application package is looking for 64-bit library adn hence failing.
This I have already covered in Scenario-1 example on how to download and install packages for both 64-bit and 32-bit Linux environment.
Summary
We have explained the installation steps above. To remove packages, please pay attention to the following steps;
- After the removal of i386 architecture packages, your applications with 32-bit library dependencies will be affected. Take this into consideration.
- On a 64-bit architecture system, 32-bit libraries can cause confusion later, it is not recommended to install them. You should choose the 64-bit architecture compatible version of the application you want to use.
- It is not recommended to uninstall these packages on a 64-architecture system. If you try to uninstall, you will encounter the following warning;
You are about to do something potentially harmful. To continue type in the phrase 'Yes, do as I say!' ?]
Think twice before removing it.
Didn’t find what you were looking for? Perform a quick search across GoLinuxCloud
If my articles on GoLinuxCloud has helped you, kindly consider buying me a coffee as a token of appreciation.
For any other feedbacks or questions you can either use the comments section or contact me form.
Thank You for your support!!
Getting GLIBC_2.28 not found
I running node -v command getting error:- node: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.28′ not found (required by node) Any solution
13 Answers 13
Finally I got solution by running by running following commands.
sudo apt-get remove nodejs nvm install 16.15.1
node v16.15.1 version and npm v16.15.1 is installed. For same make sure nvm is installed in your machine.
This is the only thing that worked after 2 days of scrounging for an answer. Had high hopes in this answer to solve it but it still didn’t: stackoverflow.com/questions/72513993/…
you can install node v17.x by nvm(nodejs version manager).
my OS version: Ubuntu 18.04.6 LTS
I tried three ways to install node and npm in my pc:
- (fail) apt-get, the version is very old
$ sudo apt-get install nodejs $ sudo apt-get install npm $ node -v v8.10.0 $ npm -v 6.1.0
$ curl -sL https://deb.nodesource.com/setup_14.x -o /tmp/nodesource14_setup.sh $ node -v v14.20.1 $ npm -v 6.1.0
$ sudo apt-get remove nodejs $ sudo apt-get remove npm $ curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.2/install.sh | bash $ chmod +x ~/.nvm/nvm.sh $ source ~/.bashrc $ nvm -v 0.39.2 $ nvm install 14 $ node -v v14.20.1 $ npm -v 6.14.17 $ nvm install 16 $ node -v v16.18.0 $ npm -v 8.19.2 $ nvm install 17 $ node -v v17.9.1 $ npm -v 8.11.0 # failed to install 18 $ nvm install 18 $ node -v node: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.28' not found (required by node) $ npm -v node: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.28' not found (required by node)