Re: How to upgrade the GLIBCXX and GLIBC to the specific version
On 2/27/24 07:38, Arno Lehmann wrote:
Hi all,
Am 27.02.2024 um 13:19 schrieb Greg Wooledge:
On Tue, Feb 27, 2024 at 06:51:13AM +0000, Diego Luo (罗国雄) wrote:
Hi,
Would you pls help give tips about how to upgrade the GLIBCXX and 
GLIBC to the specific version (GLIBCXX_3.4.29, GLIBC_2.34) on Debian?
I am using the Raspberry Pi 4B with the Raspbian OS “Linux 
raspberrypi 5.15.61-v8+ #1579 SMP PREEMPT Fri Aug 26 11:16:44 BST 
2022 aarch64 GNU/Linux”, which is Debian based OS.
That's a problem -- it is not Debian.
The new version for Rpi is and would not matter in his case as he is 
looking to update glibc.  That isn't platform pacific and doesn't matter.
Rpi 5:
uname -a
Linux scott 6.1.0-rpi8-rpi-2712 #1 SMP PREEMPT Debian 1:6.1.73-1+rpt1 
(2024-01-25) aarch64 GNU/Linux
cat /etc/os-release
PRETTY_NAME="Debian GNU/Linux 12 (bookworm)"
NAME="Debian GNU/Linux"
VERSION_ID="12"
VERSION="12 (bookworm)"
VERSION_CODENAME=bookworm
ID=debian
HOME_URL="https://www.debian.org/"
SUPPORT_URL="https://www.debian.org/support"
BUG_REPORT_URL="https://bugs.debian.org/"
Expecting insight here is a bit of a stretch. It would be much better to 
check with the actual distribution provider.
The provider is raspberry foundation and Raspian has been dis-continued.
Greg's advice about upgrading is demonstrating the versions for the 
x86_64 platform. This may or may not be directly applicable to your 
distribution. However, trying to upgrade something non-Debian with 
Debian packages may be exciting and provide great learning experience, 
but rarely is a smooth process.
sudo find /usr/lib -name '*libc.so*'
/usr/lib/aarch64-linux-gnu/libc.so.6
/usr/lib/aarch64-linux-gnu/libc.so
nm -D /usr/lib/aarch64-linux-gnu/libc.so.6 | grep 'A GLIBC_2\.3[0-9]'
0000000000000000 A GLIBC_2.30
0000000000000000 A GLIBC_2.31
0000000000000000 A GLIBC_2.32
0000000000000000 A GLIBC_2.33
0000000000000000 A GLIBC_2.34
0000000000000000 A GLIBC_2.35
0000000000000000 A GLIBC_2.36
sudo find /usr/lib -name '*libstdc++.so*'
/usr/lib/aarch64-linux-gnu/libstdc++.so.6.0.30
/usr/lib/aarch64-linux-gnu/libstdc++.so.6
/usr/lib/gcc/aarch64-linux-gnu/12/libstdc++.so
nm -D /usr/lib/aarch64-linux-gnu/libstdc++.so.6.0.30 | grep 'A 
GLIBCXX_3\.4\.[23][0-9]'
0000000000000000 A GLIBCXX_3.4.20
0000000000000000 A GLIBCXX_3.4.21
0000000000000000 A GLIBCXX_3.4.22
0000000000000000 A GLIBCXX_3.4.23
0000000000000000 A GLIBCXX_3.4.24
0000000000000000 A GLIBCXX_3.4.25
0000000000000000 A GLIBCXX_3.4.26
0000000000000000 A GLIBCXX_3.4.27
0000000000000000 A GLIBCXX_3.4.28
0000000000000000 A GLIBCXX_3.4.29
0000000000000000 A GLIBCXX_3.4.30
I would propose to head over to https://www.raspberrypi.com/software/ if 
you do not get very clear advice here.
Also, the actual software you want to use should be considered. If it's 
not packaged for your distribution, it's at least clear the packager 
does not guarantee anything. Rebuilding for your platform requires 
access to source code and (possibly) build environment. Suggestions or 
advice require you to disclose what you're actually looking at.
Good luck!
Arno
The correct solution is to download the latest and install that.
That is simple as rpi has an imager program that will d/l and install 
the image to the sdcard or USB drive.
Updating glibc can be difficult and may cause more breakage.
You should take that project lightly.
He is most likely using armv7 and that comes with its own issues, ie cpu 
type and floating point (hard/soft, neon and simd).  aarch64 much easier 
to build on.
Building custom OS for rpi since the rpi 1.  Will be building a custom 
OS for my rpi 4/5 servers and abandoning debian shortly, Desktop to follow.
Reply to: