It turns out I was just not familiar enough with apt-get. I managed to install the necessary glibc version by issuing the following command:

apt-get install libc-bin=2.13-38+deb7u4 libc6=2.13-38+deb7u4

I even downgraded it and everything works okay. Core dump analysis works now.

Answer from Matthias Gerstner on Stack Exchange
Top answer
1 of 3
95

I was able to install libc6 2.17 in Debian Wheezy by editing the recommendations in perror's answer:

IMPORTANT

You need to exit out of your display manager by pressing CTRL+ALT+F1. Then you can stop x (slim) with sudo /etc/init.d/slim stop

(replace slim with mdm or lightdm or whatever)

Add the following line to the file /etc/apt/sources.list:

deb http://ftp.debian.org/debian experimental main

Should be changed to:

deb http://ftp.debian.org/debian sid main

Then follow the rest of perror's post:

Update your package database:

apt-get update

Install the glibc package:

apt-get -t sid install libc6-amd64 libc6-dev libc6-dbg

IMPORTANT

After updating libc6, restart the computer, and you should comment out or remove the sid source you just added (deb http://ftp.debian.org/debian sid main), or else you risk upgrading your whole distro to sid.

2 of 3
29

Your script contains errors as well, for example if you have dos2unix installed your install works but if you don't like I did then it will fail with dependency issues.

I found this by accident as I was making a script file of this to give to my friend who is new to Linux and because I made the scripts on windows I directed him to install it, at the time I did not have dos2unix installed thus I got errors.

here is a copy of the script I made for your solution but have dos2unix installed.

#!/bin/sh
echo "deb http://ftp.debian.org/debian sid main" >> /etc/apt/sources.list
apt-get update
apt-get -t sid install libc6 libc6-dev libc6-dbg
echo "Please remember to hash out sid main from your sources list. /etc/apt/sources.list"

this script has been tested on 3 machines with no errors.

Discussions

debian - Need to install glibc >= 2.14 on Wheezy - Unix & Linux Stack Exchange
I am trying to get Protractor working for performing e2e angular testing, but protractor requires Selenium which requires ChromeDriver which requires glibc 2.14. My current development box is running More on unix.stackexchange.com
🌐 unix.stackexchange.com
August 4, 2013
How do I install the glibc info manual in debian.
You're probably looking for the glibc-doc-reference package. Debian considers the GFDL to be non-free , so many info manuals aren't distributed with their respective package, and are instead separate packages. More on reddit.com
🌐 r/gnu
2
2
September 3, 2023
How do i get a newer version of glibc? (2.38 or above?)
Not on Debian stable. But you could run another distro's userspace (one that has a sufficiently new glibc) in a container or chroot. More on reddit.com
🌐 r/debian
11
11
June 9, 2024
glibc - Install libc-bin 2.36 on Debian 11 - Unix & Linux Stack Exchange
I have tried to do so by downloading the .deb package from http://ftp.us.debian.org/debian/pool/main/g/glibc/libc-bin_2.36-8_amd64.deb, however when I install it with dpkg --install package.deb, I am then unable to use apt install because it asks me to run apt --fix-broken install and when ... More on unix.stackexchange.com
🌐 unix.stackexchange.com
April 6, 2023
🌐
Debian
sources.debian.org › src › glibc › 2.28-8 › INSTALL
File: INSTALL | Debian Sources
February 4, 2023 - sources / glibc / 2.28-8 / INSTALL · package info (click to toggle) glibc 2.28-8 · links: PTS, VCS · area: main · in suites: buster · size: 271,788 kB ·
🌐
TecMint
tecmint.com › home › linux commands › how to install and run multiple glibc libraries in linux
How to Install and Run Multiple glibc Libraries in Linux
June 13, 2024 - Next, install the required necessary packages for building and installing glibc on Debian-based distributions.
🌐
Debian
packages.debian.org › source › stable › glibc
Debian -- Details of source package glibc in bookworm
JavaScript is disabled in your browser · Please enable JavaScript to proceed · A required part of this site couldn’t load. This may be due to a browser extension, network issues, or browser settings. Please check your connection, disable any ad blockers, or try using a different browser
🌐
Debian
packages.debian.org › source › bullseye › glibc
Debian -- Details of source package glibc in bullseye
glibc-doc · GNU C Library: Documentation · glibc-source · GNU C Library: sources · libc-bin · GNU C Library: Binaries · libc-dev-bin · GNU C Library: Development binaries · libc-devtools · GNU C Library: Development tools · libc-l10n · GNU C Library: localization files ·
Find elsewhere
🌐
Reddit
reddit.com › r/debian › how do i get a newer version of glibc? (2.38 or above?)
r/debian on Reddit: How do i get a newer version of glibc? (2.38 or above?)
June 9, 2024 -

Basically im trying to run a game but it requires at least glibc 2.38 but it seems debian only offers 2.36 at the moment. Any way i can get a newer vesion of it?

EDIT: ended up just downloading the windows version of the game and running it with wine, im an idiot and thought i was having a problem with the sound when i first downloaded, that's why i tried the linux binary, but when i ran it with wine again i found out that the game came muted by default and that i had to press + to get the volume up

Top answer
1 of 2
29

If you need glibc version other than the one shipped with ubuntu, one way is to install manually to a temp location in your $HOME. (installing in /usr would mess up with existing glibc in case something goes wrong)

mkdir $HOME/glibc/ && cd $HOME/glibc
wget http://ftp.gnu.org/gnu/libc/glibc-2.32.tar.gz
tar -xvzf glibc-2.32.tar.gz
mkdir build 
mkdir glibc-2.32-install
cd build
~/glibc/glibc-2.32/configure --prefix=$HOME/glibc/glibc-2.32-install
make
make install

Now you should have glibc 2.32 installed in the installation directory. You may check with ~/glibc/glibc-2.32-install/bin/ldd --version

2 of 2
1

Building on Shalini's answer,

#!/bin/bash

SOFTWARE_NAME=$1
SOFTWARE_VERSION=$2

export DOWNLOAD_INSTALL_DIR=$SOFTWARE_NAME-$SOFTWARE_VERSION-download-install
if [ -f $DOWNLOAD_INSTALL_DIR ];
then
    rm -fr $DOWNLOAD_INSTALL_DIR
    echo "Remove $DOWNLOAD_INSTALL_DIR"
fi

mkdir $HOME/$DOWNLOAD_INSTALL_DIR/ && cd $HOME/$DOWNLOAD_INSTALL_DIR

echo "Current directory at $PWD"

export DOWNLOADED_TAR=$HOME/$DOWNLOAD_INSTALL_DIR/$SOFTWARE_NAME-$SOFTWARE_VERSION.tar.gz
if [ ! -f $DOWNLOADED_TAR ]; then
    wget https://ftp.gnu.org/gnu/$SOFTWARE_NAME/$SOFTWARE_NAME-$SOFTWARE_VERSION.tar.gz -P $HOME/$DOWNLOAD_INSTALL_DIR
    echo "Software is downloaded: $SOFTWARE_NAME, version = $SOFTWARE_VERSION "
else
    echo "Software is ALREADY downloaded: $SOFTWARE_NAME, version = $SOFTWARE_VERSION at $DOWNLOADED_TAR"
fi
tar -xvzf $DOWNLOADED_TAR -C $HOME/$DOWNLOAD_INSTALL_DIR
mkdir $HOME/$DOWNLOAD_INSTALL_DIR/build
export SOURCE_DIR=$HOME/$DOWNLOAD_INSTALL_DIR/$SOFTWARE_NAME-$SOFTWARE_VERSION-install
mkdir $SOURCE_DIR
cd $HOME/$DOWNLOAD_INSTALL_DIR/build
~/$DOWNLOAD_INSTALL_DIR/$SOFTWARE_NAME-$SOFTWARE_VERSION/configure --prefix=$SOURCE_DIR
make
make install

export SOFTWARE_PATH=$HOME/$DOWNLOAD_INSTALL_DIR/$SOFTWARE_NAME-$SOFTWARE_VERSION-install/bin/$SOFTWARE_NAME
if [ -f $SOFTWARE_PATH ]; then
    echo "Software is found: $SOFTWARE_NAME, version = $SOFTWARE_VERSION at $SOFTWARE_PATH"
    mv $SOFTWARE_PATH $GRAND_ROOT_BIN
fi

You can use the script like so bash script-name.sh bison 3.8 for downloading GNU's bison with version number 3.8.

🌐
Debian
packages.debian.org › source › buster › glibc
Client Challenge
JavaScript is disabled in your browser · Please enable JavaScript to proceed · A required part of this site couldn’t load. This may be due to a browser extension, network issues, or browser settings. Please check your connection, disable any ad blockers, or try using a different browser
🌐
Debian
packages.debian.org › glibc
Debian -- Package Search Results -- glibc
You have searched for packages that names contain glibc in all suites, all sections, and all architectures.
🌐
The Linux Documentation Project
tldp.org › HOWTO › Glibc2-HOWTO-5.html
Glibc 2 HOWTO: Installing as the primary C library.
Add your new library directory (such as /usr/i486-linuxlibc5/lib) at the top of your /etc/ld.so.conf file. You should have ld.so 1.8.8 or better installed to avoid getting strange messages once glibc is installed.
🌐
DigitalOcean
digitalocean.com › community › questions › how-install-glibc-2-29-or-higher-in-ubuntu-18-04
How install GLIBC 2.29 or higher in Ubuntu 18.04 | DigitalOcean
June 6, 2020 - echo “deb http://ftp.us.debian.org/debian testing main contrib non-free” >> /etc/apt/sources.list ... By default, the highest version of GLIBC for Ubuntu 18.04 should 2.27.
🌐
Debian
packages.debian.org › es › source › sid › glibc
Debian -- Details of source package glibc in sid
glibc-doc · GNU C Library: Documentation · glibc-source · GNU C Library: sources · libc-bin · biblioteca de C de GNU: binarios · libc-dev-bin · GNU C Library: Development binaries · libc-devtools · GNU C Library: Development tools · libc-gconv-modules-extra ·
Top answer
1 of 1
3

While searching for something unrelated, I fortuitously discovered why my installation was picking up the old libc: because the new libc had an older ABI version (https://stackoverflow.com/questions/20577638/library-path-order-for-alternate-glibc-dynamic-linker-ld-so).

So this is what I did:

  1. I backed up the contents of /lib, /lib32, and /lib64.

  2. I edited /etc/ld.so.conf.d/x86_64-linux-gnu.conf to place /lib64 at the top of the search paths.

  3. I configured the new version of glibc (2.19) with options --prefix=/usr --enable-kernel=2.6.26 in order to match the old glibc version (2.13).

  4. I built the new glibc. This was uneventful.

  5. I used su to gain root privileges, and ran make install. It started installing, then it segfaulted after the new ld-linux-x86-64.so.2 had been installed and was still picking up the old libc.so.6.

  6. To fix this, I ran ldconfig (still as root of course).

  7. I restarted the installation (make install). It errored out again on some command that invoked gcc. I discovered that this was because of mismatched headers: the new /usr/include/stdio.h was picking up the old /usr/include/x86_64-linux-gnu/sys/cdefs.h rather than the new version at /usr/include/sys/cdefs.h.

  8. So, to fix this, I removed the directory /usr/include/x86_64-linux-gnu/sys, and replaced it with a symlink to /usr/include/sys. I also replaced the headers a.out.h, fpu_control.h, and ieee754.h in /usr/include/x86_64-linux-gnu with symlinks to their new versions in /usr/include.

  9. I restarted the installation again (make install). Finally it succeeded.

After I rebooted my system, everything was in perfect working order.

I haven't yet found out what happens if I try to also update the 32-bit version of libc installed alongside the 64-bit version on my system. I suspect it will break everything horribly again. Will update this answer if I succeed.