SDKManager "Not supported on Linux"

Hi,

I installed SDKManager with the deb package on Linux Mint Serena 18.1 (Ubuntu 16.04 based).

It shows me “Linux. Not supported on Linux” and refuses to go to step 2. In the past I could patch the startup.sh to run the old installer on Mint. How I can do that in SDKManager?

Hi manthey,
Please be noted that Jetpack 4.2 GA only supports Ubuntu 16.04 and Ubuntu 18.04 official releases.

Maybe it helps for your case to format the result of command ‘lsb_release -r’ to the same as Ubuntu 16.04, but I strongly recommend to play with Ubuntu official releases.

Thanks

I am not asking you to support all the distros out there but it would be nice if I could override that behavior and be able to continue in unsupported mode. E.g. Mint is based on Ubuntu and I never had any trouble after patching start.sh using the old installer. Whoever is flashing a device should know what he is doing in the end.

1 Like

Hi,
As mentioned in previous post, could you try to make ‘lsb_release -r’ as the same output of Ubuntu 16.04?

Option 1(Preferable)
a) export LSB_ETC_LSB_RELEASE=/etc/upstream-release/lsb-release
b) run sdkmanager at the same terminal.

Option 2.
a) edit /etc/lsb-release with below content
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=16.04
DISTRIB_CODENAME=xenial
DISTRIB_DESCRIPTION=“Ubuntu 16.04.5 LTS”
b) run sdkmanager

Tested with Option #1 on a clean Mint OS, it works from my side.

Thanks

4 Likes

I didnt know lsb_release is in fact a python3 script.

I tried Option 1. and I can confirm its working. Thanks a lot. You saved me a lot of hazzle.

1 Like

Option 2 worked for me as I’m running 18.10. I changed it to 18.04.

Thank you.

Confirmed 2) working on Debian 9.

Thanks
Luca

