第一篇:rk1808编译buildroot,增加ros支持问题

本文记录了作者在Rockchip RK1808上尝试运行ROS的详细过程,从修改配置文件以支持ROS Kinetic,解决python-empy安装问题,到处理tinyxml2、pyparsing依赖,再到catkin安装路径和Boost库的链接问题,最后解决编译std-msgs时的错误。整个过程耗费了一周时间,涉及到了嵌入式Linux、ROS、Python、CMake等多个技术领域。

突然心血来潮,想在rk1808中跑ros,当前 rk1808跑的是buildroot编译的精简linux系统,也不想换debian9,就开始痛苦的过程…………

在rockchip_rk1808_defconfig文件中增加ros_kinetic.config(这个是按照官方的rk3399编译ros时一样的操作),然后就会遇到经典的问题:

error: option --single-version-externally-managed not recognized

很坑的问题,我卡在这两三天,网上说是安装setuptools,wheel什么的,都没啥用,这个问题是python-empy-3.3.3,在配置时使用setuptools进行安装,但是这个版本的setup.py文件,是使用distutils来安装的,所以要在配置文件python-empy.mk中修改安装方式:

################################################################################
#
# python-empy
#
################################################################################

PYTHON_EMPY_VERSION = 3.3.3
PYTHON_EMPY_SITE = http://www.alcyone.com/software/empy
PYTHON_EMPY_SOURCE = empy-$(PYTHON_EMPY_VERSION).tar.gz
PYTHON_EMPY_LICENSE = LGPL-3.0
PYTHON_EMPY_LICENSE_FILES = LICENSE.txt
#PYTHON_EMPY_SETUP_TYPE = setuptools

PYTHON_EMPY_SETUP_TYPE = distutils
$(eval $(host-python-package))

编译过程中,遇到tinyxml2问题:

[module] calib_xml
In file included from calibdb.cpp:26:0:
/files/tools/rk1808-tb-96aiot-sdk-codes20200605/rk1808gitgithub/buildroot/output/rockchip_rk1808/build/camera_engine_rkisp-1.0/rkisp/ia-engine/calib_xml/../include/calib_xml/calibdb.h:21:22: fatal error: tinyxml2.h: No such file or directory
 #include <tinyxml2.h>

提示找不到tinyxml2.h头文件,是由于IS_NEED_COMPILE_TINYXML2为false,不编译tinyxml2组件导致,查找:camera_engine_rkisp.mk文件,

ifeq ($(BR2_PACKAGE_TINYXML2),y)
CAMERA_ENGINE_RKISP_CONF_OPTS = \
                        IS_NEED_COMPILE_TINYXML2=false
endif

改成:

ifeq ($(BR2_PACKAGE_TINYXML2),y)
CAMERA_ENGINE_RKISP_CONF_OPTS = \
                        IS_NEED_COMPILE_TINYXML2=true
endif

pyparsing问题,提示如下:

ImportError: "from catkin_pkg.package import parse_package" failed: No module named pyparsing!
Make sure that you have installed "catkin_pkg", it is up to date and on the PYTHONPATH.
CMake Error at cmake/safe_execute_process.cmake:11 (message):

原因是没有安装pyparsing组件至host,解决方式是把pyparsing安装

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值