How to install Gazebo on Jetson Xavier NX

I am trying to install Gazebo on Jetson Xavier NX but getting error
E: Unable to locate package libgazebo11-dev
E: Unable to locate package gazebo11

Anyone knows how to install?

it is possible to try it from here: https://github.com/osrf/docker_images/pull/205

otherwise from here http://gazebosim.org/tutorials?tut=install_ubuntu&cat=install

also from sources: http://gazebosim.org/tutorials?tut=guided_a2&cat=

How did you do it? I saw some the answer , there are some docker images, but only one for arm64 architecture. Can you suggest me some step?

Gazebo v9 is in the Ubuntu 18.04 apt repo - you can simply do sudo apt-get install gazebo9

Can you suggest me any way to install gazebo both inside Docker and on Jetson XavierNx (arm processor)?
I try to used docker nvcr.io/nvidia/l4t-pytorch:r32.4.4-pth1.6-py3. But Gazebo did not execute inside docker.
I worry that because jetson xavier nx don’t have graphic device.

Thanks
Nguyen Ngoc Dat

I regularly use Gazebo from within Docker container - did you start the container with --runtime nvidia?

Also, you may want to use the helper script from jetson-containers repo to start the container:

$ git clone https://github.com/dusty-nv/jetson-containers
$ cd jetson-containers
$ scripts/docker_run.sh -c nvcr.io/nvidia/l4t-pytorch:r32.4.4-pth1.6-py3

This script will automatically setup the container for GUI use:
https://github.com/dusty-nv/jetson-containers/blob/9d9fc95db7cd8a3afb30bdbebcfa24b49a100189/scripts/docker_run.sh#L104

Also, suffice it to say that you will need a display attached to your Jetson.

1 Like

without the display you may try VirtualGL thing though

