SDKManager cannot be installed on a Centos 7 Machine

Hey there,

I need to install NVIDIA SDKManager on a CentOS 7 PC since this is the OS which is provided to me at my work place. I downloaded the debian package from the download center and fixed it to be an .rpm file. However, if I try to install it, I face this error message:

Error: Package: sdkmanager-1.3.1-7111.x86_64 (/sdkmanager-1.3.1-7111.x86_64)
Requires: libstdc++.so.6(CXXABI_1.3.9)(64bit)

When I run the command :

strings /usr/lib/libstdc++.so.6 | grep CXXABI

I see that my gcc don’t have CXXABI_1.3.9 supported. Then I though this could be fixed by upgrading gcc. However; when I checked the CentOS forum, I’ve got devastated by this answer from a forum moderator:

“Your problem is that that file is not built to run on CentOS. You need to rebuild it or download a different copy that isn’t linked against a newer glibc than we ship. Do not attempt to shoehorn a newer libc onto your system or everything else will break. It is the app that needs fixing.”

My question in this situation is:

So, it is pretty obvious that I cannot fix this problem of mine, are there any plans by NVIDIA to build SDKM for different distros, or can I continue on developing on Jetsons without SDKM?

PS: I couldn’t find any category more relevant than here, so if there is any you may move this topic to that category.

Hi otekik,

Sorry to tell there is no plan to get SDKM installed on CentOS PC, and all relevant development required SDKs/libraries must be installed through SDKM by JetPack.
So please get the Ubuntu host PC for development environment setup.

Thanks

Hi again,
So sorry to hear that. Thanks for the quick reply, though. I need to check what I can do for that.

Thanks

You should know that you can still flash from most any flavor of Linux PC. You just wouldn’t have access to the extras of SDK Manager. SDKM is a front end to the flash software, and is dependent upon Ubuntu 18.04, but the “driver package” (the flash back end) does not care. FYI, here is a listing of various L4T releases:
https://developer.nvidia.com/linux-tegra
(you might need to go there, log in, and go there a second time)

If you were to flash manually, then basically you would download the driver package and unpack it as a regular user. This creates the subdirectory “Linux_for_Tegra/”. Within this is “Linux_for_Tegra/rootfs/”, which is the content which will actually be flashed for the root filesystem. This is empty, and you would unpack the “sample root filesystem” there (using “sudo”) to add the purely Ubuntu operating system. Then, from “Linux_for_Tegra/”, you would run the command “sudo ./apply_binaries.sh” to overlay the sample rootfs with the NVIDIA-specific drivers. From there you could flash as many times as you want without repeating the earlier commands.

This would then be an example of flashing for an eMMC model (I’m not actually sure if my designation is correct, I only have the SD card model):
sudo ./flash.sh jetson-xavier-nx-devkit-emmc mmcblk0p1

Do know this takes a lot of disk space, so you’d be advised to have at least 50GB of free space before unpacking the driver package and sample rootfs.

You could then perhaps use apt to add optional Jetson packages such as CUDA. No flash actually adds those optional packages, this always occurs after flash is complete and the newly flashed unit reboots and gets first boot setup completed. Had SDKM been used, then it would offer to install those optional packages over ssh to the Jetson, or some of the host development software, but betware you won’t be able to use the Ubuntu “.deb” format packages on CentOS.

If you want to save yourself effort over time, then you might consider getting your CentOS system set up as dual boot with Ubuntu 18.04.

Dear linuxdev,
Thanks a lot, I was somewhat aware of this usage but your answer is so neat and understandable. I’ll probably won’t have a dual-boot setup but as I see, the job is achievable on any distro.
Again, thanks.