2016-03-03 27 views
2

我正在尝试构建Raspberry Pi 2上的IoTivity框架,该框架具有arm架构并在Ubuntu Mate 15.04上运行。我继续官方指南在Linux上构建IoTivity(Linux: Getting started)。主要的问题是,当我想IoTivity使用scons的命令来构建:如何使用scons命令构建Raspberry Pi 2上的IoTivity框架

scons TARGET_OS=linux TARGET_ARCH=arm 

从终端输出:

[email protected]:~/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! 

我知道我需要安装臂gcc和g ++编译器,所以我安装手臂-linux-gnueabihf-gcc-4.8 and arm-linux-gnueabihf -g ++ - 4.8 and I updated project-config.jam根据this advice

我试过这个 tutorial 但没有成功。我做错了什么 ?我会很乐意提供任何建议,指导如何在armv7架构上构建IoTivity框架。谢谢。

+0

鉴于它重复了八次有正确版本的库的警告,然后由于无法找到正确版本的库的错误而失败,我会说它可能找不到合适的版本Boost库。你首先意味着你在Pi上本地构建,但是然后有一些关于交叉构建的东西 - 这是什么? – Notlikethat

+0

我认为这是交叉建设的问题,因为在我的桌面PC上使用Ubuntu 14.04 ** x86_64 ** building是没有错误的。这是从桌面电脑(x86_64)的终端输出比较:http://pastebin.com/MveU0g0s第一个区别是**检查POSIX线程支持... no **。我不知道在编译设置中有什么变化....我尝试了许多指南来进行arm compilling,但没有成功:(。 – Fillip

+0

@Fillip你有没有找到解决这个问题的方法,我尝试了很多天。网页(https:// wiki .iotivity.org/doku.php?id = build_iotivity_for_raspberry_pi)表示我们需要使用Wheezy,我真的需要用Wheezy来尝试吗? –

回答

-1

看来,你缺少包含升压头文件包。这是很容易纠正说:

sudo apt-get install libboost-dev 

您可能更libboost-all-dev如果你的来源取决于许多升压包。

0

经过很多的努力(尝试了其他答案)。我终于明白为什么这个错误对我来说是这样的原因。我已经为x86构建了iotivity项目。它已经编译了一些用于x86的库。为了解决这个问题,需要一个新的Iotivity副本,然后为手臂建立Iotivity。