04-24-2020 09:29 AM
Solved! Go to Solution.
04-28-2020 05:13 PM
The error still seems to be due to the toolchain configuration. Can you confirm that the file libalgobsec.a exists and is located is the correct folder? Are you able to extend compilation/linking (e.g. enable verbose) to confirm all the flags/options are there and as expected?
04-28-2020 09:15 PM
Ok so
libalgobsec.a
is on
C:\Users\Pedro\.platformio\lib\BSECSoftwareLibrary_ID6979\src\esp32
and on src/inc I have the other files
Verbose Output
PS D:\Ascough\XPS\SE\Projects\SymphonySense\Code\PlatformIO\SSv0.1 - ESP32> pio run -v
Processing esp32 (platform: espressif32; board: esp32dev; framework: arduino; monitor_speed: 115200; upload_port: COM[3]; monitor_port: COM[3]; build_flags: -IC:\Users\Pedro\.platformio\lib\BSECSoftwareLibrary_ID6979\src\inc, -LC:\Users\Pedro\.platformio\lib\BSECSoftwareLibrary_ID6979\src\esp32, -lalgobsec; lib_deps: Adafruit GFX Library, Adafruit_ILI9341, XPT2046_Touchscreen, Wire, 1609, painlessMesh, OneButton, WiFi, TaskScheduler, Ticker, AsyncMqttClient, ESP Async WebServer, ArduinoJson, Adafruit NeoPixel, Ambimate)
------------------------------------------------------------------------------------------------------------------------------------------------------
CONFIGURATION: https://docs.platformio.org/page/boards/espressif32/esp32dev.html
PLATFORM: Espressif 32 1.12.0 > Espressif ESP32 Dev Module
HARDWARE: ESP32 240MHz, 320KB RAM, 4MB Flash
DEBUG: Current (esp-prog) External (esp-prog, iot-bus-jtag, jlink, minimodule, olimex-arm-usb-ocd, olimex-arm-usb-ocd-h, olimex-arm-usb-tiny-h, olimex-jtag-tiny, tumpa)
PACKAGES:
- framework-arduinoespressif32 3.10004.200129 (1.0.4)
- tool-esptoolpy 1.20600.0 (2.6.0)
- toolchain-xtensa32 2.50200.80 (5.2.0)
LDF: Library Dependency Finder -> http://bit.ly/configure-pio-ldf
Framework incompatible library D:\Ascough\XPS\SE\Projects\SymphonySense\Code\PlatformIO\SSv0.1 - ESP32\.pio\libdeps\esp32\Adafruit_ILI9341_ID2148
LDF Modes: Finder ~ chain, Compatibility ~ soft
Platform incompatible library D:\Ascough\XPS\SE\Projects\SymphonySense\Code\PlatformIO\SSv0.1 - ESP32\.pio\libdeps\esp32\ESPAsyncTCP_ID305
Platform incompatible library D:\Ascough\XPS\SE\Projects\SymphonySense\Code\PlatformIO\SSv0.1 - ESP32\.pio\libdeps\esp32\ESPAsyncTCP_ID305@1.2.0
More details about "Library Compatibility Mode": https://docs.platformio.org/page/librarymanager/ldf.html#ldf-compat-mode
Found 42 compatible libraries
Warning! Circular dependencies detected between `D:\Ascough\XPS\SE\Projects\SymphonySense\Code\PlatformIO\SSv0.1 - ESP32\.pio\libdeps\esp32\Adafruit ILI9341_ID571` and `D:\Ascough\XPS\SE\Projects\SymphonySense\Code\PlatformIO\SSv0.1 - ESP32\.pio\libdeps\esp32\Adafruit GFX Library_ID13`
Scanning dependencies...
Warning: Ignored `ESPAsyncTCP` dependency for `painlessMesh` library
Warning: Ignored `ESPAsyncTCP` dependency for `AsyncMqttClient` library
Warning: Ignored `ESPAsyncTCP` dependency for `ESP Async WebServer` library
Warning: Ignored `Hash` dependency for `ESP Async WebServer` library
Warning! Circular dependencies detected between `D:\Ascough\XPS\SE\Projects\SymphonySense\Code\PlatformIO\SSv0.1 - ESP32\.pio\libdeps\esp32\Adafruit ILI9341_ID571` and `D:\Ascough\XPS\SE\Projects\SymphonySense\Code\PlatformIO\SSv0.1 - ESP32\.pio\libdeps\esp32\Adafruit GFX Library_ID13`
Dependency Graph
|-- <Adafruit GFX Library> 1.7.5 (D:\Ascough\XPS\SE\Projects\SymphonySense\Code\PlatformIO\SSv0.1 - ESP32\.pio\libdeps\esp32\Adafruit GFX Library_ID13)
| |-- <Adafruit ILI9341> 1.5.5 (D:\Ascough\XPS\SE\Projects\SymphonySense\Code\PlatformIO\SSv0.1 - ESP32\.pio\libdeps\esp32\Adafruit ILI9341_ID571)
| | |-- <Adafruit STMPE610> 1.1.2 (D:\Ascough\XPS\SE\Projects\SymphonySense\Code\PlatformIO\SSv0.1 - ESP32\.pio\libdeps\esp32\Adafruit STMPE610_ID377)
| | | |-- <SPI> 1.0 (C:\Users\Pedro\.platformio\packages\framework-arduinoespressif32\libraries\SPI)
| | | |-- <Wire> 1.0.1 (C:\Users\Pedro\.platformio\packages\framework-arduinoespressif32\libraries\Wire)
| | |-- <Adafruit TouchScreen> 1.0.5 (D:\Ascough\XPS\SE\Projects\SymphonySense\Code\PlatformIO\SSv0.1 - ESP32\.pio\libdeps\esp32\Adafruit TouchScreen_ID5430)
| | |-- <SPI> 1.0 (C:\Users\Pedro\.platformio\packages\framework-arduinoespressif32\libraries\SPI)
| |-- <SPI> 1.0 (C:\Users\Pedro\.platformio\packages\framework-arduinoespressif32\libraries\SPI)
|-- <XPT2046_Touchscreen> (D:\Ascough\XPS\SE\Projects\SymphonySense\Code\PlatformIO\SSv0.1 - ESP32\.pio\libdeps\esp32\XPT2046_Touchscreen_ID542)
| |-- <SPI> 1.0 (C:\Users\Pedro\.platformio\packages\framework-arduinoespressif32\libraries\SPI)
|-- <Wire> 1.0.1 (C:\Users\Pedro\.platformio\packages\framework-arduinoespressif32\libraries\Wire)
|-- <CCS811> 10.0.0 (D:\Ascough\XPS\SE\Projects\SymphonySense\Code\PlatformIO\SSv0.1 - ESP32\.pio\libdeps\esp32\CCS811_ID1609)
| |-- <Wire> 1.0.1 (C:\Users\Pedro\.platformio\packages\framework-arduinoespressif32\libraries\Wire)
|-- <painlessMesh> 1.4.5 (D:\Ascough\XPS\SE\Projects\SymphonySense\Code\PlatformIO\SSv0.1 - ESP32\.pio\libdeps\esp32\painlessMesh_ID1269)
| |-- <ArduinoJson> 6.15.1 (D:\Ascough\XPS\SE\Projects\SymphonySense\Code\PlatformIO\SSv0.1 - ESP32\.pio\libdeps\esp32\ArduinoJson_ID64)
| |-- <TaskScheduler> 3.1.4 (D:\Ascough\XPS\SE\Projects\SymphonySense\Code\PlatformIO\SSv0.1 - ESP32\.pio\libdeps\esp32\TaskScheduler_ID721)
| |-- <AsyncTCP> 1.1.1 (D:\Ascough\XPS\SE\Projects\SymphonySense\Code\PlatformIO\SSv0.1 - ESP32\.pio\libdeps\esp32\AsyncTCP_ID1826)
| |-- <WiFi> 1.0 (C:\Users\Pedro\.platformio\packages\framework-arduinoespressif32\libraries\WiFi)
| |-- <FS> 1.0 (C:\Users\Pedro\.platformio\packages\framework-arduinoespressif32\libraries\FS)
| |-- <SPIFFS> 1.0 (C:\Users\Pedro\.platformio\packages\framework-arduinoespressif32\libraries\SPIFFS)
| | |-- <FS> 1.0 (C:\Users\Pedro\.platformio\packages\framework-arduinoespressif32\libraries\FS)
| |-- <Update> 1.0 (C:\Users\Pedro\.platformio\packages\framework-arduinoespressif32\libraries\Update)
|-- <OneButton> (D:\Ascough\XPS\SE\Projects\SymphonySense\Code\PlatformIO\SSv0.1 - ESP32\.pio\libdeps\esp32\OneButton_ID1260)
|-- <WiFi> 1.0 (C:\Users\Pedro\.platformio\packages\framework-arduinoespressif32\libraries\WiFi)
|-- <TaskScheduler> 3.1.4 (D:\Ascough\XPS\SE\Projects\SymphonySense\Code\PlatformIO\SSv0.1 - ESP32\.pio\libdeps\esp32\TaskScheduler_ID721)
|-- <Ticker> 1.1 (C:\Users\Pedro\.platformio\packages\framework-arduinoespressif32\libraries\Ticker)
|-- <AsyncMqttClient> 0.8.2 (D:\Ascough\XPS\SE\Projects\SymphonySense\Code\PlatformIO\SSv0.1 - ESP32\.pio\libdeps\esp32\AsyncMqttClient_ID346)
| |-- <AsyncTCP> 1.1.1 (D:\Ascough\XPS\SE\Projects\SymphonySense\Code\PlatformIO\SSv0.1 - ESP32\.pio\libdeps\esp32\AsyncTCP_ID1826)
|-- <ESP Async WebServer> 1.2.3 (D:\Ascough\XPS\SE\Projects\SymphonySense\Code\PlatformIO\SSv0.1 - ESP32\.pio\libdeps\esp32\ESP Async WebServer_ID306)
| |-- <AsyncTCP> 1.1.1 (D:\Ascough\XPS\SE\Projects\SymphonySense\Code\PlatformIO\SSv0.1 - ESP32\.pio\libdeps\esp32\AsyncTCP_ID1826)
| |-- <FS> 1.0 (C:\Users\Pedro\.platformio\packages\framework-arduinoespressif32\libraries\FS)
| |-- <WiFi> 1.0 (C:\Users\Pedro\.platformio\packages\framework-arduinoespressif32\libraries\WiFi)
| |-- <ArduinoJson> 6.15.1 (D:\Ascough\XPS\SE\Projects\SymphonySense\Code\PlatformIO\SSv0.1 - ESP32\.pio\libdeps\esp32\ArduinoJson_ID64)
|-- <ArduinoJson> 6.15.1 (D:\Ascough\XPS\SE\Projects\SymphonySense\Code\PlatformIO\SSv0.1 - ESP32\.pio\libdeps\esp32\ArduinoJson_ID64)
|-- <Adafruit NeoPixel> 1.3.5 (D:\Ascough\XPS\SE\Projects\SymphonySense\Code\PlatformIO\SSv0.1 - ESP32\.pio\libdeps\esp32\Adafruit NeoPixel_ID28)
|-- <Ambimate> 1.0.0 (D:\Ascough\XPS\SE\Projects\SymphonySense\Code\PlatformIO\SSv0.1 - ESP32\.pio\libdeps\esp32\Ambimate_ID6454)
| |-- <Wire> 1.0.1 (C:\Users\Pedro\.platformio\packages\framework-arduinoespressif32\libraries\Wire)
|-- <BSEC Software Library> 1.5.1474 (C:\Users\Pedro\.platformio\lib\BSECSoftwareLibrary_ID6979)
| |-- <SPI> 1.0 (C:\Users\Pedro\.platformio\packages\framework-arduinoespressif32\libraries\SPI)
| |-- <Wire> 1.0.1 (C:\Users\Pedro\.platformio\packages\framework-arduinoespressif32\libraries\Wire)
|-- <Adafruit ILI9341> 1.5.5 (D:\Ascough\XPS\SE\Projects\SymphonySense\Code\PlatformIO\SSv0.1 - ESP32\.pio\libdeps\esp32\Adafruit ILI9341_ID571)
| |-- <Adafruit STMPE610> 1.1.2 (D:\Ascough\XPS\SE\Projects\SymphonySense\Code\PlatformIO\SSv0.1 - ESP32\.pio\libdeps\esp32\Adafruit STMPE610_ID377)
| | |-- <SPI> 1.0 (C:\Users\Pedro\.platformio\packages\framework-arduinoespressif32\libraries\SPI)
| | |-- <Wire> 1.0.1 (C:\Users\Pedro\.platformio\packages\framework-arduinoespressif32\libraries\Wire)
| |-- <Adafruit TouchScreen> 1.0.5 (D:\Ascough\XPS\SE\Projects\SymphonySense\Code\PlatformIO\SSv0.1 - ESP32\.pio\libdeps\esp32\Adafruit TouchScreen_ID5430)
| |-- <SPI> 1.0 (C:\Users\Pedro\.platformio\packages\framework-arduinoespressif32\libraries\SPI)
|-- <AsyncTCP> 1.1.1 (D:\Ascough\XPS\SE\Projects\SymphonySense\Code\PlatformIO\SSv0.1 - ESP32\.pio\libdeps\esp32\AsyncTCP_ID1826)
Building in release mode
xtensa-esp32-elf-g++ -o .pio\build\esp32\firmware.elf -T esp32_out.ld -nostdlib -Wl,-static -u call_user_start_cpu0 -Wl,--undefined=uxTopUsedPriority
-Wl,--gc-sections -Wl,-EL -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 __cxa_guard_dummy -u __cxx_fatal_exception .pio\build\esp32\src\main.cpp.o -L.pio\build\esp32 -LC:\Users\Pedro\.platformio\platforms\espressif32\builder\UsersPedro.platformiolibBSECSoftwareLibrary_ID6979srcesp32 -LC:\Users\Pedro\.platformio\packages\framework-arduinoespressif32\tools\sdk\lib -LC:\Users\Pedro\.platformio\packages\framework-arduinoespressif32\tools\sdk\ld -Wl,--start-group .pio\build\esp32\lib49f\libSPI.a .pio\build\esp32\lib2a8\libWire.a ".pio\build\esp32\lib6f7\libAdafruit STMPE610_ID377.a" ".pio\build\esp32\lib6dd\libAdafruit TouchScreen_ID5430.a" ".pio\build\esp32\lib073\libAdafruit ILI9341_ID571.a" ".pio\build\esp32\lib282\libAdafruit GFX Library_ID13.a" .pio\build\esp32\libbd7\libXPT2046_Touchscreen_ID542.a .pio\build\esp32\lib320\libCCS811_ID1609.a .pio\build\esp32\libf86\libArduinoJson_ID64.a .pio\build\esp32\libb0a\libTaskScheduler_ID721.a .pio\build\esp32\lib648\libAsyncTCP_ID1826.a .pio\build\esp32\lib79a\libWiFi.a .pio\build\esp32\libc41\libFS.a .pio\build\esp32\libabe\libSPIFFS.a .pio\build\esp32\libef4\libUpdate.a .pio\build\esp32\lib5d6\libpainlessMesh_ID1269.a .pio\build\esp32\lib2b1\libOneButton_ID1260.a .pio\build\esp32\libf8d\libTicker.a .pio\build\esp32\lib1c3\libAsyncMqttClient_ID346.a ".pio\build\esp32\libb4a\libESP Async WebServer_ID306.a" ".pio\build\esp32\lib027\libAdafruit NeoPixel_ID28.a" .pio\build\esp32\libb23\libAmbimate_ID6454.a .pio\build\esp32\lib558\libBSECSoftwareLibrary_ID6979.a .pio\build\esp32\libFrameworkArduinoVariant.a .pio\build\esp32\libFrameworkArduino.a -lalgobsec -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++ -Wl,--end-group
c:/users/pedro/.platformio/packages/toolchain-xtensa32/bin/../lib/gcc/xtensa-esp32-elf/5.2.0/../../../../xtensa-esp32-elf/bin/ld.exe: cannot find -lalgobsec
collect2.exe: error: ld returned 1 exit status
*** [.pio\build\esp32\firmware.elf] Error 1
Do I need to put libalgobsec.a somewhere else?
Thanks for all the patience 🙂
04-28-2020 09:17 PM
FYI, I didn't knwo if the images uploaded correctly
04-29-2020 10:34 AM
The -L option in the build command doesn't look like the original anymore and is probably why it can't find the library:
-LC:\Users\Pedro\.platformio\platforms\espressif32\builder\UsersPedro.platformiolibBSECSoftwareLibrary_ID6979srcesp32
Not sure exactly what platformIO is expecting, maybe forward slashes instead of backward slahes? Or relative path to your platformio.ini?
04-29-2020 06:28 PM
I used
Keeps saying the same
https://community.platformio.org/t/how-to-use-relative-paths-in-build-flags/9540/2
c:/users/pedro/.platformio/packages/toolchain-xtensa32/bin/../lib/gcc/xtensa-esp32-elf/5.2.0/../../../../xtensa-esp32-elf/bin/ld.exe: cannot find -libalgobsec
collect2.exe: error: ld returned 1 exit status
*** [.pio\build\esp32\firmware.elf] Error 1
Nobody has used this sensor with platform IO before?
I'm developing a multisensor board and having IAQ and eCO2 info is key for me.
Thanks in advance