[ros-users] [Discourse.ros.org] [Next Generation ROS] How to cross-compile ROS2 for arm64 architecture

Adam Jiang ros.discourse at gmail.com
Mon Jan 15 08:30:09 UTC 2018



By-passing the issue on libcurl_vendor and resource_retriever by '--skip-packages'. However, it seems now I am blocked by another strange issue.

    [ 82%] Building C object CMakeFiles/std_srvs__rosidl_typesupport_c__pyext.dir/rosidl_generator_py/std_srvs/_std_srvs_s.ep.rosidl_typesupport_c.c.o
    In file included from /usr/include/python3.5m/Python.h:8:0,
                     from /home/sirius/projects/ros2/build_isolated/std_srvs/rosidl_generator_py/std_srvs/_std_srvs_s.ep.rosidl_typesupport_introspection_c.c:4:
    /usr/include/python3.5m/pyconfig.h:9:12: fatal error: aarch64-linux-gnu/python3.5m/pyconfig.h: No such file or directory
     #  include <aarch64-linux-gnu/python3.5m/pyconfig.h>
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    compilation terminated.

It is complaining that the header file is missing. However, I do have the file install with multiple-arch solution in my Ubuntu 16.04 box.

    sirius at Sirius-vm:~/projects/ros2$ find /usr/ -iname "pyconfig.h"
    /usr/include/python3.5m/pyconfig.h
    /usr/include/aarch64-linux-gnu/python3.5m/pyconfig.h
    /usr/include/aarch64-linux-gnu/python2.7/pyconfig.h
    /usr/include/python2.7/pyconfig.h
    /usr/include/x86_64-linux-gnu/python3.5m/pyconfig.h

It seems that 'ament' doesn't take '/usr/include' into its INCLUDE_PATH. I have also tried out to add the path in by define '-DCMAKE_INCLUDE_PATH=/usr/include' which was rejected by 'amend'.

Does ROS2 support cross-compilation for now?





---
[Visit Topic](https://discourse.ros.org/t/how-to-cross-compile-ros2-for-arm64-architecture/3702/2) or reply to this email to respond.




More information about the ros-users mailing list