MISTLab / Swarm-SLAM

Sparse Decentralized Collaborative Simultaneous Localization and Mapping Framework for Multi-Robot Systems
https://lajoiepy.github.io/cslam_documentation/html/index.html
MIT License
391 stars 40 forks source link

unable to process colcon build on Ubuntu20.04 #32

Closed LiuSnake7788 closed 5 months ago

LiuSnake7788 commented 5 months ago

It seems that a ROS2 error occurs, but I got no idea how to fix that. (cslam) lsh@lsh-Z370-HD3:~/Swarm-SLAM$ colcon build WARNING: Package "libg2o" does not follow the version conventions. It should not contain leading zeros (unless the number is 0). Starting >>> libnabo Starting >>> gtsam Starting >>> libg2o Starting >>> cslam_common_interfaces Finished <<< libnabo [0.24s]
Starting >>> libpointmatcher Finished <<< libg2o [0.61s]
Finished <<< libpointmatcher [0.63s]
--- stderr: cslam_common_interfaces
CMake Error at /opt/ros/foxy/share/rosidl_adapter/cmake/rosidl_adapt_interfaces.cmake:60 (message): execute_process(/home/lsh/miniconda3/envs/cslam/bin/python3 -m rosidl_adapter --package-name cslam_common_interfaces --arguments-file /home/lsh/Swarm-SLAM/build/cslam_common_interfaces/rosidl_adapterargumentscslam_common_interfaces.json --output-dir /home/lsh/Swarm-SLAM/build/cslam_common_interfaces/rosidl_adapter/cslam_common_interfaces --output-file /home/lsh/Swarm-SLAM/build/cslam_common_interfaces/rosidl_adapter/cslam_common_interfaces.idls) returned error code 1:

AttributeError processing template 'msg.idl.em'

****Traceback (most recent call last):

File "/opt/ros/foxy/lib/python3.8/site-packages/rosidl_adapter/resource/__init__.py", line 51, in evaluate_template
  em.BUFFERED_OPT: True,

AttributeError: module 'em' has no attribute 'BUFFERED_OPT'****

During handling of the above exception, another exception occurred:

Traceback (most recent call last):

File "/home/lsh/miniconda3/envs/cslam/lib/python3.9/runpy.py", line 197, in _run_module_as_main
  return _run_code(code, main_globals, None,
File "/home/lsh/miniconda3/envs/cslam/lib/python3.9/runpy.py", line 87, in _run_code
  exec(code, run_globals)
File "/opt/ros/foxy/lib/python3.8/site-packages/rosidl_adapter/__main__.py", line 19, in <module>
  sys.exit(main())
File "/opt/ros/foxy/lib/python3.8/site-packages/rosidl_adapter/main.py", line 53, in main
  abs_idl_file = convert_to_idl(
File "/opt/ros/foxy/lib/python3.8/site-packages/rosidl_adapter/__init__.py", line 19, in convert_to_idl
  return convert_msg_to_idl(
File "/opt/ros/foxy/lib/python3.8/site-packages/rosidl_adapter/msg/__init__.py", line 39, in convert_msg_to_idl
  expand_template('msg.idl.em', data, output_file, encoding='iso-8859-1')
File "/opt/ros/foxy/lib/python3.8/site-packages/rosidl_adapter/resource/__init__.py", line 23, in expand_template
  content = evaluate_template(template_name, data)
File "/opt/ros/foxy/lib/python3.8/site-packages/rosidl_adapter/resource/__init__.py", line 69, in evaluate_template
  _interpreter.shutdown()

**AttributeError: 'NoneType' object has no attribute 'shutdown'

Call Stack (most recent call first): /opt/ros/foxy/share/rosidl_cmake/cmake/rosidl_generate_interfaces.cmake:130 (rosidl_adapt_interfaces) CMakeLists.txt:43 (rosidl_generate_interfaces)**


Failed <<< cslam_common_interfaces [1.04s, exited with code 1] Aborted <<< gtsam [1.68s]

Summary: 3 packages finished [1.96s] 1 package failed: cslam_common_interfaces 1 package aborted: gtsam 1 package had stderr output: cslam_common_interfaces 3 packages not processed

Thanks a lot if you can help!

mjforan commented 5 months ago

Did you try changing Python versions? https://github.com/carla-simulator/ros-bridge/issues/712#issuecomment-1855047272

lajoiepy commented 5 months ago

Your issue is system specific, it is hard to pin point your problem. I suggest that you use Docker to avoid compatibility problems. I recently made this Dockerfile to help people with that https://github.com/lajoiepy/cslam_experiments/tree/main/docker Good luck!