Skip to content

Issue with devcontainer build and make launch-g1-dummy-sim on macOS #25

@mabdulahmalik

Description

@mabdulahmalik

I tried building the repository using the instructions in the README for the devcontainer setup.

What I did:
Used Ctrl + Shift + P and selected "Dev Containers: Rebuild and Reopen in Container".

However, I encountered errors when trying to execute this command in VS Code.

Workaround:
I used the build and launch scripts shared by moavia90 mentioned in #17, which allowed me to get past the devcontainer startup.

I modified launch_wb_mpc.bash to suit my macOS environment.

Current Status:
The workspace wb_humanoid_mpc builds successfully with PARALLEL_JOBS=1.

Auto-differentiation code generation also works fine.

Problem:
When I run:

make launch-g1-dummy-sim
I get an error related to RViz. Unfortunately, the simulator fails to launch as expected.

System Details:

Device: Apple MacBook Pro

RAM: 16 GB

OS: macOS

Chip: Apple M3 Pro

Please let me know if there's a known workaround for the RViz error or if additional steps are needed for macOS users.

Thanks!

[humanoid_centroidal_mpc_sqp_node-1] [CppAdInterface] Compiling Shared Library: cppad_code_gen/cppad_centroidal_mpc_g1/dynamics_systemFlowMap/cppad_generated/dynamics_systemFlowMap_libcppadcg_tmp1708086.so
[rviz2-6] qt.qpa.xcb: could not connect to display 
[rviz2-6] qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "" even though it was found.
[rviz2-6] This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.
[rviz2-6] 
[rviz2-6] Available platform plugins are: eglfs, linuxfb, minimal, minimalegl, offscreen, vnc, xcb.
[rviz2-6] 
[ERROR] [rviz2-6]: process has died [pid 8091, exit code -6, cmd '/opt/ros/jazzy/lib/rviz2/rviz2 -d /wb_humanoid_mpc_ws/install/humanoid_common_mpc_ros2/share/humanoid_common_mpc_ros2/rviz/humanoid.rviz --ros-args -r __node:=rviz2'].
[base_velocity_controller_gui-7] XDG_RUNTIME_DIR (/tmp) is not owned by us (uid 1000), but by uid 0! (This could e.g. happen if you try to connect to a non-root PulseAudio as a root user, over the native protocol. Don't do that.)
[base_velocity_controller_gui-7] ALSA lib confmisc.c:855:(parse_card) cannot find card '0'
[base_velocity_controller_gui-7] ALSA lib conf.c:5204:(_snd_config_evaluate) function snd_func_card_inum returned error: No such file or directory
[base_velocity_controller_gui-7] ALSA lib confmisc.c:422:(snd_func_concat) error evaluating strings
[base_velocity_controller_gui-7] ALSA lib conf.c:5204:(_snd_config_evaluate) function snd_func_concat returned error: No such file or directory
[base_velocity_controller_gui-7] ALSA lib confmisc.c:1342:(snd_func_refer) error evaluating name
[base_velocity_controller_gui-7] ALSA lib conf.c:5204:(_snd_config_evaluate) function snd_func_refer returned error: No such file or directory
[base_velocity_controller_gui-7] ALSA lib conf.c:5727:(snd_config_expand) Evaluate error: No such file or directory
[base_velocity_controller_gui-7] ALSA lib pcm.c:2721:(snd_pcm_open_noupdate) Unknown PCM default
[base_velocity_controller_gui-7] pygame 2.5.2 (SDL 2.30.0, Python 3.12.3)
[base_velocity_controller_gui-7] Hello from the pygame community. https://www.pygame.org/contribute.html
[base_velocity_controller_gui-7] Traceback (most recent call last):
[base_velocity_controller_gui-7]   File "/wb_humanoid_mpc_ws/install/remote_control/lib/remote_control/base_velocity_controller_gui", line 33, in <module>
[base_velocity_controller_gui-7]     sys.exit(load_entry_point('remote-control', 'console_scripts', 'base_velocity_controller_gui')())
[base_velocity_controller_gui-7]              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[base_velocity_controller_gui-7]   File "/wb_humanoid_mpc_ws/build/remote_control/remote_control/base_velocity_controller_gui.py", line 277, in main
[base_velocity_controller_gui-7]     app = RosJoystickApp()
[base_velocity_controller_gui-7]           ^^^^^^^^^^^^^^^^
[base_velocity_controller_gui-7]   File "/wb_humanoid_mpc_ws/build/remote_control/remote_control/base_velocity_controller_gui.py", line 238, in __init__
[base_velocity_controller_gui-7]     self.app = App()
[base_velocity_controller_gui-7]                ^^^^^
[base_velocity_controller_gui-7]   File "/wb_humanoid_mpc_ws/build/remote_control/remote_control/base_velocity_controller_gui.py", line 43, in __init__
[base_velocity_controller_gui-7]     super().__init__()
[base_velocity_controller_gui-7]   File "/usr/lib/python3.12/tkinter/__init__.py", line 2345, in __init__
[base_velocity_controller_gui-7]     self.tk = _tkinter.create(screenName, baseName, className, interactive, wantobjects, useTk, sync, use)
[base_velocity_controller_gui-7]               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[base_velocity_controller_gui-7] _tkinter.TclError: couldn't connect to display ""
[ERROR] [base_velocity_controller_gui-7]: process has died [pid 8092, exit code 1, cmd '/wb_humanoid_mpc_ws/install/remote_control/lib/remote_control/base_velocity_controller_gui --ros-args -r __node:=base_velocity_controller_gui'].

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions