0
votes

I have one wifi camera with armv5 processor and want to cross compile and alljoyn standard core, service framework and want to make notification producer application.

But I am stuck while cross compiling alljoyn. I am compiling alljoyn with codesourcery arm cross compiler with gcc version 4.3.3

Initially I have used same command, used to compile standard core and service framework. Just added CROSS_COMPILE and CPU flag for arm and crosscompiler. Here is the command used, compilation process fails with some error related to -std=c++11

command:

scons BINDINGS=cpp WS=off BT=off ICE=off OS=linux CPU=arm CROSS_COMPILE="/home/CodeSourcery/Sourcery_G++_Lite/bin/arm-none-linux-gnueabi-" SERVICES="about,notification,controlpanel,config,onboarding,sample_apps"

error:

....

prints for copying header files to 'build' dir

....

/* On compilation of first cc file */

cc1plus: error: unrecognized command line option "-std=c++11"

scons: *** [build/linux/arm/debug/obj/services/config/cpp/samples/ConfigClientSample/ConfigClientMain.o] Error 1

After this failure I found following link, https://wiki.allseenalliance.org/develop/building_and_running

It says that we can compile alljoyn for openwrt on cross compiling. So I have prepared and executed following command:

scons BINDINGS=cpp WS=off BT=off ICE=off OS=openwrt CPU=openwrt TARGET_PATH=/home/CodeSourcery/Sourcery_G++_Lite/bin/ TARGET_CC=arm-none-linux-gnueabi-gcc TARGET_CFLAGS="-std=c++0x" TARGET_CPPFLAGS="-std=c++0x" TARGET_CXX=arm-none-linux-gnueabi-g++ TARGET_LINK=arm-none-linux-gnueabi-gcc TARGET_LINKFLAGS="" TARGET_AR="" TARGET_RANLIB="" STAGING_DIR=/usr/lib/x86_64-linux-gnu SERVICES="about,notification,controlpanel,config,onboarding,sample_apps"

But getting error before compilation starts,

scons: Reading SConscript files ...

Checking c++ compiler support for -std=c++11 flag... no

Checking c++ compiler support for -std=c++0x flag... no

*** Compiler too old to build AllJoyn. Aborting.

So here is my questions,

1. Is it possible to cross compile alljoyn standard client and services without using openwrt?

2. Does cross compiling using openwrt affect any functionality of alljoyn?

3. What should I do to overcome c++11/c++0x error, should I find new gcc version for cross compiling my code.

Please let me know if some one has cross compiled alljoyn standard core and service framework for any platform, please provide me steps/command for that.

Thanks in advance. Pratik

1
The error message kind of says it all; why are you using a compiler from seven years ago, to compile something clearly far more recent?Notlikethat

1 Answers