0
$\begingroup$

Rosanswers logo

I'm trying to build ROS2 on Arch Linux for Arm. The rosidl packages fail to build. Has anyone had experience with this?

Here is my error message

--- stderr: rosidl_typesupport_interface
CMake Error at /home/environ/Developer/arm_ros2_ws/install/ament_cmake_target_dependencies/share/ament_cmake_target_dependencies/cmake/ament_cmake_target_dependencies-extras.cmake:19 (find_package):
  By not providing "Findament_cmake_include_directories.cmake" in
  CMAKE_MODULE_PATH this project has asked CMake to find a package
  configuration file provided by "ament_cmake_include_directories", but CMake
  did not find one.

  Could not find a package configuration file provided by
  "ament_cmake_include_directories" with any of the following names:

    ament_cmake_include_directoriesConfig.cmake
    ament_cmake_include_directories-config.cmake

  Add the installation prefix of "ament_cmake_include_directories" to
  CMAKE_PREFIX_PATH or set "ament_cmake_include_directories_DIR" to a
  directory containing one of the above files.  If
  "ament_cmake_include_directories" provides a separate development package
  or SDK, be sure it has been installed.
Call Stack (most recent call first):
  /home/environ/Developer/arm_ros2_ws/install/ament_cmake_target_dependencies/share/ament_cmake_target_dependencies/cmake/ament_cmake_target_dependenciesConfig.cmake:38 (include)
  /home/environ/Developer/arm_ros2_ws/install/ament_cmake/share/ament_cmake/cmake/ament_cmake_export_dependencies-extras.cmake:21 (find_package)
  /home/environ/Developer/arm_ros2_ws/install/ament_cmake/share/ament_cmake/cmake/ament_cmakeConfig.cmake:38 (include)
  CMakeLists.txt:5 (find_package)


---
Failed   <<< rosidl_typesupport_interface   [ Exited with code 1 ]
--- stderr: libyaml_vendor
CMake Error at /home/environ/Developer/arm_ros2_ws/install/ament_cmake_target_dependencies/share/ament_cmake_target_dependencies/cmake/ament_cmake_target_dependencies-extras.cmake:19 (find_package):
  By not providing "Findament_cmake_include_directories.cmake" in
  CMAKE_MODULE_PATH this project has asked CMake to find a package
  configuration file provided by "ament_cmake_include_directories", but CMake
  did not find one.

  Could not find a package configuration file provided by
  "ament_cmake_include_directories" with any of the following names:

    ament_cmake_include_directoriesConfig.cmake
    ament_cmake_include_directories-config.cmake

  Add the installation prefix of "ament_cmake_include_directories" to
  CMAKE_PREFIX_PATH or set "ament_cmake_include_directories_DIR" to a
  directory containing one of the above files.  If
  "ament_cmake_include_directories" provides a separate development package
  or SDK, be sure it has been installed.
Call Stack (most recent call first):
  /home/environ/Developer/arm_ros2_ws/install/ament_cmake_target_dependencies/share/ament_cmake_target_dependencies/cmake/ament_cmake_target_dependenciesConfig.cmake:38 (include)
  /home/environ/Developer/arm_ros2_ws/install/ament_cmake/share/ament_cmake/cmake/ament_cmake_export_dependencies-extras.cmake:21 (find_package)
  /home/environ/Developer/arm_ros2_ws/install/ament_cmake/share/ament_cmake/cmake/ament_cmakeConfig.cmake:38 (include)
  CMakeLists.txt:5 (find_package)

Originally posted by austinstig on ROS Answers with karma: 31 on 2018-08-03

Post score: 0


Original comments

Comment by pokitoz on 2018-08-04:
What do you mean it fails ? Can you give the error message?

Comment by austinstig on 2018-08-04:
I have edited my question to include my build error

Comment by allenh1 on 2018-08-04:
How are you compiling ROS 2?

Comment by austinstig on 2018-08-04:
I am trying to cross compile. My host is ubuntu 18.04. I am following the instructions https://github.com/ros2-for-arm/ros2/wiki/ROS2-on-arm-architecture

If it matters, rcl also failed to build because it couldn't find test_msgs-config.cmake. I'm not sure where these cmake files should be.

Comment by pokitoz on 2018-08-04:
https://github.com/ros2-for-arm/ros2/issues/6

Comment by austinstig on 2018-08-04:
@pokitoz thanks for the link! I'm going to follow the instructions in that script, with the patches, with the additional changes you posted to the cmake file.I will post an update on its status.

Comment by pokitoz on 2018-08-04:
Great. Hopefully it will work on your side ;) I will update the instructions on the wiki soon so it should be clearer.

Comment by austinstig on 2018-08-04:
The build finished. I mounted my arm image and chroot into it. I copied all of the *.so files to my image in its /lib path (/mnt/lib on host). I also copied all the bin files to its /bin. I confirmed the copy. When I run $ros2 it throws an error "ModuleNotFoundError: No module named pkg_resources"

Comment by austinstig on 2018-08-04:
I fixed that with installing setuptools. Now the 'ros2cli' distribution was not found

$\endgroup$

1 Answer 1

0
$\begingroup$

Rosanswers logo

Have a look at the issues in the GitHub. The instructions have not been updated yet. You need to disable the tests to avoid having "couldn't find test_msgs...". This can be done by specifying -DBUILD_TESTING=OFF in the cmake-args.


Originally posted by pokitoz with karma: 527 on 2018-08-04

This answer was ACCEPTED on the original site

Post score: 0

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.