Jetson Orin Nano JetPack 6.2 and GLIBC 2.38 Dependency

Hello,

I have been struggling with getting QGoundControl and various required libraries to install on Jetson Orin Nano Ubuntu 22.04 with the following JetPack. It requires glibc 2.38. However Ubuntu 22.04 does not come with GLIBC 2.38. It is really risky to upgrade GLIBC to 2.38 because I am sure it will break the OS. I don’t think I can upgrade Ubuntu to 24.04. What do you all recommend I should do? Any help is much appreciated.

Mustafa

Package: nvidia-jetpack

Source: nvidia-jetpack (6.2.1)

Version: 6.2.1+b38

Architecture: arm64

Maintainer: NVIDIA Corporation

Installed-Size: 194

Depends: nvidia-jetpack-runtime (= 6.2.1+b38), nvidia-jetpack-dev (= 6.2.1+b38)

Homepage: 


Priority: standard

Section: metapackages

Filename: pool/main/n/nvidia-jetpack/nvidia-jetpack_6.2.1+b38_arm64.deb

Size: 29300

SHA256: dd9cb893fbe7f80d2c2348b268f17c8140b18b9dbb674fa8d79facfaa2050c53

SHA1: dc630f213f9afcb6f67c65234df7ad5c019edb9c

MD5sum: 9c8dc61bdab2b816dcc7cd253bcf6482

Description: NVIDIA Jetpack Meta Package

Description-md5: ad1462289bdbc54909ae109d1d32c0a8

Hi,
We would suggest check if there is old version which is compatible with glibc 2.35. It may not work properly if you manually to 2.38 on the basis of Jetpack 6.2.1.

I also would not suggest changing glibc, and looking for an old version instead. However, if you must, then find out if the packages involved for glibc can be installed to alternate locations, e.g., with a “/usr/local/” prefix instead of the default “/usr”. I’m not sure what flags or options you’d need to install a second glibc without altering the first, but if you can install the new version of glibc to an alternate location, and then only specify the linker path for your particular software, then it should in theory be able to run both versions without conflict. glibc is so invasive though that it is difficult to upgrade it without upgrading the whole Ubuntu version.

Also, don’t forget to clone the rootfs before you start. In the past, for cross compiles, I often used a loopback clone of rootfs on the host PC as my support software. You could in fact test using a clone on the PC for cross compile, and check alternate methods of glibc install to “/usr/local/” on the clone under PC cross compile.