rviz2 does not open in ubuntu 20.04 docker ade image [closed]
Hi I am using ubuntu 20.04 and ROS2 foxy distro.
I was using ubuntu 18.04 and ros2 dashing installed automatically by autoware auto repo. Everything was working fine: Lgsvl simulator, rviz2, etc ....
But I needed to upgrade to get the new features. However I tried a fresh install several times, and followed step-by-step from these installation links: 1- https://autowarefoundation.gitlab.io/... 2- https://ade-cli.readthedocs.io/en/lat... 3- https://gitlab.com/ApexAI/autowarecla...
In a summarize I have installed Nvidia-driver, nvidia-container-toolkit nvidia-cuda-toolkit and all the required dependencies. The container generates the Autoware Auto images correctly, compile the ros2 packages, etc. Everything is working correctly with excpetion of rviz2 that does not open anymore. Giving the oupt error below:
QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/runtime-autoware-auto'
1615423952.126068 [0] rviz2: using network interface wlp2s0 (udp/192.168.100.10) selected arbitrarily from: wlp2s0, docker0
dbus[129]: The last reference on a connection was dropped without closing the connection. This is a bug in an application. See dbus_connection_unref() documentation for details.
Most likely, the application was supposed to call dbus_connection_close(), since this is a private connection.
D-Bus not built with -rdynamic so unable to print a backtrace
Aborted (core dumped)
There are some web-solutions for ros distro installation inside container:
https://answers.ros.org/question/3010...
However in my case I do not know which files to modify exactly because the images comes from the AutowareAuto repo and I do not have the same files in the same structure as the solution above. How can I manage these modifications to fix this problem?
I have already changed the .aderc file and remove the line:
ADE_DISABLE_NVIDIA_DOCKER=false
my .aderc file is below:
export ADE_DOCKER_RUN_ARGS="--cap-add=SYS_PTRACE --net=host -e RMW_IMPLEMENTATION=rmw_cyclonedds_cpp"
export ADE_GITLAB=gitlab.com
export ADE_REGISTRY=registry.gitlab.com
export ADE_IMAGES="
registry.gitlab.com/autowarefoundation/autoware.auto/autowareauto/amd64/ade-foxy:master
registry.gitlab.com/autowarefoundation/autoware.auto/autowareauto/amd64/binary-foxy:master
"
The Dockerfile inside AutowareAuto/tools/ade_image is below:
ARG ROS_DISTRO=dashing
FROM ros:$ROS_DISTRO
ARG CODENAME=bionic
# Disable non-free repositories
RUN if [ "$(uname -m)" = "x86_64" ]; then \
echo "\
deb http://archive.ubuntu.com/ubuntu/ ${CODENAME} main universe\n\
deb http://archive.ubuntu.com/ubuntu/ ${CODENAME}-backports main universe\n\
deb http://archive.ubuntu.com/ubuntu/ ${CODENAME}-updates main universe\n\
deb http://security.ubuntu.com/ubuntu/ ${CODENAME}-security main universe\n\
" > /etc/apt/sources.list; \
else \
echo "\
deb http://ports.ubuntu.com/ubuntu-ports/ ${CODENAME} main universe\n\
deb http://ports.ubuntu.com/ubuntu-ports/ ${CODENAME}-backports main universe\n\
deb http://ports.ubuntu.com/ubuntu-ports/ ${CODENAME}-updates main universe\n\
deb http://ports.ubuntu.com/ubuntu-ports/ ${CODENAME}-security main universe\n\
" > /etc/apt/sources.list; \
fi
RUN apt-get update && \
DEBIAN_FRONTEND=noninteractive apt-get install -y \
gettext-base \
locales \
keyboard-configuration && \
rm -rf /var/lib/apt/lists/*
RUN locale-gen en_US.UTF-8; dpkg-reconfigure -f noninteractive locales
ENV LANG en_US.UTF-8
ENV LANGUAGE en_US.UTF-8
ENV LC_ALL en_US.UTF-8
RUN echo deb https://deb.nodesource.com/node_10.x ${CODENAME} main ...
I think I encountered something like this with rviz and docker a month or so ago using rocker, but can no longer reproduce this now on rocker, so make sure you're using images built from the latest foxy binaries?
Hi thanks for the reply. However I have installed from the latest foxy binaries. I also always update ade-cli and the images before enter ade, using sudo ade --start --update. Is there a chance to be other issue? Such set NVidia Gpus, ip, change dockerfile? I am really lost on this topic cause I am not a computer scientist or software engineer, so I do not understand what is going on and what the error means. Do you remember how you fixed please?