* it actually needs ${PYTHON_PN}-pyparsing-native as shown in
do_configure failure:
| DEBUG: Executing shell function do_configure
| -- Found PythonInterp: ament-cmake-core/git-r0/recipe-sysroot-native/usr/bin/python3-native/python3 (found suitable version "3.5.2", minimum required is "3")
| -- Using PYTHON_EXECUTABLE: ament-cmake-core/git-r0/recipe-sysroot-native/usr/bin/python3-native/python3
| Error parsing 'ament-cmake-core/git-r0/git/ament_cmake_core/package.xml':
| Traceback (most recent call last):
| File "ament-cmake-core/git-r0/git/ament_cmake_core/cmake/core/package_xml_2_cmake.py", line 145, in <module>
| main()
| File "ament-cmake-core/git-r0/git/ament_cmake_core/cmake/core/package_xml_2_cmake.py", line 56, in main
| raise e
| File "ament-cmake-core/git-r0/git/ament_cmake_core/cmake/core/package_xml_2_cmake.py", line 53, in main
| package = parse_package_string(args.package_xml.read())
| File "ament-cmake-core/git-r0/recipe-sysroot-native/usr/lib/python3.5/site-packages/ament_package/__init__.py", line 173, in parse_package_string
| pkg.build_depends = _get_dependencies(root, 'build_depend')
| File "ament-cmake-core/git-r0/recipe-sysroot-native/usr/lib/python3.5/site-packages/ament_package/__init__.py", line 364, in _get_dependencies
| from .dependency import Dependency
| File "ament-cmake-core/git-r0/recipe-sysroot-native/usr/lib/python3.5/site-packages/ament_package/dependency.py", line 15, in <module>
| from ament_package.condition import evaluate_condition
| File "ament-cmake-core/git-r0/recipe-sysroot-native/usr/lib/python3.5/site-packages/ament_package/condition.py", line 17, in <module>
| import pyparsing
| ImportError: No module named 'pyparsing'
| CMake Error at cmake/core/ament_package_xml.cmake:94 (message):
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
* Fix wrong suffix x86_64-linux-gnu in native python module shared library
* Python native module shared library is cross-compiled for correct
architecture but filename had an incorrect suffix 'x86_64-linux-gnu'.
As per python_cmake_module, if PYTHON_SOABI environment variable is not
defined, it'll query it from native's python sysconfig module.
https://github.com/ros2/rosidl/blob/master/python_cmake_module/cmake/Modules/FindPythonExtra.cmake
So adopt a solution similar to the one adopted below, where PYTHON_SOABI
is set explicitly for our specific build.
https://github.com/erlerobot/meta-ros2/blob/master/classes/ament.bbclass
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Fixes rosidl:
ImportError: No module named 'json'
ImportError: No module named 'em'
Fixes ros2:
ImportError: No module named 'xmlrpc'
ImportError: No module named 'pydoc'
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
* fixes rmw-fastrtps-cpp failure:
http://errors.yoctoproject.org/Errors/Details/174717/
DEBUG: Executing shell function do_compile
NOTE: VERBOSE=1 cmake --build TOPDIR/tmp-glibc/work/aarch64-oe-linux/rmw-fastrtps-cpp/git-r0/build --target all -- -j 9
ninja: error: 'TOPDIR/tmp-glibc/work/aarch64-oe-linux/fastrtps/git-r0/recipe-sysroot/usr/lib/libtinyxml2.so', needed by 'librmw_fastrtps_cpp.so', missing and no known rule to make it
WARNING: TOPDIR/tmp-glibc/work/aarch64-oe-linux/rmw-fastrtps-cpp/git-r0/temp/run.do_compile.13110:1 exit 1 from 'eval ${DESTDIR:+DESTDIR=${DESTDIR} }VERBOSE=1 cmake --build 'TOPDIR/tmp-glibc/work/aarch64-oe-linux/rmw-fastrtps-cpp/git-r0/build' "$@" -- -j 9'
ERROR: Function failed: do_compile (log file is located at TOPDIR/tmp-glibc/work/aarch64-oe-linux/rmw-fastrtps-cpp/git-r0/temp/log.do_compile.13110)
* it was caused by fastrtps's /usr/lib/fastrtps/cmake/fastrtpsTargets.cmake
containing the full path to libtinyxml2.so inside fastrtps's WORKDIR
which might be already removed by rm_work by the time when
rmw-fastrtps-cpp is being built
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>