gezp/docker-ubuntu-desktop

容器中vgl服务报错

QuantumY-CHN opened this issue · 4 comments

大佬您好 感谢您分享非常牛的镜像
我在使用时出现了如下vgl错误

[VGL] ERROR: Could not load function 'dlopen'
[VGL] /usr/NX/scripts/vgl/libvglfaker.so: undefined symbol: dlopen

并导致节点process died. 请问这是因为VGL正在被虚拟桌面占用吗?有什么可能的解决办法呢?谢谢!

gezp commented

请提供更多的信息,运行镜像的tag,启动镜像的命令,以及出错时运行的命令。另外虚拟桌面xfce没有采用VGL,以保证更好的兼容性。

大佬您好 tag是20.04-cu11.2
启动镜像:

docker run -d --restart=on-failure --name noetic_ws --cap-add=SYS_PTRACE --gpus all --shm-size=16g -v /tmp./X11-unix:/tmp/.X11-unix:rw -p 10022:22 -p 14000:4000 --security-opt seccomp=unconfined --privileged ubuntu-desktop:20.04-cu11.2

出错是我在roslaunch一个eth的repo: https://github.com/ethz-asl/voxblox-plusplus
原repo是18.04下pass但我由于其他功能包的原因仍需要使用20.04
经过debug上述vgl错误只出现在这其中一个节点depth_segmentation中调用cv_bridge和cv的函数里(depth_segmentation_node.cpp/imageSegmentationCallback) 让我非常迷惑 请大佬指点指点

gezp commented

你可以试一下不加vglrun,看是否可以正常运行。

谢谢 之前一直没有加vglrun 后来也一直没有找到问题在哪
重新开了个容器重新配置了一遍环境后没有再出现了