Error in compiling Bebop stream on VLC


#1

I am currently following the tutorial here. However I am having trouble in compiling (make) even after creating the environment variable ARSDK_ROOT (/home/yishern/Parrot).

When I am using the 3.9.0 SDK (as required in the tutorial). I have the following error:

BebopDroneStartStream.o: In function sighandler': BebopDroneStartStream.c:(.text+0x2b): undefined reference toARSAL_Print_PrintRawEx’
BebopDroneStartStream.o: In function readerRun': BebopDroneStartStream.c:(.text+0x1bb): undefined reference toARSAL_Print_PrintRawEx’
BebopDroneStartStream.c:(.text+0x265): undefined reference to ARSAL_Print_PrintRawEx' BebopDroneStartStream.o: In functionmain’:
BebopDroneStartStream.c:(.text+0x302): undefined reference to ARSAL_Print_PrintRawEx' BebopDroneStartStream.c:(.text+0x326): undefined reference toARSAL_Print_PrintRawEx’
BebopDroneStartStream.o:BebopDroneStartStream.c:(.text+0x3b9): more undefined references to `ARSAL_Print_PrintRawEx’ follow
collect2: error: ld returned 1 exit status
Makefile:12: recipe for target ‘BebopDroneStartStream’ failed
make: *** [BebopDroneStartStream] Error 1

As for the latest SDK, the error messages is shown as:

/usr/bin/ld: warning: libmux.so, needed by /home/yishern/Parrot/out/arsdk-native/staging/usr/lib/libardiscovery.so, not found (try using -rpath or -rpath-link)
/usr/bin/ld: warning: libpomp.so, needed by /home/yishern/Parrot/out/arsdk-native/staging/usr/lib/libardiscovery.so, not found (try using -rpath or -rpath-link)
/home/yishern/Parrot/out/arsdk-native/staging/usr/lib/libardiscovery.so: undefined reference to mux_encode' /home/yishern/Parrot/out/arsdk-native/staging/usr/lib/libardiscovery.so: undefined reference tomux_unref’
/home/yishern/Parrot/out/arsdk-native/staging/usr/lib/libardiscovery.so: undefined reference to pomp_msg_get_buffer' /home/yishern/Parrot/out/arsdk-native/staging/usr/lib/libardiscovery.so: undefined reference tomux_channel_open’
/home/yishern/Parrot/out/arsdk-native/staging/usr/lib/libarnetworkal.so: undefined reference to pomp_buffer_get_data' /home/yishern/Parrot/out/arsdk-native/staging/usr/lib/libarnetworkal.so: undefined reference topomp_buffer_new’
/home/yishern/Parrot/out/arsdk-native/staging/usr/lib/libardiscovery.so: undefined reference to mux_channel_close' /home/yishern/Parrot/out/arsdk-native/staging/usr/lib/libarnetworkal.so: undefined reference topomp_buffer_set_len’
/home/yishern/Parrot/out/arsdk-native/staging/usr/lib/libardiscovery.so: undefined reference to pomp_msg_get_id' /home/yishern/Parrot/out/arsdk-native/staging/usr/lib/libardiscovery.so: undefined reference tomux_ref’
/home/yishern/Parrot/out/arsdk-native/staging/usr/lib/libardiscovery.so: undefined reference to pomp_msg_new_with_buffer' /home/yishern/Parrot/out/arsdk-native/staging/usr/lib/libardiscovery.so: undefined reference topomp_msg_read’
/home/yishern/Parrot/out/arsdk-native/staging/usr/lib/libarnetworkal.so: undefined reference to pomp_buffer_get_cdata' /home/yishern/Parrot/out/arsdk-native/staging/usr/lib/libarnetworkal.so: undefined reference topomp_buffer_unref’
/home/yishern/Parrot/out/arsdk-native/staging/usr/lib/libardiscovery.so: undefined reference to pomp_msg_destroy' /home/yishern/Parrot/out/arsdk-native/staging/usr/lib/libardiscovery.so: undefined reference topomp_msg_writev’
/home/yishern/Parrot/out/arsdk-native/staging/usr/lib/libardiscovery.so: undefined reference to pomp_msg_new' /home/yishern/Parrot/out/arsdk-native/staging/usr/lib/libarnetworkal.so: undefined reference tomux_channel_alloc_queue’
/home/yishern/Parrot/out/arsdk-native/staging/usr/lib/libarnetworkal.so: undefined reference to `mux_queue_timed_get_buf’
collect2: error: ld returned 1 exit status
Makefile:12: recipe for target ‘BebopDroneStartStream’ failed
make: *** [BebopDroneStartStream] Error 1

Besides that, am I allowed to stream Bebop’s feed on both the SDK or the 3.9.0 only?


#2

Hi,

It should work with every SDK (even though we did not test it on other sdk versions than the 3.9.0).
What is the output of the ./build.sh -p arsdk-native -t build-sdk -j ?
Regards,
Djavan


#3

I have the same issue and get:

alex@alex-vm:~$ ./build.sh -p arsdk-native -t build-sdk -j
[I] Starting task 'build-sdk'
[I] In '/home/alex': ALCHEMY_TARGET_CONFIG_DIR="/home/alex/products/arsdk/native/config" ALCHEMY_TARGET_OUT="/home/alex/out/arsdk-native" ALCHEMY_TARGET_PRODUCT="arsdk" ALCHEMY_TARGET_PRODUCT_VARIANT="native" ALCHEMY_TARGET_SCAN_ADD_DIRS=" /home/alex/packages" ALCHEMY_TARGET_SCAN_PRUNE_DIRS=" /home/alex" ALCHEMY_USE_COLORS="1" ALCHEMY_WORKSPACE_DIR="/home/alex" PARROT_BUILD_PROP_GROUP="drones" PARROT_BUILD_PROP_PRODUCT="arsdk" PARROT_BUILD_PROP_PROJECT="arsdk" PARROT_BUILD_PROP_UID="arsdk-native-20171102-1603-0.0.0" PARROT_BUILD_PROP_VARIANT="native" PARROT_BUILD_PROP_VERSION="0.0.0" /home/alex/build/alchemy/scripts/alchemake -j 1 all
----------------------------------------------------------------------
+ ALCHEMY_WORKSPACE_DIR = /home/alex
+ TARGET_PRODUCT = arsdk
+ TARGET_PRODUCT_VARIANT = native
+ TARGET_OS = linux
+ TARGET_OS_FLAVOUR = native
+ TARGET_LIBC = native
+ TARGET_ARCH = x64
+ TARGET_CPU = 
+ TARGET_OUT = /home/alex/out/arsdk-native
+ TARGET_CONFIG_DIR = /home/alex/products/arsdk/native/config
+ TARGET_CC_PATH = /usr/bin/cc
+ TARGET_CC_VERSION = 5.4.0
----------------------------------------------------------------------
Scanning /home/alex/packages for makefiles...
Found 44 makefiles
Prebuilt module ncurses marked as overriden
Prebuilt module ncurses marked as overriden
Found 89 modules
Computing modules dependencies...
Checking modules dependencies...
Generating rules...
Processing rules...
libARCommands: Generating arsdk files
libARController: Generating arsdk files
generateFeatureControllers ...
generateDeviceControllers ...
generateDictionaryKeyEnum ...
Done building all
[I] Finished task 'build-sdk'

Edited by @djavan : added the code in a code block


#4

Well this is telling you that the sdk compilation went well :slight_smile: