for an innovative smart-home project, I am trying to use the BME680 connected to a carrier board using the Nvidia TX2 SoM (ARM A57 CPU)
Unfortunately I'm unable to use the compiled binaries provided by the BSEC library, because I cannot find a suitable version for my CPU/compiler.
I'm using GCC 5.4.1 on 64-bit Ubuntu with Linux Kernel 4.4.38.
I tried to link my executable against both gcc/ARMv8/libalgobsec.a and RaspberryPI/PiThree_ArmV8-a-64bits/libalgobsec.a, but the binary format is not recognized by the linker.
Using objdump I noticed that both libraries are compiled with elf32-littlearm fileformat (may be because Raspberry Pi 3 uses 32 bit Debian even if it uses a 64bit CPU).
It's quite troublesome having an embedded library that cannot be used on modern ARM 64bit Linux OS.
Is there a plan to release a BSEC binary version with elf64-littleaarch64 file format?
I'm looking for this library as well.
I currently try to compile my code with the following command (generated through Yocto):
aarch64-nobios-linux-gcc -march=armv8-a+crc --sysroot=/home/niels/dev/nobi/nobios/build/tmp/work/aarch64-nobios-linux/bme680/1.0-r0/recipe-sysroot -Wall -Wno-unused-but-set-variable -Wno-unused-variable -static -std=c99 -pedantic -iquote./src/BSEC_184.108.40.206_Generic_Release/API -iquote./src/BSEC_220.127.116.11_Generic_Release/algo/normal_version/bin/RaspberryPI/PiThree_ArmV8-a-64bits/ -iquote./src/BSEC_18.104.22.168_Generic_Release/examples ./src/BSEC_22.214.171.124_Generic_Release/API/bme680.c ./src/BSEC_126.96.36.199_Generic_Release/examples/bsec_integration.c ./bsec_bme680.c -L./src/BSEC_188.8.131.52_Generic_Release/algo/normal_version/bin/RaspberryPI/PiThree_ArmV8-a-64bits/ -lalgobsec -lm -lrt -o bsec_bme680
Would it be possible to provide a library for the aarch64 architecture? The link you shared is for intel CPUs and thus won't work on the arm based cortex A57.