小鱼 ROS 2 新书上线!点击链接查看, 新书配套视频点击链接查看。
提问前必看的发帖注意事项—— 提问前必看!不符合要求的问题拒绝回答!!
社区使用指南—如何添加标签修改密码
3.4.4.5在功能抱中使用QT报错。
-
@261962418 ros2 run status_display hello_qt 前面,
QT_QPA_PLATFORM=xcb ros2 run status_display hello_qt
-
@ganyuanzhen 还是一样
wan@wan-ThinkPad-X1-Yoga-3rd:~/chapt3/topic_practice_ws$ QT_QPA_PLATFORM=xcb ros2 run status_display hello_qt
/home/wan/chapt3/topic_practice_ws/install/status_display/lib/status_display/hello_qt: symbol lookup error: /snap/core20/current/lib/x86_64-linux-gnu/libpthread.so.0: undefined symbol: __libc_pthread_init, version GLIBC_PRIVATE
[ros2run]: Process exited with failure 127 -
@261962418 在 3.4.4.5在功能抱中使用QT报错。 中说:
/snap/core20/current/lib/x86_64-linux-gnu/libpthread.so.0: undefined symbol: __libc_pthread_init, version GLIBC_PRIVATE
看起来你的系统环境设置有些问题,按理说不应该识别到snap里面的运行库。看看是不是 ld.so.conf 或者LD_LIBRARY_PATH有问题。
或者可以卸载掉snap,不过这个会导致firefox也一并卸载掉。
-
-
@ganyuanzhen
wan@wan-ThinkPad-X1-Yoga-3rd:~/chapt3/topic_practice_ws$ unset GTK_PATH
unset GIO_MODULE_DIR
wan@wan-ThinkPad-X1-Yoga-3rd:~/chapt3/topic_practice_ws$ QT_QPA_PLATFORM=xcb ros2 run status_display hello_qt
Gtk-Message: 23:45:22.302: Failed to load module "canberra-gtk-module"
Gtk-Message: 23:45:22.302: Failed to load module "canberra-gtk-module" -
@261962418 在 3.4.4.5在功能抱中使用QT报错。 中说:
@ganyuanzhen
wan@wan-ThinkPad-X1-Yoga-3rd:~/chapt3/topic_practice_ws$ unset GTK_PATH
unset GIO_MODULE_DIR
wan@wan-ThinkPad-X1-Yoga-3rd:~/chapt3/topic_practice_ws$ QT_QPA_PLATFORM=xcb ros2 run status_display hello_qt
Gtk-Message: 23:45:22.302: Failed to load module "canberra-gtk-module"
Gtk-Message: 23:45:22.302: Failed to load module "canberra-gtk-module"是不是在snap安装的vscode里面执行的命令。
单独用系统的终端执行试一下呢,
-
@ganyuanzhen 系统中端是这样的
wan@wan-ThinkPad-X1-Yoga-3rd:~/chapt3/topic_practice_ws$ unset GTK_PATH
unset GIO_MODULE_DIR
wan@wan-ThinkPad-X1-Yoga-3rd:~/chapt3/topic_practice_ws$ QT_QPA_PLATFORM=xcb ros2 run status_display hello_qt
Package 'status_display' not found -
@261962418 在 3.4.4.5在功能抱中使用QT报错。 中说:
@ganyuanzhen 系统中端是这样的
wan@wan-ThinkPad-X1-Yoga-3rd:~/chapt3/topic_practice_ws$ unset GTK_PATH
unset GIO_MODULE_DIR
wan@wan-ThinkPad-X1-Yoga-3rd:~/chapt3/topic_practice_ws$ QT_QPA_PLATFORM=xcb ros2 run status_display hello_qt
Package 'status_display' not found一样source一下你工作空间下的setup文件,然后执行 QT_QPA_PLATFORM=xcb ros2 run status_display hello_qt
原理上不会有问题,snap安装的软件,里面的环境配置比较特殊,所以会出一些问题
-
@ganyuanzhen 系统中端是这样的
wan@wan-ThinkPad-X1-Yoga-3rd:~/chapt3/topic_practice_ws$ source install/setup.bash
wan@wan-ThinkPad-X1-Yoga-3rd:~/chapt3/topic_practice_ws$ QT_QPA_PLATFORM=xcb ros2 run status_display hello_qt
Warning: Ignoring XDG_SESSION_TYPE=wayland on Gnome. Use QT_QPA_PLATFORM=wayland to run on Wayland anyway.vscode是这样的
wan@wan-ThinkPad-X1-Yoga-3rd:~/chapt3/topic_practice_ws$ source install/setup.bash
wan@wan-ThinkPad-X1-Yoga-3rd:~/chapt3/topic_practice_ws$ QT_QPA_PLATFORM=xcb ros2 run status_display hello_qt
Gtk-Message: 23:55:43.056: Failed to load module "canberra-gtk-module"
Gtk-Message: 23:55:43.057: Failed to load module "canberra-gtk-module"
^C[ros2run]: Interrupt -
@261962418 Warning: Ignoring XDG_SESSION_TYPE=wayland on Gnome. Use QT_QPA_PLATFORM=wayland to run on Wayland anyway.
这个问题,可以试着换一下GNOME Xorg会话。并不影响程序的运行和显示
-
网上也有这个办法
# 解决方法 rambo@test:~$ sudo nano /etc/gdm3/custom.conf WaylandEnable=false # 取消注释,即在当前图形化中不开启WaylandEn ablerambo@test:~$ sudo systemctl restart gdm3 # 重启服务
我用的是KDE桌面,不是GNOME,所以没遇到过这个报错~
-
@ganyuanzhen 好的,感谢大老的指教和方向,我寨SS,已经卡在这一天了