However, you need to know that glibc consists of many pieces (200+ shared libraries) which all must match. One of the pieces is ld-linux.so.2, and it must match libc.so.6, or you'll see the errors you are seeing.
Download glibc 2.3.4 rpm
The -rpath linker option will make the runtime loader search for libraries in /path/to/newglibc (so you wouldn't have to set LD_LIBRARY_PATH before running it), and the -dynamic-linker option will "bake" path to correct ld-linux.so.2 into the application.
Let's take simple exaple: I have the newset ubuntu system where I run some program (in my case it is D compiler - ldc2). I'd like to run it on the old CentOS, but because of the older glibc library it is impossible. I got
But it is not reliable as it uses host C runtime objects such as crt1.o, crti.o, and crtn.o provided by glibc. This is mentioned at: =recall&rev=21#Compile_against_glibc_in_an_installed_location Those objects do early setup that glibc relies on, so I wouldn't be surprised if things crashed in wonderful and awesomely subtle ways.
therefore, we see that there are glibc steps intertwined with several GCC steps, most notably libc_start_files comes before cc_core_pass_2, which is likely the most expensive step together with cc_core_pass_1.
I also think that all the libraries used by your program should be compiled against that version of glibc. If you have access to the source code of the program, a fresh compilation appears to be the best solution.
When I wanted to run a chromium-browser on Ubuntu precise (glibc-2.15), I got the(typical) message "...libc.so.6: version `GLIBC_2.19' not found...".I considered the fact, that files are not needed permamently, but only for start.So I collected the files needed for the browser and sudo and created a mini-glibc-2.19-environment, started the browser and then copied the original files back again. The needed files are in RAM and the original glibc is the same.
Updated Packages: +bind-libs-9.8.2-0.68.rc1.85.amzn1.x86_64 +bind-utils-9.8.2-0.68.rc1.85.amzn1.x86_64 +ca-certificates-2018.2.22-65.1.23.amzn1.noarch +e2fsprogs-1.43.5-2.44.amzn1.x86_64 +e2fsprogs-libs-1.43.5-2.44.amzn1.x86_64 +ec2-net-utils-0.7-2.4.amzn1.noarch +ec2-utils-0.7-2.4.amzn1.noarch +expat-2.1.0-12.24.amzn1.x86_64 +gnupg2-2.0.28-2.34.amzn1.x86_64 +kernel-4.14.214-118.339.amzn1.x86_64 +kernel-devel-4.14.214-118.339.amzn1.x86_64 +kernel-headers-4.14.214-118.339.amzn1.x86_64 +kernel-tools-4.14.214-118.339.amzn1.x86_64 +libblkid-2.23.2-63.33.amzn1.x86_64 +libcom_err-1.43.5-2.44.amzn1.x86_64 +libepoxy-1.2-3.3.amzn1.x86_64 +libevdev-1.4.5-2.4.amzn1.x86_64 +libmount-2.23.2-63.33.amzn1.x86_64 +libsmartcols-2.23.2-63.33.amzn1.x86_64 +libss-1.43.5-2.44.amzn1.x86_64 +libuuid-2.23.2-63.33.amzn1.x86_64 +libX11-1.6.0-2.2.13.amzn1.x86_64 +libX11-common-1.6.0-2.2.13.amzn1.x86_64 +libxslt-1.1.28-6.15.amzn1.x86_64 +mtdev-1.1.2-5.4.amzn1.x86_64 +python27-pip-9.0.3-1.28.amzn1.noarch +python27-setuptools-36.2.7-1.34.amzn1.noarch +ruby20-2.0.0.648-2.39.amzn1.x86_64 +ruby20-irb-2.0.0.648-2.39.amzn1.noarch +ruby20-libs-2.0.0.648-2.39.amzn1.x86_64 +rubygem20-bigdecimal-1.2.0-2.39.amzn1.x86_64 +rubygem20-psych-2.0.0-2.39.amzn1.x86_64 +rubygems20-2.0.14.1-2.39.amzn1.noarch +sudo-1.8.23-9.56.amzn1.x86_64 +system-release-2018.03-0.2.noarch +tzdata-2020d-2.76.amzn1.noarch +tzdata-java-2020d-2.76.amzn1.noarch +util-linux-2.23.2-63.33.amzn1.x86_64 +vim-common-8.0.0503-1.47.amzn1.x86_64 +vim-enhanced-8.0.0503-1.47.amzn1.x86_64 +vim-filesystem-8.0.0503-1.47.amzn1.x86_64 +vim-minimal-8.0.0503-1.47.amzn1.x86_64 +xorg-x11-drv-evdev-2.9.2-1.7.amzn1.x86_64 +xorg-x11-drv-vesa-2.3.4-1.8.amzn1.x86_64 +xorg-x11-drv-void-1.4.1-1.8.amzn1.x86_64 +xorg-x11-server-common-1.17.4-18.43.amzn1.x86_64 +xorg-x11-server-Xorg-1.17.4-18.43.amzn1.x86_64
The GNU C Library releases every 6 months. See the NEWS file in the glibc sources for more information. The current stable version of glibc is 2.37, released on February 1st, 2023.
The current development version of glibc is 2.38, releasing on or around August 1st, 2023.
Follow the Debian instructions, only using `urpmi` instead of `apt-get install`. You can find it in the contrib section of any Mandriva mirror or seach for it using the Mandriva Club rpm database [1]. You may need libpythonV.V-devel for bitbake setup instead of python-dev.If you're building a 2.6 kernel, you also need the glibc-static-devel package.
(some or most of these packages may have been added by the previous step e.g. for console-image build on f14 only texi2html chrpath wget perl-ExtUtils-MakeMaker glibc-static were required in addition to ' Development Tools') 2ff7e9595c
Comments