鱼香ROS社区
    • 版块
    • 最新
    • 未解决
    • 已解决
    • 群组
    • 注册
    • 登录
    紧急通知:禁止一切关于政治&VPN翻墙等话题,发现相关帖子会立马删除封号
    提问前必看的发帖注意事项: 社区问答规则(小鱼个人)更新 | 高质量帖子发布指南

    3.4.4.5在功能抱中使用QT报错。

    已定时 已固定 已锁定 已移动
    ROS2机器人开发:从入门到实践
    ros2 qt 报错
    3
    16
    723
    正在加载更多帖子
    • 从旧到新
    • 从新到旧
    • 最多赞同
    回复
    • 在新帖中回复
    登录后回复
    此主题已被删除。只有拥有主题管理权限的用户可以查看。
    • ganyuanzhenG
      Elysia 技术大佬 @261962418
      最后由 编辑

      @261962418 在命令前加上 QT_QPA_PLATFORM=xcb

      我难道就没有一段英勇,美好而又虚幻的过去……幸运地写在金叶片上?

      2 1 条回复 最后回复 回复 引用 0
      • 2
        261962418 @ganyuanzhen
        最后由 编辑

        @ganyuanzhen 在哪一条命令上加阿

        ganyuanzhenG 1 条回复 最后回复 回复 引用 0
        • ganyuanzhenG
          Elysia 技术大佬 @261962418
          最后由 编辑

          @261962418 ros2 run status_display hello_qt 前面,

          QT_QPA_PLATFORM=xcb ros2 run status_display hello_qt
          

          我难道就没有一段英勇,美好而又虚幻的过去……幸运地写在金叶片上?

          2 1 条回复 最后回复 回复 引用 0
          • 2
            261962418 @ganyuanzhen
            最后由 编辑

            @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

            ganyuanzhenG 1 条回复 最后回复 回复 引用 0
            • ganyuanzhenG
              Elysia 技术大佬 @261962418
              最后由 编辑

              @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也一并卸载掉。

              我难道就没有一段英勇,美好而又虚幻的过去……幸运地写在金叶片上?

              ganyuanzhenG 1 条回复 最后回复 回复 引用 0
              • ganyuanzhenG
                Elysia 技术大佬 @ganyuanzhen
                最后由 ganyuanzhen 编辑

                @ganyuanzhen

                unset GTK_PATH
                unset GIO_MODULE_DIR

                执行这个以后再看看呢()

                我难道就没有一段英勇,美好而又虚幻的过去……幸运地写在金叶片上?

                2 1 条回复 最后回复 回复 引用 0
                • 2
                  261962418 @ganyuanzhen
                  最后由 编辑

                  @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"

                  ganyuanzhenG 1 条回复 最后回复 回复 引用 0
                  • ganyuanzhenG
                    Elysia 技术大佬 @261962418
                    最后由 编辑

                    @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里面执行的命令。

                    单独用系统的终端执行试一下呢,

                    我难道就没有一段英勇,美好而又虚幻的过去……幸运地写在金叶片上?

                    2 1 条回复 最后回复 回复 引用 0
                    • 2
                      261962418 @ganyuanzhen
                      最后由 编辑

                      @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

                      ganyuanzhenG 1 条回复 最后回复 回复 引用 0
                      • ganyuanzhenG
                        Elysia 技术大佬 @261962418
                        最后由 编辑

                        @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安装的软件,里面的环境配置比较特殊,所以会出一些问题

                        我难道就没有一段英勇,美好而又虚幻的过去……幸运地写在金叶片上?

                        2 1 条回复 最后回复 回复 引用 0
                        • 2
                          261962418 @ganyuanzhen
                          最后由 编辑

                          @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

                          ganyuanzhenG 1 条回复 最后回复 回复 引用 0
                          • ganyuanzhenG
                            Elysia 技术大佬 @261962418
                            最后由 编辑

                            @261962418 Warning: Ignoring XDG_SESSION_TYPE=wayland on Gnome. Use QT_QPA_PLATFORM=wayland to run on Wayland anyway.

                            这个问题,可以试着换一下GNOME Xorg会话。并不影响程序的运行和显示

                            我难道就没有一段英勇,美好而又虚幻的过去……幸运地写在金叶片上?

                            ganyuanzhenG 1 条回复 最后回复 回复 引用 0
                            • ganyuanzhenG
                              Elysia 技术大佬 @ganyuanzhen
                              最后由 编辑

                              @ganyuanzhen

                              网上也有这个办法

                              
                              
                              # 解决方法
                              rambo@test:~$ sudo nano /etc/gdm3/custom.conf
                              WaylandEnable=false # 取消注释,即在当前图形化中不开启WaylandEn
                              ablerambo@test:~$ sudo systemctl restart gdm3 # 重启服务
                              
                              

                              我用的是KDE桌面,不是GNOME,所以没遇到过这个报错~

                              我难道就没有一段英勇,美好而又虚幻的过去……幸运地写在金叶片上?

                              2 1 条回复 最后回复 回复 引用 0
                              • 2
                                261962418 @ganyuanzhen
                                最后由 编辑

                                @ganyuanzhen 好的,感谢大老的指教和方向,我寨SS,已经卡在这一天了☂

                                1 条回复 最后回复 回复 引用 0
                                • 小鱼小 小鱼 在 中 引用了 这个主题
                                • 第一个帖子
                                  最后一个帖子
                                皖ICP备16016415号-7
                                Powered by NodeBB | 鱼香ROS