Hi,
I have installed the BSEC library according to the documentation on GitHub.
I'm using the following components in its version:
- MAC OSX 10.15.3 (latest)
- WEMOS LoLin 32
- BSEC Library: Latest Master on Gihub
- Arduino IDE: 1.8.12
- ESP32 Core: 1.0.4
What I did was extending the `platform.txt` with the variable `compiler.libraries.ldflags=` and added just this variable to the receipe so it loooks like:
## Combine gc-sections, archives, and objects
recipe.c.combine.pattern="{compiler.path}{compiler.c.elf.cmd}" {compiler.c.elf.flags} {compiler.c.elf.extra_flags} -Wl,--start-group {object_files} "{archive_file_path}" {compiler.c.elf.libs} {compiler.libraries.ldflags} -Wl,--end-group -Wl,-EL -o "{build.path}/{build.project_name}.elf"
I tried to run the 'basic' example. But while compiling/linking I get the following errors:
Using built-in specs.
COLLECT_GCC=/Users/dannyyy/Library/Arduino15/packages/esp32/tools/xtensa-esp32-elf-gcc/1.22.0-80-g6c4433a-5.2.0/bin/xtensa-esp32-elf-gcc
COLLECT_LTO_WRAPPER=/Users/dannyyy/Library/Arduino15/packages/esp32/tools/xtensa-esp32-elf-gcc/1.22.0-80-g6c4433a-5.2.0/bin/../libexec/gcc/xtensa-esp32-elf/5.2.0/lto-wrapper
Target: xtensa-esp32-elf
Configured with: /Volumes/build/idf/crosstool-NG/.build/src/gcc-5.2.0/configure --build=x86_64-build_apple-darwin16.3.0 --host=x86_64-build_apple-darwin16.3.0 --target=xtensa-esp32-elf --prefix=/Volumes/build/idf/crosstool-NG/builds/xtensa-esp32-elf --with-local-prefix=/Volumes/build/idf/crosstool-NG/builds/xtensa-esp32-elf/xtensa-esp32-elf/sysroot --with-sysroot=/Volumes/build/idf/crosstool-NG/builds/xtensa-esp32-elf/xtensa-esp32-elf/sysroot --with-newlib --enable-threads=no --disable-shared --with-pkgversion='crosstool-NG crosstool-ng-1.22.0-80-g6c4433a' --disable-__cxa_atexit --enable-cxx-flags='-fno-rtti -ffunction-sections' --with-gmp=/Volumes/build/idf/crosstool-NG/.build/xtensa-esp32-elf/buildtools --with-mpfr=/Volumes/build/idf/crosstool-NG/.build/xtensa-esp32-elf/buildtools --with-mpc=/Volumes/build/idf/crosstool-NG/.build/xtensa-esp32-elf/buildtools --with-isl=/Volumes/build/idf/crosstool-NG/.build/xtensa-esp32-elf/buildtools --with-cloog=/Volumes/build/idf/crosstool-NG/.build/xtensa-esp32-elf/buildtools --with-libelf=/Volumes/build/idf/crosstool-NG/.build/xtensa-esp32-elf/buildtools --enable-lto --enable-target-optspace --without-long-double-128 --disable-libgomp --disable-libmudflap --disable-libssp --disable-libquadmath --disable-libquadmath-support --disable-nls --enable-languages=c,c++ --disable-libstdcxx-verbose --enable-threads=posix --enable-gcov-custom-rtio
Thread model: posix
gcc version 5.2.0 (crosstool-NG crosstool-ng-1.22.0-80-g6c4433a)
COMPILER_PATH=/Users/dannyyy/Library/Arduino15/packages/esp32/tools/xtensa-esp32-elf-gcc/1.22.0-80-g6c4433a-5.2.0/bin/../libexec/gcc/xtensa-esp32-elf/5.2.0/:/Users/dannyyy/Library/Arduino15/packages/esp32/tools/xtensa-esp32-elf-gcc/1.22.0-80-g6c4433a-5.2.0/bin/../libexec/gcc/:/Users/dannyyy/Library/Arduino15/packages/esp32/tools/xtensa-esp32-elf-gcc/1.22.0-80-g6c4433a-5.2.0/bin/../lib/gcc/xtensa-esp32-elf/5.2.0/../../../../xtensa-esp32-elf/bin/
LIBRARY_PATH=/Users/dannyyy/Library/Arduino15/packages/esp32/tools/xtensa-esp32-elf-gcc/1.22.0-80-g6c4433a-5.2.0/bin/../lib/gcc/xtensa-esp32-elf/5.2.0/:/Users/dannyyy/Library/Arduino15/packages/esp32/tools/xtensa-esp32-elf-gcc/1.22.0-80-g6c4433a-5.2.0/bin/../lib/gcc/:/Users/dannyyy/Library/Arduino15/packages/esp32/tools/xtensa-esp32-elf-gcc/1.22.0-80-g6c4433a-5.2.0/bin/../lib/gcc/xtensa-esp32-elf/5.2.0/../../../../xtensa-esp32-elf/lib/:/Users/dannyyy/Library/Arduino15/packages/esp32/tools/xtensa-esp32-elf-gcc/1.22.0-80-g6c4433a-5.2.0/bin/../xtensa-esp32-elf/sysroot/lib/:/Users/dannyyy/Library/Arduino15/packages/esp32/tools/xtensa-esp32-elf-gcc/1.22.0-80-g6c4433a-5.2.0/bin/../xtensa-esp32-elf/sysroot/usr/lib/
COLLECT_GCC_OPTIONS='-nostdlib' '-L/Users/dannyyy/Library/Arduino15/packages/esp32/hardware/esp32/1.0.4/tools/sdk/lib' '-L/Users/dannyyy/Library/Arduino15/packages/esp32/hardware/esp32/1.0.4/tools/sdk/ld' '-T' 'esp32_out.ld' '-T' 'esp32.common.ld' '-T' 'esp32.rom.ld' '-T' 'esp32.peripherals.ld' '-T' 'esp32.rom.libgcc.ld' '-T' 'esp32.rom.spiram_incompatible_fns.ld' '-u' 'ld_include_panic_highint_hdl' '-u' 'call_user_start_cpu0' '-u' '__cxa_guard_dummy' '-u' '__cxx_fatal_exception' '-v' '-L/Users/dannyyy/Documents/Arduino/libraries/BSEC-Arduino-library-master/src/esp32' '-o' 'basic.ino.elf'
/Users/dannyyy/Library/Arduino15/packages/esp32/tools/xtensa-esp32-elf-gcc/1.22.0-80-g6c4433a-5.2.0/bin/../libexec/gcc/xtensa-esp32-elf/5.2.0/collect2 -plugin /Users/dannyyy/Library/Arduino15/packages/esp32/tools/xtensa-esp32-elf-gcc/1.22.0-80-g6c4433a-5.2.0/bin/../libexec/gcc/xtensa-esp32-elf/5.2.0/liblto_plugin.so -plugin-opt=/Users/dannyyy/Library/Arduino15/packages/esp32/tools/xtensa-esp32-elf-gcc/1.22.0-80-g6c4433a-5.2.0/bin/../libexec/gcc/xtensa-esp32-elf/5.2.0/lto-wrapper -plugin-opt=-fresolution=/var/folders/pr/57h8bwx95y99np2_1q2jl5j00000gn/T//ccV9B9rK.res --sysroot=/Users/dannyyy/Library/Arduino15/packages/esp32/tools/xtensa-esp32-elf-gcc/1.22.0-80-g6c4433a-5.2.0/bin/../xtensa-esp32-elf/sysroot -o basic.ino.elf -u ld_include_panic_highint_hdl -u call_user_start_cpu0 -u __cxa_guard_dummy -u __cxx_fatal_exception -L/Users/dannyyy/Library/Arduino15/packages/esp32/hardware/esp32/1.0.4/tools/sdk/lib -L/Users/dannyyy/Library/Arduino15/packages/esp32/hardware/esp32/1.0.4/tools/sdk/ld -L/Users/dannyyy/Documents/Arduino/libraries/BSEC-Arduino-library-master/src/esp32 -L/Users/dannyyy/Library/Arduino15/packages/esp32/tools/xtensa-esp32-elf-gcc/1.22.0-80-g6c4433a-5.2.0/bin/../lib/gcc/xtensa-esp32-elf/5.2.0 -L/Users/dannyyy/Library/Arduino15/packages/esp32/tools/xtensa-esp32-elf-gcc/1.22.0-80-g6c4433a-5.2.0/bin/../lib/gcc -L/Users/dannyyy/Library/Arduino15/packages/esp32/tools/xtensa-esp32-elf-gcc/1.22.0-80-g6c4433a-5.2.0/bin/../lib/gcc/xtensa-esp32-elf/5.2.0/../../../../xtensa-esp32-elf/lib -L/Users/dannyyy/Library/Arduino15/packages/esp32/tools/xtensa-esp32-elf-gcc/1.22.0-80-g6c4433a-5.2.0/bin/../xtensa-esp32-elf/sysroot/lib -L/Users/dannyyy/Library/Arduino15/packages/esp32/tools/xtensa-esp32-elf-gcc/1.22.0-80-g6c4433a-5.2.0/bin/../xtensa-esp32-elf/sysroot/usr/lib --gc-sections -static --undefined=uxTopUsedPriority --start-group sketch/basic.ino.cpp.o libraries/Wire/Wire.cpp.o libraries/SPI/SPI.cpp.o core/core.a -lgcc -lesp32 -lphy -lesp_http_client -lmbedtls -lrtc -lesp_http_server -lbtdm_app -lspiffs -lbootloader_support -lmdns -lnvs_flash -lfatfs -lpp -lnet80211 -ljsmn -lface_detection -llibsodium -lvfs -ldl_lib -llog -lfreertos -lcxx -lsmartconfig_ack -lxtensa-debug-module -lheap -ltcpip_adapter -lmqtt -lulp -lfd -lfb_gfx -lnghttp -lprotocomm -lsmartconfig -lm -lethernet -limage_util -lc_nano -lsoc -ltcp_transport -lc -lmicro-ecc -lface_recognition -ljson -lwpa_supplicant -lmesh -lesp_https_ota -lwpa2 -lexpat -llwip -lwear_levelling -lapp_update -ldriver -lbt -lespnow -lcoap -lasio -lnewlib -lconsole -lapp_trace -lesp32-camera -lhal -lprotobuf-c -lsdmmc -lcore -lpthread -lcoexist -lfreemodbus -lspi_flash -lesp-tls -lwpa -lwifi_provisioning -lwps -lesp_adc_cal -lesp_event -lopenssl -lesp_ringbuf -lfr -lstdc++ -lalgobsec -lalgobsec --end-group -EL -T esp32_out.ld -T esp32.common.ld -T esp32.rom.ld -T esp32.peripherals.ld -T esp32.rom.libgcc.ld -T esp32.rom.spiram_incompatible_fns.ld
sketch/basic.ino.cpp.o:(.literal._Z5setupv+0x10): undefined reference to `Bsec::delay_ms(unsigned int)'
sketch/basic.ino.cpp.o:(.literal._Z5setupv+0x28): undefined reference to `Bsec::begin(unsigned char, TwoWire&, void (*)(unsigned int))'
sketch/basic.ino.cpp.o:(.literal._Z5setupv+0x30): undefined reference to `Bsec::updateSubscription(bsec_virtual_sensor_t*, unsigned char, float)'
sketch/basic.ino.cpp.o:(.literal._Z4loopv+0x8): undefined reference to `Bsec::run(long long)'
sketch/basic.ino.cpp.o:(.literal.startup._GLOBAL__sub_I_iaqSensor+0x8): undefined reference to `Bsec::Bsec()'
sketch/basic.ino.cpp.o: In function `setup()':
/Users/dannyyy/Documents/Arduino/libraries/BSEC-Arduino-library-master/examples/basic/basic.ino:18: undefined reference to `Bsec::begin(unsigned char, TwoWire&, void (*)(unsigned int))'
/Users/dannyyy/Documents/Arduino/libraries/BSEC-Arduino-library-master/examples/basic/basic.ino:36: undefined reference to `Bsec::updateSubscription(bsec_virtual_sensor_t*, unsigned char, float)'
sketch/basic.ino.cpp.o: In function `loop()':
/Users/dannyyy/Documents/Arduino/libraries/BSEC-Arduino-library-master/examples/basic/basic.ino:48: undefined reference to `Bsec::run(long long)'
sketch/basic.ino.cpp.o: In function `_GLOBAL__sub_I_iaqSensor':
/Users/dannyyy/Documents/Arduino/libraries/BSEC-Arduino-library-master/examples/basic/basic.ino:8: undefined reference to `Bsec::Bsec()'
collect2: error: ld returned 1 exit status
exit status 1
Error compiling for board WEMOS LOLIN32.
Any idea what the issue could be?
Kind regards,
Danny