Bosch Sensortec Community

    cancel
    Showing results for 
    Search instead for 
    Did you mean: 
    SOLVED

    Error compiling BSEC on ESP8266 with Arduino IDE

    Error compiling BSEC on ESP8266 with Arduino IDE

    Davide
    Member
    Hi everyone,
    I would kindly need support for compiling a script for the ESP8266 controller with Arduino IDE.
    I have a BME680 sensor connected to a NodeMCU 8266 controller and some time ago I already created a working script to read the air quality index (Arduino IDE 1.8.11 and I don't remember which version of BSEC).
    Today I tried to load the same script again with Arduino IDE 1.8.12 and BSEC 1.4.7.4, but there is no way to compile it, I always find the same error. Also trying with basic example provided with BSEC library.
    I read on the internet that there are problems with the IDE 1.8.12, so I tried to remove it completely (even doing folder cleaning) and to install version 1.8.9, but unfortunately without success.
    I state that I have applied exactly the indications for Arduino contained in the pdf present in the BSEC package.
    I replaced the arduino-builder-219.exe file, modified the platform.txt and eagle.app.v6.common.ld files as indicated and placed the libalgobsec.a files in the BSEC library folder (trying both the normal and light version).
    Despite this, I find the following error:
    ***************************************************************************************************************************************************
    Arduino:1.8.9 (Windows 10), Scheda:"NodeMCU 1.0 (ESP-12E Module), 80 MHz, Flash, Legacy (new can return nullptr), All SSL ciphers (most compatible), 4MB (FS:2MB OTA:~1019KB), 2, v2 Lower Memory, Disabled, None, Only Sketch, 115200"
    c:/users/david/appdata/local/arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/2.5.0-4-b40a506/bin/../lib/gcc/xtensa-lx106-elf/4.8.2/../../../../xtensa-lx106-elf/bin/ld.exe: libraries\bsec\bsec.cpp.o: in function `Bsec::i2cRead(unsigned char, unsigned char, unsigned char*, unsigned short)':
    C:\Users\david\Documents\Arduino\libraries\bsec\src/bsec.cpp:442: undefined reference to `bsec_init'
    c:/users/david/appdata/local/arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/2.5.0-4-b40a506/bin/../lib/gcc/xtensa-lx106-elf/4.8.2/../../../../xtensa-lx106-elf/bin/ld.exe: C:\Users\david\Documents\Arduino\libraries\bsec\src/bsec.cpp:442: undefined reference to `bsec_get_version'
    c:/users/david/appdata/local/arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/2.5.0-4-b40a506/bin/../lib/gcc/xtensa-lx106-elf/4.8.2/../../../../xtensa-lx106-elf/bin/ld.exe: libraries\bsec\bsec.cpp.o: in function `Bsec::beginCommon()':
    C:\Users\david\Documents\Arduino\libraries\bsec\src/bsec.cpp:448: undefined reference to `bsec_init'
    c:/users/david/appdata/local/arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/2.5.0-4-b40a506/bin/../lib/gcc/xtensa-lx106-elf/4.8.2/../../../../xtensa-lx106-elf/bin/ld.exe: C:\Users\david\Documents\Arduino\libraries\bsec\src/bsec.cpp:133: undefined reference to `bsec_get_version'
    c:/users/david/appdata/local/arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/2.5.0-4-b40a506/bin/../lib/gcc/xtensa-lx106-elf/4.8.2/../../../../xtensa-lx106-elf/bin/ld.exe: libraries\bsec\bsec.cpp.o: in function `Bsec::begin(unsigned char, TwoWire&)':
    C:\Users\david\Documents\Arduino\libraries\bsec\src/bsec.cpp:104: undefined reference to `bsec_update_subscription'
    c:/users/david/appdata/local/arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/2.5.0-4-b40a506/bin/../lib/gcc/xtensa-lx106-elf/4.8.2/../../../../xtensa-lx106-elf/bin/ld.exe: libraries\bsec\bsec.cpp.o: in function `Bsec::updateSubscription(bsec_virtual_sensor_t*, unsigned char, float)':
    C:\Users\david\Documents\Arduino\libraries\bsec\src/bsec.cpp:155: undefined reference to `bsec_update_subscription'
    c:/users/david/appdata/local/arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/2.5.0-4-b40a506/bin/../lib/gcc/xtensa-lx106-elf/4.8.2/../../../../xtensa-lx106-elf/bin/ld.exe: libraries\bsec\bsec.cpp.o: in function `Bsec::Bsec()':
    C:\Users\david\Documents\Arduino\libraries\bsec\src/bsec.cpp:70: undefined reference to `bsec_do_steps'
    c:/users/david/appdata/local/arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/2.5.0-4-b40a506/bin/../lib/gcc/xtensa-lx106-elf/4.8.2/../../../../xtensa-lx106-elf/bin/ld.exe: libraries\bsec\bsec.cpp.o: in function `Bsec::readProcessData(long long, bsec_bme_settings_t)':
    C:\Users\david\Documents\Arduino\libraries\bsec\src/bsec.cpp:288: undefined reference to `bsec_do_steps'
    c:/users/david/appdata/local/arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/2.5.0-4-b40a506/bin/../lib/gcc/xtensa-lx106-elf/4.8.2/../../../../xtensa-lx106-elf/bin/ld.exe: libraries\bsec\bsec.cpp.o:(.text._ZN4Bsec3runEv+0x4): undefined reference to `bsec_sensor_control'
    c:/users/david/appdata/local/arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/2.5.0-4-b40a506/bin/../lib/gcc/xtensa-lx106-elf/4.8.2/../../../../xtensa-lx106-elf/bin/ld.exe: libraries\bsec\bsec.cpp.o: in function `Bsec::run()':
    C:\Users\david\Documents\Arduino\libraries\bsec\src/bsec.cpp:166: undefined reference to `bsec_sensor_control'
    collect2.exe: error: ld returned 1 exit status
    exit status 1
    ***************************************************************************************************************************************************
    Could anyone kindly help me?
    Thanks
    Yours sincerely
    David
    15 REPLIES 15

    sobrinhosj
    Occasional Visitor

    Dear,

    I have been using bme680 successfully on thingspeak using third party libraries to test iaq index rating on covid19 masks in my country following the N95 standard where i inserted a bme680 chip.
    during the tests, although the humidity exceeds 80%, which is very bad, the IAQ drops from 92 to 50 when I use the mask.
    As the algorithm makes a weighting (umidity score & gas score) I believe that the IAQ should plummet (increase the number in a range from zero to 500) and not decrease, when the humidity almost suffocates me besides embarrassing my glasses, another torment that me motivated to test the mask.
    That said, I decided to test the BSEC library but I can't compile, on windows and ubuntu, as the same error.
    Only on windows can I find the file for platform.txt to change, but still, nothing ..

    I will be very happy to be able to run the bsec library to have another parameter of air quality in masks until I find a combination of comfort and reliable IAQ index rating.

    Tks
    JSS
    -----------------------------------------------------------------------------------------------
    Arduino: 1.8.14 Hourly Build 2020/12/15 11:33 (Windows 10), Placa:"NodeMCU 1.0 (ESP-12E Module), 80 MHz, Flash, Legacy (new can return nullptr), All SSL ciphers (most compatible), 4MB (FS:2MB OTA:~1019KB), 2, v2 Lower Memory, Disabled, None, Only Sketch, 115200"

    Library BSEC-Arduino-library-master has been declared precompiled:
    Using precompiled library in C:\Users\jose.sobrinho\Documents\Arduino\libraries\BSEC-Arduino-library-master\src\esp8266
    The platform does not support 'compiler.libraries.ldflags' for precompiled libraries.

    c:/users/jose.sobrinho/appdata/local/arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/2.5.0-4-b40a506/bin/../lib/gcc/xtensa-lx106-elf/4.8.2/../../../../xtensa-lx106-elf/bin/ld.exe: libraries\BSEC-Arduino-library-master\BSEC-Arduino-library-master.a(bsec.cpp.o): in function `Bsec::i2cRead(unsigned char, unsigned char, unsigned char*, unsigned short)':
    C:\Users\jose.sobrinho\Documents\Arduino\libraries\BSEC-Arduino-library-master\src/bsec.cpp:551: undefined reference to `bsec_init'
    c:/users/jose.sobrinho/appdata/local/arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/2.5.0-4-b40a506/bin/../lib/gcc/xtensa-lx106-elf/4.8.2/../../../../xtensa-lx106-elf/bin/ld.exe: C:\Users\jose.sobrinho\Documents\Arduino\libraries\BSEC-Arduino-library-master\src/bsec.cpp:560: undefined reference to `bsec_get_version'
    c:/users/jose.sobrinho/appdata/local/arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/2.5.0-4-b40a506/bin/../lib/gcc/xtensa-lx106-elf/4.8.2/../../../../xtensa-lx106-elf/bin/ld.exe: libraries\BSEC-Arduino-library-master\BSEC-Arduino-library-master.a(bsec.cpp.o): in function `Bsec::beginCommon()':
    C:\Users\jose.sobrinho\Documents\Arduino\libraries\BSEC-Arduino-library-master\src/bsec.cpp:154: undefined reference to `bsec_init'
    c:/users/jose.sobrinho/appdata/local/arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/2.5.0-4-b40a506/bin/../lib/gcc/xtensa-lx106-elf/4.8.2/../../../../xtensa-lx106-elf/bin/ld.exe: C:\Users\jose.sobrinho\Documents\Arduino\libraries\BSEC-Arduino-library-master\src/bsec.cpp:157: undefined reference to `bsec_get_version'
    c:/users/jose.sobrinho/appdata/local/arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/2.5.0-4-b40a506/bin/../lib/gcc/xtensa-lx106-elf/4.8.2/../../../../xtensa-lx106-elf/bin/ld.exe: libraries\BSEC-Arduino-library-master\BSEC-Arduino-library-master.a(bsec.cpp.o): in function `Bsec::begin(unsigned char, TwoWire&, void (*)(unsigned int))':
    C:\Users\jose.sobrinho\Documents\Arduino\libraries\BSEC-Arduino-library-master\src/bsec.cpp:99: undefined reference to `bsec_update_subscription'
    c:/users/jose.sobrinho/appdata/local/arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/2.5.0-4-b40a506/bin/../lib/gcc/xtensa-lx106-elf/4.8.2/../../../../xtensa-lx106-elf/bin/ld.exe: libraries\BSEC-Arduino-library-master\BSEC-Arduino-library-master.a(bsec.cpp.o): in function `Bsec::updateSubscription(bsec_virtual_sensor_t*, unsigned char, float)':
    C:\Users\jose.sobrinho\Documents\Arduino\libraries\BSEC-Arduino-library-master\src/bsec.cpp:180: undefined reference to `bsec_update_subscription'
    c:/users/jose.sobrinho/appdata/local/arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/2.5.0-4-b40a506/bin/../lib/gcc/xtensa-lx106-elf/4.8.2/../../../../xtensa-lx106-elf/bin/ld.exe: libraries\BSEC-Arduino-library-master\BSEC-Arduino-library-master.a(bsec.cpp.o):(.text._ZN4Bsec8setStateEPh+0x4): undefined reference to `bsec_set_state'
    c:/users/jose.sobrinho/appdata/local/arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/2.5.0-4-b40a506/bin/../lib/gcc/xtensa-lx106-elf/4.8.2/../../../../xtensa-lx106-elf/bin/ld.exe: libraries\BSEC-Arduino-library-master\BSEC-Arduino-library-master.a(bsec.cpp.o): in function `Bsec::setState(unsigned char*)':
    C:\Users\jose.sobrinho\Documents\Arduino\libraries\BSEC-Arduino-library-master\src/bsec.cpp:286: undefined reference to `bsec_set_state'
    c:/users/jose.sobrinho/appdata/local/arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/2.5.0-4-b40a506/bin/../lib/gcc/xtensa-lx106-elf/4.8.2/../../../../xtensa-lx106-elf/bin/ld.exe: libraries\BSEC-Arduino-library-master\BSEC-Arduino-library-master.a(bsec.cpp.o):(.text._ZN4Bsec15readProcessDataEx19bsec_bme_settings_t+0x1c): undefined reference to `bsec_do_steps'
    c:/users/jose.sobrinho/appdata/local/arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/2.5.0-4-b40a506/bin/../lib/gcc/xtensa-lx106-elf/4.8.2/../../../../xtensa-lx106-elf/bin/ld.exe: libraries\BSEC-Arduino-library-master\BSEC-Arduino-library-master.a(bsec.cpp.o): in function `Bsec::readProcessData(long long, bsec_bme_settings_t)':
    C:\Users\jose.sobrinho\Documents\Arduino\libraries\BSEC-Arduino-library-master\src/bsec.cpp:376: undefined reference to `bsec_do_steps'
    c:/users/jose.sobrinho/appdata/local/arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/2.5.0-4-b40a506/bin/../lib/gcc/xtensa-lx106-elf/4.8.2/../../../../xtensa-lx106-elf/bin/ld.exe: libraries\BSEC-Arduino-library-master\BSEC-Arduino-library-master.a(bsec.cpp.o): in function `Bsec::getTimeMs()':
    C:\Users\jose.sobrinho\Documents\Arduino\libraries\BSEC-Arduino-library-master\src/bsec.cpp:521: undefined reference to `bsec_sensor_control'
    c:/users/jose.sobrinho/appdata/local/arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/2.5.0-4-b40a506/bin/../lib/gcc/xtensa-lx106-elf/4.8.2/../../../../xtensa-lx106-elf/bin/ld.exe: libraries\BSEC-Arduino-library-master\BSEC-Arduino-library-master.a(bsec.cpp.o):(.text._ZN4Bsec3runEx+0x4): undefined reference to `bsec_get_state'
    c:/users/jose.sobrinho/appdata/local/arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/2.5.0-4-b40a506/bin/../lib/gcc/xtensa-lx106-elf/4.8.2/../../../../xtensa-lx106-elf/bin/ld.exe: libraries\BSEC-Arduino-library-master\BSEC-Arduino-library-master.a(bsec.cpp.o): in function `Bsec::run(long long)':
    C:\Users\jose.sobrinho\Documents\Arduino\libraries\BSEC-Arduino-library-master\src/bsec.cpp:189: undefined reference to `bsec_init'
    c:/users/jose.sobrinho/appdata/local/arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/2.5.0-4-b40a506/bin/../lib/gcc/xtensa-lx106-elf/4.8.2/../../../../xtensa-lx106-elf/bin/ld.exe: C:\Users\jose.sobrinho\Documents\Arduino\libraries\BSEC-Arduino-library-master\src/bsec.cpp:200: undefined reference to `bsec_update_subscription'
    c:/users/jose.sobrinho/appdata/local/arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/2.5.0-4-b40a506/bin/../lib/gcc/xtensa-lx106-elf/4.8.2/../../../../xtensa-lx106-elf/bin/ld.exe: C:\Users\jose.sobrinho\Documents\Arduino\libraries\BSEC-Arduino-library-master\src/bsec.cpp:209: undefined reference to `bsec_sensor_control'
    c:/users/jose.sobrinho/appdata/local/arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/2.5.0-4-b40a506/bin/../lib/gcc/xtensa-lx106-elf/4.8.2/../../../../xtensa-lx106-elf/bin/ld.exe: C:\Users\jose.sobrinho\Documents\Arduino\libraries\BSEC-Arduino-library-master\src/bsec.cpp:242: undefined reference to `bsec_get_state'
    collect2.exe: error: ld returned 1 exit status
    exit status 1
    Erro compilando para a placa NodeMCU 1.0 (ESP-12E Module)


    Este relatório teria mais informações com
    "Mostrar a saida detalhada durante a compilação"
    opção pode ser ativada em "Arquivo -> Preferências"



    146402091_126960012627139_5636699995889675526_n.jpg145971529_249026470060055_5922370074868214717_n.jpg147101765_4086601301364784_4789036011219215313_o.jpg147308154_4086601328031448_2150652969368568805_o.jpg147435755_4086601351364779_1437383400508352167_o.jpg148670131_4096840063674241_2555743339414974588_o.jpg146405280_463878824986846_2155490668268301660_n.jpg146356190_808736573050001_6095274759231859705_n.jpg147027644_4086601891364725_1794529098052901931_o.jpg147548542_4086601791364735_2955447455413552151_o.jpg

    Icon--AD-black-48x48Icon--address-consumer-data-black-48x48Icon--appointment-black-48x48Icon--back-left-black-48x48Icon--calendar-black-48x48Icon--center-alignedIcon--Checkbox-checkIcon--clock-black-48x48Icon--close-black-48x48Icon--compare-black-48x48Icon--confirmation-black-48x48Icon--dealer-details-black-48x48Icon--delete-black-48x48Icon--delivery-black-48x48Icon--down-black-48x48Icon--download-black-48x48Ic-OverlayAlertIcon--externallink-black-48x48Icon-Filledforward-right_adjustedIcon--grid-view-black-48x48IC_gd_Check-Circle170821_Icons_Community170823_Bosch_Icons170823_Bosch_Icons170821_Icons_CommunityIC-logout170821_Icons_Community170825_Bosch_Icons170821_Icons_CommunityIC-shopping-cart2170821_Icons_CommunityIC-upIC_UserIcon--imageIcon--info-i-black-48x48Icon--left-alignedIcon--Less-minimize-black-48x48Icon-FilledIcon--List-Check-grennIcon--List-Check-blackIcon--List-Cross-blackIcon--list-view-mobile-black-48x48Icon--list-view-black-48x48Icon--More-Maximize-black-48x48Icon--my-product-black-48x48Icon--newsletter-black-48x48Icon--payment-black-48x48Icon--print-black-48x48Icon--promotion-black-48x48Icon--registration-black-48x48Icon--Reset-black-48x48Icon--right-alignedshare-circle1Icon--share-black-48x48Icon--shopping-bag-black-48x48Icon-shopping-cartIcon--start-play-black-48x48Icon--store-locator-black-48x48Ic-OverlayAlertIcon--summary-black-48x48tumblrIcon-FilledvineIc-OverlayAlertwhishlist