SDK compilation on Raspberry Pi 2 fails


#1

Product: [Bebop2]
Product version: [X.X.X]
SDK version: [X.X.X]
Use of libARController: [YES] (Only for ARSDK)
SDK platform: [Unix/Python]
Reproductible with the official app: [YES]

I am trying to get the SDK working from a raspberry pi 2, but failing at the step of running:
./build.sh -p arsdk-native -t build-sdk -j

Snapshot of the log error:


Building ARSDK for ARM Linux (Raspberry Pi)
#2

Hi,

To compile the SDK on a Raspberry Pi, you’ll need to install python3 and some headers for avahi : sudo apt-get install python3 libavahi-client-dev.

On a Raspberry Pi 3, i had the following error:
/usr/include/arm-linux-gnueabihf/bits/byteswap.h:45:1: sorry, unimplemented: Thumb-1 hard-float VFP ABI. If you have the same error on the Pi 2, the solution is to add the following line:
TARGET_DEFAULT_ARM_MODE := arm
at the beginning of the <SDK>/products/arsdk/native/config/product.mk file.

As I tested only on a Raspberry Pi 3, you may encounter different issues on a Pi Zero, 1 or 2.

Regards,
Nicolas.


#3

Thanks for this - I’m compiling on a Raspberry Pi 2 & had the same error. Adding the TARGET_DEFAULT_ARM_MODE line fixed that error.

However, the build fails at link time with the following error:

In function ARSTREAM2_RtpSender_ProcessRtp': /home/pi/parrot/packages/libARStream2/src/arstream2_rtp_sender.c:1109: undefined reference tosendmmsg’
collect2: ld returned 1 exit status
make: *** [/home/pi/parrot/out/arsdk-native/build/libARStream2/libarstream2.so] Error 1

So it appears to be missing a reference to a library containing sendmmsg.

Does anyone have any clues to where the missing library would be?

Thanks

Tim


#4

I will attempt this again this week and get back to you.


#5

Joshua - if you haven’t noted already, you need to apt-get all the mandatory packages detailed on the developer pages:

git
build-essential (only for Linux)
autoconf
libtool
python
python3
libavahi-client-dev (only for specific Samples)
libavcodec-dev (only for specific Samples)
libavformat-dev (only for specific Samples)
libswscale-dev (only for specific Samples)
libncurses5-dev (only for specific Samples)
mplayer (only for specific Samples)