SDKManager "Not supported on Linux"

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

@sgroesz you can’t even use a VM! It must be a ‘real’ computer. I had to dig out an old ThinkPad to install Ubuntu 18.04 onto it just so I could flash the Jetson.

@moshammer.a At least with the GUI you don’t have to know what options can be given for cli options like:

  • --target
  • --version
  • --select

The example given use--target P3668-0000, but I have no idea what that model number means, so I end up googling it. And then I find an unrelated NVIDIA page that happens to list the model numbers. This is the type of problem I’m talking about - nothing is made easy. I have to flick to a browser, open Google and search for “jetson P3448 xavier agx” hoping that it gives me something. Or maybe NVIDIA expects their customers to read every page of every doc and website before they begin using their products?

I agree.

The sdkmanager is already painful, and we previously had to jump through hoops to get it to work by faking lsb_release etc. Now that doesn’t work. Just the sheer amount of time wasted with all these strange tools.

Ugh… two hours wasted today already, now going down the docker route. This sucks tbh

6 Likes

I built a docker container to run SDK Manager GUI on newer Linux distributions. GitHub - raffraffraff/nvidia-sdkmanager: Run the NVIDIA SDK Manager gui from Docker

It volume mounts several directories in your $HOME, so it persists downloads and configs between runs. However, it does not contain any NVIDIA software - if you leave “Host Machine” checked and allow SDK Manager to install CUDA to the host, these changes will be lost every time you exit. However, you can run a docker commit when the container is running, and this should preserve the changes to a new image.

1 Like

Has anyone got a scam to make sdkmanager work on Ubuntu 21.04? All of these tricks (re: faking a os-release and exporting LSB_OS_RELEASE) doesn’t work for me:

It seems like when running sdkmanager from a terminal, it doesn’t use the same environment as the shell I’m currently in?

You should probably start a new topic, but FYI, JetPack/SDKM is just a front end to the actual flash software. Command line flash using the “flash.sh” script does not care about being Ubuntu or a specific release. Unfortunately, flash.sh cannot install optional hardware software (e.g., CUDA), it can only flash. So you could flash the current release without JetPack/SDKM if you are interested in manually setting up the flash software.

There are some other ways to get the optional software (such as CUDA) from a running Jetson with the “apt-get” command once the apt respository is set up, but you’d need to know which package you are interested in.

I couldn’t tell you about the shell, but much of the software will specify “/bin/bash” as the specific shell (once you are using the scripts and are past the Java front end), and those in turn will inherit from the environment.

Do start a new topic with details of what you’ve tried and the error you’ve received if you want more information, but the real answer is that an Ubuntu 18.04 host PC is supported. Other methods can often be made to work, but are not officially supported.

1 Like

Hi, for Ubuntu 21.04:

sudo cp /usr/lib/os-release to /usr/lib/os-release-bionic
sudo cp /usr/lib/os-release to /usr/lib/os-release-hisure
sudo nano /usr/lib/os-release-bionic
# fill in indices for Ubuntu 18 as mentioned above.

When you want to start sdkmanager:

sudo cp  /usr/lib/os-release-bionic /usr/lib/os-release
sdkmanager

When you are done:
sudo cp /usr/lib/os-release-hisure /usr/lib/os-release

20 Likes

I ran into the same problem trying to use NVidia SDKManager 1.6.1.8175 on a host x86/64 PC running Ubuntu 20.03.4 LTS. SDKManager installed just fine on the PC, but refused to download any firmware for my Xavier NX. The only workaround was to temporarily edit my /usr/lib/os-release file to “fake” an Ubuntu 18.04 installation, before launching sdkmanager.

Kind suggestion to NVidia: if you are going to claim that SDKManager supports Ubuntu 20.03 - as is clearly stated on NVIDIA SDK Manager | NVIDIA Developer - then SDKManager really should be able to function, completely, on an Ubuntu 20.03.4 system. Your customers should not have to prowl through developer forums to find solutions for basic functionality like downloading SDKs. Thanks for your consideration!

2 Likes