【发布时间】:2016-03-03 18:13:02
【问题描述】:
我正在尝试在 Raspberry Pi 2 上构建 IoTivity 框架,该框架具有 arm 架构并在 Ubuntu Mate 15.04 上运行。我继续官方指南在 linux 上构建 IoTivity (Linux: Getting started)。主要问题是当我想使用 scons 命令构建 IoTivity 时:
scons TARGET_OS=linux TARGET_ARCH=arm
终端输出:
filip@fiip:~/iotivity$ scons TARGET_OS=linux TARGET_ARCH=arm
scons: Reading SConscript files ...
Reading linux configuration script
Checking for POSIX Thread Support...no
Given Transport is ALL
Given OS is linux
BUILD_SAMPLE is ON
CA Transport is ALL
Reading ca script ALL
Reading common folder script
Reading util folder script
Reading IP adapter script
Reading BT EDR adapter script
Reading BLE adapter script for linux
Include path is ['./../api', '../api', '/home/filip/iotivity/deps/linux/include', '/home/filip/iotivity/extlibs/tinycbor/tinycbor/src', '/home/filip/iotivity/out/linux/arm/release/resource/csdk/logger/./include', '/home/filip/iotivity/out/linux/arm/release/resource/c_common', '/home/filip/iotivity/out/linux/arm/release/resource/c_common/oic_malloc/include', '/home/filip/iotivity/out/linux/arm/release/resource/c_common/oic_string/include', '/home/filip/iotivity/out/linux/arm/release/resource/c_common/oic_time/include', '/home/filip/iotivity/out/linux/arm/release/resource/c_common/ocrandom/include', '/usr/include/uuid', '../inc', '../lib/libcoap-4.1.1', '/resource/csdk/logger/include/', '../common/inc', '../util/inc', 'common/inc/', '/home/filip/iotivity/resource/csdk/logger/include/', './../inc', './../lib/libcoap-4.1.1', './../common/inc', './../util/inc', '/usr/include/gio-unix-2.0/', '/usr/include/glib-2.0', '/usr/lib/arm-linux-gnueabihf/glib-2.0/include']
Files path is ['./../common/src/uarraylist.c', './../common/src/ulinklist.c', './../common/src/uqueue.c', './../common/src/caremotehandler.c', './../common/src/camutex_noop.c', './../util/src/cautilinterface.c', './../util/src/camanager/linux/caleconnectionmanager.c', './adapter_util/caadapterutils.c', './adapter_util/cafragmentation.c', './cablockwisetransfer.c', './caconnectivitymanager.c', './cainterfacecontroller.c', './camessagehandler.c', './canetworkconfigurator.c', './caprotocolmessage.c', './caqueueingthread.c', './caretransmission.c', './ip_adapter/caipadapter.c', './ip_adapter/caipserver.c', './ip_adapter/linux/caipnwmonitor.c', './bt_edr_adapter/caedradapter.c', './bt_edr_adapter/linux/caedradapter.c', './bt_le_adapter/caleadapter.c', './bt_le_adapter/linux/characteristic.c', './bt_le_adapter/linux/descriptor.c', './bt_le_adapter/linux/service.c', './bt_le_adapter/linux/advertisement.c', './bt_le_adapter/linux/utils.c', './bt_le_adapter/linux/central.c', './bt_le_adapter/linux/peripheral.c', './bt_le_adapter/linux/client.c', './bt_le_adapter/linux/server.c', './bt_le_adapter/linux/recv.c', './bt_le_adapter/linux/caleinterface.c', './bt_le_adapter/linux/object_manager-glue.c', './bt_le_adapter/linux/bluez-glue.c']
Reading ca script ALL
Reading sample application build script
Sample secured flag is 0
sample src ['./sample_main.c']
*********************************** Warning ***********************************
* You are trying cross build, please make sure (arm) version libraries are *
* installed! *
*******************************************************************************
*********************************** Warning ***********************************
* You are trying cross build, please make sure (arm) version libraries are *
* installed! *
*******************************************************************************
*********************************** Warning ***********************************
* You are trying cross build, please make sure (arm) version libraries are *
* installed! *
*******************************************************************************
*********************************** Warning ***********************************
* You are trying cross build, please make sure (arm) version libraries are *
* installed! *
*******************************************************************************
*********************************** Warning ***********************************
* You are trying cross build, please make sure (arm) version libraries are *
* installed! *
*******************************************************************************
*********************************** Warning ***********************************
* You are trying cross build, please make sure (arm) version libraries are *
* installed! *
*******************************************************************************
*** Checking for installation of google unit test 1.7.0 ***
*** Checking for installation of hippomocks ***
*********************************** Warning ***********************************
* You are trying cross build, please make sure (arm) version libraries are *
* installed! *
*******************************************************************************
*********************************** Warning ***********************************
* You are trying cross build, please make sure (arm) version libraries are
* installed! *
*******************************************************************************
Checking for C++ library boost_thread... no
Did not find boost_thread, exiting!
我知道我需要安装 arm gcc 和 g++ 编译器,所以我安装了 arm-linux-gnueabihf-gcc-4.8 和 arm-linux-gnueabihf-g++-4.8 我根据this advice 更新了 project-config.jam。
我试过这个 tutorial 但不成功。我做错什么了 ?我很乐意提供任何建议,指导如何在 armv7 架构上构建 IoTivity 框架。谢谢。
【问题讨论】:
-
鉴于它重复了八次关于拥有正确版本的库的警告,然后因无法找到正确版本的库的错误而失败,我会说它可能可以' t 找到正确版本的 Boost 库。你开始暗示你是在 Pi 上本地构建的,但随后有很多关于交叉构建的东西 - 是什么?
-
我认为这是交叉构建问题,因为在我的带有 Ubuntu 14.04 x86_64 的台式电脑上构建没有错误。这是从桌面 pc (x86_64) 终端比较的输出:pastebin.com/MveU0g0s 第一个区别是正在检查 POSIX 线程支持...否。我不知道编译设置有什么变化....我尝试了许多 arm 编译指南但不成功:(。
-
@Fillip 你有没有找到任何解决方案我正在尝试很多天。网页(wiki.iotivity.org/doku.php?id=build_iotivity_for_raspberry_pi)说我们需要使用 Wheezy 我真的需要尝试使用 Wheezy 吗? .目前正在使用 Jessie。
标签: boost raspberry-pi2 armv7 iotivity