I don’t reccomend turbovnc + virtualgl. I’m not sure that the problem that I have (TurboVNC server + virtualGL installed on the jetson nano crashes often and suddenly - #4 by marietto2008) is present only on my jetson nano. Since no one helped me to make it stable,a bug could be somewhere. Turbovnc + virtual gl is not stable at all. It disconnects suddenly. I propose to use the X+ssh forwarding of the whole desktop manager.

root@zi-desktop:~/Desktop/zi/Work/Android/Virt/dockers/arm64# git clone GitHub - dusty-nv/jetson-containers: Machine Learning Containers for NVIDIA Jetson and JetPack-L4T

Cloning into ‘jetson-containers’…
remote: Enumerating objects: 452, done.
remote: Counting objects: 100% (33/33), done.
remote: Compressing objects: 100% (24/24), done.
remote: Total 452 (delta 15), reused 22 (delta 9), pack-reused 419
Receiving objects: 100% (452/452), 101.42 KiB | 555.00 KiB/s, done.
Resolving deltas: 100% (266/266), done.

root@zi-desktop:~/Desktop/zi/Work/Android/Virt/dockers/arm64# cd jetson-containers

root@zi-desktop:~/Desktop/zi/Work/Android/Virt/dockers/arm64/jetson-containers# scripts/docker_run.sh -c nvcr.io/nvidia/l4t-pytorch:r32.4.4-pth1.6-py3

localuser:root being added to access control list
xauth: file /tmp/.docker.xauth does not exist
Unable to find image ‘nvcr.io/nvidia/l4t-pytorch:r32.4.4-pth1.6-py3’ locally
r32.4.4-pth1.6-py3: Pulling from nvidia/l4t-pytorch
e74fe6ef6bd6: Pulling fs layer
7dcdd1c8f1d2: Pulling fs layer
148ea20d31e0: Pulling fs layer
fbc4cd4d050b: Pulling fs layer
a21b0b3d8206: Pulling fs layer
4ba0c94f9855: Pull complete
6fb19c1062d0: Pull complete
84ff17ad4b18: Pull complete
5ac903fdc4a8: Pull complete
ecf00917e120: Pull complete
30d000a9cd22: Pull complete
a26b515ffe8f: Pull complete
a199cb2dd71e: Pull complete
c4f4e0f882d3: Pull complete
3e956de9ea4b: Pull complete
e26b78d1aaed: Pull complete
ac42496d0bc2: Pull complete
7db2983f5802: Pull complete
f313550a9e60: Pull complete
a742b8e794d7: Pull complete
628353978f08: Pull complete
7adc69170422: Pull complete
e0d1fc183e52: Pull complete
948ac0abde32: Pull complete
adfb60e46ee1: Pull complete
863e90653906: Pull complete
3e9098193eb0: Pull complete
c8725fd1629c: Pull complete
97d7d811f1b0: Pull complete
Digest: sha256:05c1f230887ba3eeb6d24d7850d84d17d306f471d9c0c3a33a6e73bb2defe719
Status: Downloaded newer image for nvcr.io/nvidia/l4t-pytorch:r32.4.4-pth1.6-py3

docker: Error response from daemon: OCI runtime create failed: container_linux.go:380: starting container process caused: process_linux.go:545: container init caused: Running hook #0:: error running hook: exit status 1, stdout: , stderr: exec command: [/usr/bin/nvidia-container-cli --load-kmods configure --ldconfig=@/sbin/ldconfig.real --device=all --compute --compat32 --graphics --utility --video --display --pid=25195 /var/lib/docker/overlay2/d059c71d32774ffbc53e591ffd2abb0b1d2c805b6e8bb8d7af3b6365bab3186c/merged]
nvidia-container-cli: mount error: file creation failed: /var/lib/docker/overlay2/d059c71d32774ffbc53e591ffd2abb0b1d2c805b6e8bb8d7af3b6365bab3186c/merged/usr/lib/aarch64-linux-gnu/libnvidia-fatbinaryloader.so.440.18: file exists: unknown.

Please refer to docker: Error response from daemon: OCI runtime create failed: container_linux.go:380: starting container process caused: process_linux.go:545: · Issue #74 · dusty-nv/jetson-containers · GitHub

I believe you are running a container that doesn’t match your version of JetPack-L4T

can u suggest a docker container that matches my Jetpack / L4T version ? JetPack 4.5.1 / L4T 32.5

nvcr.io/nvidia/l4t-pytorch:r32.5.0-pth1.6-py3

excusme. I suszpect that I gave you the wrong version. the correct version is :

R32 (release), REVISION: 5.1, GCID: 27362550, BOARD: t210ref, EABI: aarch64, DATE: Wed May 19 18:07:59 UTC 2021

L4T R32.5.1 and R32.5.0 share the same container, because there weren’t substantial changes to the filesystem in L4T R32.5.1. So on L4T R32.5.1 you can still use nvcr.io/nvidia/l4t-pytorch:r32.5.0-pth1.6-py3

it worked. I would like to install ubuntu 18.04 inside the container,to mimic totally the operating system that I use everyday on the jetson nano,ubuntu 18.04 with all the libraries and the components that Nvidia has installed on it. In this way,I can upgrade the main ubuntu 18.04 to a newer version (20.04 or even 21.04) and I can use the board for different pourpoises,like the virtualization. do u think that it’s a good idea ?

Hi @marietto2008, it already based on 18.04 and has the JetPack libraries in it.

yes,I checked it. but Ubuntu 18.04 OS isn’t there. Isn’t it a limitation ? For a newbie like me,it is. because I don’t know what to do with that container. But the same container + ubuntu 18.04 is more manageable.

l4t-ml uses l4t-base which uses ubuntu:18.04

You can run apt-get update && apt-get install xyz to install packages in the Ubuntu 18.04 repo. What is missing that you are looking for?

Can u tell me where is the Dockerfile of vcr.io/nvidia/l4t-pytorch:r32.5.0-pth1.6-py3? because I need to modify its internal structure to make it more close to a real ubuntu 18.04 installation. As u know,If I don’t modify it internally but I do only the apt-get install what I want,the changes will not stick when I close the container or I turn off the board.

Hi @marietto2008, you can find it at GitHub - dusty-nv/jetson-containers: Machine Learning Containers for NVIDIA Jetson and JetPack-L4T

Also, if you prefer you can write your own Dockerfile which uses nvcr.io/nvidia/l4t-pytorch:r32.5.0-pth1.6-py3 as base, or use docker commit to save manual changes to a container.