when building to a ESP32-C3 I get the following link error by cmath pow function…
/home/runner/work/esp32-arduino-lib-builder/esp32-arduino-lib-builder/esp-idf/components/newlib/syscalls.c:147: multiple definition of `fcntl'; c:/users/trasa/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/8.4.0/../../../../riscv32-esp-elf/lib/rv32imc/ilp32/no-rtti\libc.a(lib_a-sysfcntl.o):/builds/idf/crosstool-NG/.build/HOST-x86_64-w64-mingw32/riscv32-esp-elf/src/newlib/newlib/libc/syscalls/sysfcntl.c:11: first defined here
c:/users/trasa/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/8.4.0/../../../../riscv32-esp-elf/bin/ld.exe: .pio/build/airm2m_core_esp32c3/liba53/libAdafruit BME280 Library.a(Adafruit_BME280.cpp.o): in function `__gnu_cxx::__promote_2<float, double, __gnu_cxx::__promote<float, std::__is_integer<float>::__value>::__type, __gnu_cxx::__promote<double, std::__is_integer<double>::__value>::__type>::__type std::pow<float, double>(float, double)':
c:\users\trasa\.platformio\packages\toolchain-riscv32-esp\riscv32-esp-elf\include\c++\8.4.0/cmath:418: undefined reference to `pow'
collect2.exe: error: ld returned 1 exit status
*** [.pio\build\airm2m_core_esp32c3\firmware.elf] Error 1
I’m using the Adafruit BME280 library which seems to be using the math ‘pow’ function.
When building to ESP32 ‘xtensa’ with the same code everything works fine but with the ESP32-C3 ‘riscv32’ the math pow function gives undefined reference.
Anyone have an idea on why this is happening?
Using the Arduino IDE with similar code things build fine.