On Debian 10 doesn’t work with either option :-(
“Linux. Not supported on Linux”

For Ubuntu 19.04, I had to:

  1. create file /usr/lib/os-release-bioinic:
    NAME="Ubuntu"
    VERSION="18.04 (Bionic Beaver)"
    ID=ubuntu
    ID_LIKE=debian
    PRETTY_NAME="Ubuntu 18.04"
    VERSION_ID="18.04"
    VERSION_CODENAME=bionic
    UBUNTU_CODENAME=bionic
    
  2. $> export LSB_OS_RELEASE=/usr/lib/os-release-bionic
    
  3. $> /opt/nvidia/sdkmanager/sdkmanager
    
10 Likes

this didn’t work for 20.04 … python fell over. Any other way to FORCE it ti accept 20.04 or is there a new release date for one that does support the latest LTS release?

This is currently working for me on 20.04 (it was originally 18.04, upgraded to 19.04->19.10->20.04).
Any more details related to “python fell over”?

1 Like

I can confirm that mdeboer’s solution works in Mint 20.04. The only thing I did different is that I created the file he showed in my home directory, and I pointed to it with the env variable LSB_OS_RELEASE.

My script to call sdkmanager is:

export LSB_OS_RELEASE=$HOME/fake_ubuntu.txt
sdkmanager
1 Like

Edit: Just realized this same solution was posted above…

  1. copy /usr/bin/os-release to your home folder or wherever and name it something like os-release-bionic
  2. edit os-release-jetson and change the content to 18.04:
NAME="Ubuntu"
VERSION="18.04.5 LTS (Bionic Beaver)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 18.04.5 LTS"
VERSION_ID="18.04"
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
VERSION_CODENAME=bionic
UBUNTU_CODENAME=bionic
  1. The environment variable you want to change is LSB_OS_RELEASE:
export LSB_OS_RELEASE=/home/monty/os-release-bionic
  1. Run sdkmanager and it should work!
1 Like

For anyone wondering, I can confirm that the VERSION_ID overloading to 18.04 still works fine on 20.10, I just finished reflashing both my Jetson Nano and Xavier NX without issue.

It would be nice if sdkmanager provided an option to install on unsupported hosts that could be manually enabled, with the caveat that any problems arising are your own problem.

Hi all,
for me it’s not working. Ubuntu 20.10 with latest updates.

Traceback (most recent call last):
  File "/usr/bin/lsb_release", line 95, in <module>
    main()
  File "/usr/bin/lsb_release", line 59, in main
    distinfo = lsb_release.get_distro_information()
  File "/usr/lib/python3/dist-packages/lsb_release.py", line 398, in get_distro_information
    distinfo = guess_debian_release()
  File "/usr/lib/python3/dist-packages/lsb_release.py", line 288, in guess_debian_release
    get_distro_info(distinfo['ID'])
  File "/usr/lib/python3/dist-packages/lsb_release.py", line 48, in get_distro_info
    RELEASES_ORDER.sort(key=lambda n: float(n[0]))
  File "/usr/lib/python3/dist-packages/lsb_release.py", line 48, in <lambda>
    RELEASES_ORDER.sort(key=lambda n: float(n[0]))
ValueError: could not convert string to float: '6.06 LTS'
Traceback (most recent call last):
  File "/usr/bin/lsb_release", line 95, in <module>
    main()
  File "/usr/bin/lsb_release", line 59, in main
    distinfo = lsb_release.get_distro_information()
  File "/usr/lib/python3/dist-packages/lsb_release.py", line 398, in get_distro_information
    distinfo = guess_debian_release()
  File "/usr/lib/python3/dist-packages/lsb_release.py", line 288, in guess_debian_release
    get_distro_info(distinfo['ID'])
  File "/usr/lib/python3/dist-packages/lsb_release.py", line 48, in get_distro_info
    RELEASES_ORDER.sort(key=lambda n: float(n[0]))
  File "/usr/lib/python3/dist-packages/lsb_release.py", line 48, in <lambda>
    RELEASES_ORDER.sort(key=lambda n: float(n[0]))
ValueError: could not convert string to float: '6.06 LTS'

Just overcome this error with: https://askubuntu.com/questions/930837/lsb-release-could-not-convert-string-to-float-8-04-lts

But I still got:

No available releases for Linux.

Thanks - this worked for me on mint 20

This is not working with SDKManager 1.5.0.7774
When running sdkmanager in the terminal, sdkmanager does not use the current terminal environment and instead launches in the system environment.

No matter which method I try, I can’t get SDKmanager to recognize my OS. I just get “No available releases for linuxmint193”

I’m currently working on an Ubuntu 18.04 Docker image for sdkmanager which will support GUI mode. That means I’ll be able to use it on a modern Linux distribution without losing my mind. I’ll share it here when it’s done.

Rant:
I hate having to fight with NVIDIA’s software, docs and weird practices, like

  • SDK Manager only works on old versions of Ubuntu
  • The Docker image for SDK Manager doesn’t support GUI
  • The CLI isn’t very helpful, lacking tab completion for certain options, so I end up googling for ages
  • Important downloads are behind a login, preventing easy curl commands in Dockerfiles and scripts
  • The badly made SDK manager .deb package installs fine on operating systems it doesn’t support, and lacks a proper list of dependencies (eg: xxd, libx11-xcb1, libxtst6, libgtk-3-0, libnss3, iproute2, iptables, nmcli, dnsutils, cpio) which you incrementally discover each time sdkmanager fails to start, or craps out during flashing.

Every day there’s 5 new “stupid things” that block me for an hour.
/Rant

11 Likes

raff, I was just about to suggest the same thing. If SDK Manager is going to be so particular about its environment, maybe it would just be better if NVidia provided a developer VM image to avoid these headaches.

I notice that the SDKManager wants to download and install 32Gb of stuff to develop on the Nano. It’s almost double that if you need to support two different Nano versions.

NVIDIA provides at least Docker images for the SDK manager now: https://docs.nvidia.com/sdk-manager/docker-containers/index.html. Not as convenient as prebuild images, but still way better than having to rely on a GUI