Skip to content

Updates to ros-installation.md#9

Merged
rgreid merged 4 commits into
masterfrom
fix/ros-installation
Feb 12, 2022
Merged

Updates to ros-installation.md#9
rgreid merged 4 commits into
masterfrom
fix/ros-installation

Conversation

@ScottMcCormack
Copy link
Copy Markdown
Contributor

@ScottMcCormack ScottMcCormack commented Feb 12, 2022

  • Fix broken links in ros-docker.md
  • Minor format updates

@ScottMcCormack ScottMcCormack self-assigned this Feb 12, 2022
@ScottMcCormack
Copy link
Copy Markdown
Contributor Author

ScottMcCormack commented Feb 12, 2022

@rgreid Just did a bit of testing following the ros-docker.md instructions. It built and started up fine but had some trouble getting rqt started. Have you seen this error before?

root@fossa:/workshop_ws# rqt
No protocol specified
could not connect to display :1
This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.

Available platform plugins are: eglfs, linuxfb, minimal, minimalegl, offscreen, vnc, xcb

Segmentation fault (core dumped)

Copy link
Copy Markdown
Member

@rgreid rgreid left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks again Scott!

@rgreid rgreid merged commit 8f397a0 into master Feb 12, 2022
@rgreid rgreid deleted the fix/ros-installation branch February 12, 2022 13:28
@rgreid
Copy link
Copy Markdown
Member

rgreid commented Feb 12, 2022

I've merged this in, thanks.

The critical error line above is could not connect to display :1. I may have something non-standard resulting from our ADE-based Docker environment. What does xhost show on your host? e.g. I see:

$ xhost 
access control enabled, only authorized clients can connect
SI:localuser:rob

@rgreid
Copy link
Copy Markdown
Member

rgreid commented Feb 12, 2022

@ScottMcCormack were you running Docker sudo or as root? Did you use this command to start exactly?

docker run -it --net=host --gpus all \
    --env="DISPLAY" \
    --env="NVIDIA_DRIVER_CAPABILITIES=all" \
    --env="QT_X11_NO_MITSHM=1" \
    --volume="$HOME/.Xauthority:/root/.Xauthority:rw" \
    --volume="/tmp/.X11-unix:/tmp/.X11-unix:rw" \
    --volume="${PWD}/workshop_ws":"/workshop_ws":rw \
    nvidia_ros \
    bash

Here --net=host and --volume="$HOME/.Xauthority are super important

@ScottMcCormack
Copy link
Copy Markdown
Contributor Author

ScottMcCormack commented Feb 12, 2022

What does xhost show on your host? e.g. I see:

$ xhost 
access control enabled, only authorized clients can connect
SI:localuser:rob

I have the same output on my machine as well (running from my 20.04 host)

Ran the exact command above as well. Ran this using sudo as well and didn't have any luck resolving on my machine 🤷‍♂️

@rgreid
Copy link
Copy Markdown
Member

rgreid commented Feb 12, 2022

@ScottMcCormack weird. My machine might not be 'stock'.

@jakebessen Hey mate, when you get back Monday, can you please check if these instructions work on your Ubuntu+NVIDIA machine? https://github.com/ros-workshop/course/blob/master/ros-docker.md Should only take a few minutes. Thanks!

@ScottMcCormack
Copy link
Copy Markdown
Contributor Author

It's a bit of a strange one, could be an issue with my setup.

For reference this is my running config in the container

root@fossa:/workshop_ws# printenv
ROS_VERSION=1
NVIDIA_VISIBLE_DEVICES=all
PKG_CONFIG_PATH=/opt/ros/noetic/lib/pkgconfig
ROS_PYTHON_VERSION=3
HOSTNAME=fossa
NVIDIA_REQUIRE_CUDA=cuda>=11.4 brand=tesla,driver>=418,driver<419 brand=tesla,driver>=440,driver<441 driver>=450
ROS_PACKAGE_PATH=/opt/ros/noetic/share
ROSLISP_PACKAGE_DIRECTORIES=
PWD=/workshop_ws
NVIDIA_DRIVER_CAPABILITIES=all
NV_CUDA_CUDART_VERSION=11.4.108-1
HOME=/root
LANG=C.UTF-8
ROS_ETC_DIR=/opt/ros/noetic/etc/ros
LS_COLORS=rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=00:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arc=01;31:*.arj=01;31:*.taz=01;31:*.lha=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.tzo=01;31:*.t7z=01;31:*.zip=01;31:*.z=01;31:*.dz=01;31:*.gz=01;31:*.lrz=01;31:*.lz=01;31:*.lzo=01;31:*.xz=01;31:*.zst=01;31:*.tzst=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.alz=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.cab=01;31:*.wim=01;31:*.swm=01;31:*.dwm=01;31:*.esd=01;31:*.jpg=01;35:*.jpeg=01;35:*.mjpg=01;35:*.mjpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.m4a=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.oga=00;36:*.opus=00;36:*.spx=00;36:*.xspf=00;36:
CUDA_VERSION=11.4.2
CMAKE_PREFIX_PATH=/opt/ros/noetic
PYTHONPATH=/opt/ros/noetic/lib/python3/dist-packages
TERM=xterm
DISPLAY=:1
SHLVL=1
NVARCH=x86_64
ROS_MASTER_URI=http://localhost:11311
NV_CUDA_COMPAT_PACKAGE=cuda-compat-11-4
LD_LIBRARY_PATH=/opt/ros/noetic/lib:/usr/lib/x86_64-linux-gnu:/usr/lib/i386-linux-gnu:/usr/local/nvidia/lib:/usr/local/nvidia/lib64:/usr/local/nvidia/lib:/usr/local/nvidia/lib64
LC_ALL=C.UTF-8
PATH=/opt/ros/noetic/bin:/usr/local/nvidia/bin:/usr/local/cuda/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
ROS_ROOT=/opt/ros/noetic/share/ros
ROS_DISTRO=noetic
QT_X11_NO_MITSHM=1

@rgreid
Copy link
Copy Markdown
Member

rgreid commented Feb 12, 2022

This would be better as an issue. The only question mark from what you pasted is the display variable which is typically :0. I.e. on my host I have:

$ cat /etc/lsb-release 
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=21.10
DISTRIB_CODENAME=impish
DISTRIB_DESCRIPTION="Ubuntu 21.10"

$ printenv | grep DIS
DISPLAY=:0

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

2 participants