ESP8266 undifine reference

Hello !
I have a weird problem. I try to compil a code with huge library for ESP8266 Node Mcu 1.0. The library is UML-RT and i have à weird undifine reference.

/home/breizh/.arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/3.0.0-newlib4.0.0-gnu23-48f7b08/bin/xtensa-lx106-elf-gcc -fno-exceptions -Wl,-Map -Wl,/tmp/arduino_build_655136/TopMain.ino.map -g -w -Os -nostdlib -Wl,--no-check-sections -u app_entry -u _printf_float -u _scanf_float -Wl,-static -L/home/breizh/.arduino15/packages/esp8266/hardware/esp8266/3.0.0/tools/sdk/lib -L/home/breizh/.arduino15/packages/esp8266/hardware/esp8266/3.0.0/tools/sdk/lib/NONOSDK22x_190703 -L/tmp/arduino_build_655136 -L/home/breizh/.arduino15/packages/esp8266/hardware/esp8266/3.0.0/tools/sdk/libc/xtensa-lx106-elf/lib -Tlocal.eagle.flash.ld -Wl,--gc-sections -Wl,-wrap,system_restart_local -Wl,-wrap,spi_flash_read -o /tmp/arduino_build_655136/TopMain.ino.elf -Wl,--start-group /tmp/arduino_build_655136/sketch/Controller.cpp.o /tmp/arduino_build_655136/sketch/OnOff.cpp.o /tmp/arduino_build_655136/sketch/Top.cpp.o /tmp/arduino_build_655136/sketch/TopControllers.cpp.o /tmp/arduino_build_655136/sketch/TopMain.ino.cpp.o /tmp/arduino_build_655136/sketch/interact.cpp.o /tmp/arduino_build_655136/libraries/umlrt/basedebug.cpp.o /tmp/arduino_build_655136/libraries/umlrt/basefatal.cpp.o /tmp/arduino_build_655136/libraries/umlrt/umlrtbasicthread.cpp.o /tmp/arduino_build_655136/libraries/umlrt/umlrtcapsule.cpp.o /tmp/arduino_build_655136/libraries/umlrt/umlrtcapsuleid.cpp.o /tmp/arduino_build_655136/libraries/umlrt/umlrtcapsuletocontrollermap.cpp.o /tmp/arduino_build_655136/libraries/umlrt/umlrtcommsport.cpp.o /tmp/arduino_build_655136/libraries/umlrt/umlrtcontroller.cpp.o /tmp/arduino_build_655136/libraries/umlrt/umlrtframeprotocol.cpp.o /tmp/arduino_build_655136/libraries/umlrt/umlrtframeservice.cpp.o /tmp/arduino_build_655136/libraries/umlrt/umlrtgetopt.cpp.o /tmp/arduino_build_655136/libraries/umlrt/umlrthashmap.cpp.o /tmp/arduino_build_655136/libraries/umlrt/umlrtinoutsignal.cpp.o /tmp/arduino_build_655136/libraries/umlrt/umlrtinsignal.cpp.o /tmp/arduino_build_655136/libraries/umlrt/umlrtlogprotocol.cpp.o /tmp/arduino_build_655136/libraries/umlrt/umlrtmain.cpp.o /tmp/arduino_build_655136/libraries/umlrt/umlrtmainloop.cpp.o /tmp/arduino_build_655136/libraries/umlrt/umlrtmaintargetshutdown.cpp.o /tmp/arduino_build_655136/libraries/umlrt/umlrtmaintargetstartup.cpp.o /tmp/arduino_build_655136/libraries/umlrt/umlrtmessage.cpp.o /tmp/arduino_build_655136/libraries/umlrt/umlrtmessagepool.cpp.o /tmp/arduino_build_655136/libraries/umlrt/umlrtmessagequeue.cpp.o /tmp/arduino_build_655136/libraries/umlrt/umlrtobjectclass.cpp.o /tmp/arduino_build_655136/libraries/umlrt/umlrtoutsignal.cpp.o /tmp/arduino_build_655136/libraries/umlrt/umlrtpool.cpp.o /tmp/arduino_build_655136/libraries/umlrt/umlrtprioritymessagequeue.cpp.o /tmp/arduino_build_655136/libraries/umlrt/umlrtprotocol.cpp.o /tmp/arduino_build_655136/libraries/umlrt/umlrtqueue.cpp.o /tmp/arduino_build_655136/libraries/umlrt/umlrtrtsinterfaceumlrt.cpp.o /tmp/arduino_build_655136/libraries/umlrt/umlrtsignal.cpp.o /tmp/arduino_build_655136/libraries/umlrt/umlrtsignalelement.cpp.o /tmp/arduino_build_655136/libraries/umlrt/umlrtsignalelementpool.cpp.o /tmp/arduino_build_655136/libraries/umlrt/umlrttimerid.cpp.o /tmp/arduino_build_655136/libraries/umlrt/umlrttimerpool.cpp.o /tmp/arduino_build_655136/libraries/umlrt/umlrttimerprotocol.cpp.o /tmp/arduino_build_655136/libraries/umlrt/umlrttimerqueue.cpp.o /tmp/arduino_build_655136/libraries/umlrt/umlrttimespec.cpp.o /tmp/arduino_cache_443090/core/core_f7dedc75cf0dfed6060e9b5e6a5cc6e9.a -lhal -lphy -lpp -lnet80211 -llwip2-536-feat -lwpa -lcrypto -lmain -lwps -lbearssl -lespnow -lsmartconfig -lairkiss -lwpa2 -lstdc++ -lm -lc -lgcc -Wl,--end-group -L/tmp/arduino_build_655136
/home/breizh/.arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/3.0.0-newlib4.0.0-gnu23-48f7b08/bin/../lib/gcc/xtensa-lx106-elf/10.2.0/../../../../xtensa-lx106-elf/bin/ld: address 0x4000bb18 of /tmp/arduino_build_655136/TopMain.ino.elf section `.bss' is not within region `dram0_0_seg'
/home/breizh/.arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/3.0.0-newlib4.0.0-gnu23-48f7b08/bin/../lib/gcc/xtensa-lx106-elf/10.2.0/../../../../xtensa-lx106-elf/bin/ld: address 0x4000bb18 of /tmp/arduino_build_655136/TopMain.ino.elf section `.bss' is not within region `dram0_0_seg'
/home/breizh/.arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/3.0.0-newlib4.0.0-gnu23-48f7b08/bin/../lib/gcc/xtensa-lx106-elf/10.2.0/../../../../xtensa-lx106-elf/bin/ld: /tmp/arduino_build_655136/libraries/umlrt/basedebug.cpp.o:(.text._ZN4base7bdguardC2EPP14UMLRTSemaphore+0x0): undefined reference to `_ZN14UMLRTSemaphoreC1Ei'
/home/breizh/.arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/3.0.0-newlib4.0.0-gnu23-48f7b08/bin/../lib/gcc/xtensa-lx106-elf/10.2.0/../../../../xtensa-lx106-elf/bin/ld: /tmp/arduino_build_655136/libraries/umlrt/basedebug.cpp.o:(.text._ZN4base7bdguardC2EPP14UMLRTSemaphore+0x4): undefined reference to `_ZN14UMLRTSemaphore4waitEv'
/home/breizh/.arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/3.0.0-newlib4.0.0-gnu23-48f7b08/bin/../lib/gcc/xtensa-lx106-elf/10.2.0/../../../../xtensa-lx106-elf/bin/ld: /tmp/arduino_build_655136/libraries/umlrt/basedebug.cpp.o: in function `_ZN4base7bdguardC2EPP14UMLRTSemaphore':
/home/breizh/Arduino/libraries/umlrt/src/basedebug.cpp:116: undefined reference to `_ZN14UMLRTSemaphoreC1Ei'
/home/breizh/.arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/3.0.0-newlib4.0.0-gnu23-48f7b08/bin/../lib/gcc/xtensa-lx106-elf/10.2.0/../../../../xtensa-lx106-elf/bin/ld: /home/breizh/Arduino/libraries/umlrt/src/basedebug.cpp:116: undefined reference to `_ZN14UMLRTSemaphore4waitEv'
/home/breizh/.arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/3.0.0-newlib4.0.0-gnu23-48f7b08/bin/../lib/gcc/xtensa-lx106-elf/10.2.0/../../../../xtensa-lx106-elf/bin/ld: /tmp/arduino_build_655136/libraries/umlrt/basedebug.cpp.o: in function `_ZN4base12debugLogDataElPhj':
/home/breizh/Arduino/libraries/umlrt/src/basedebug.cpp:406: undefined reference to `_ZN14UMLRTSemaphore4postEv'
/home/breizh/.arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/3.0.0-newlib4.0.0-gnu23-48f7b08/bin/../lib/gcc/xtensa-lx106-elf/10.2.0/../../../../xtensa-lx106-elf/bin/ld: /tmp/arduino_build_655136/libraries/umlrt/basedebug.cpp.o: in function `_ZN4base5swerrEPKciS1_S1_z':
/home/breizh/Arduino/libraries/umlrt/src/basedebug.cpp:491: undefined reference to `_ZN14UMLRTSemaphore4postEv'
/home/breizh/.arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/3.0.0-newlib4.0.0-gnu23-48f7b08/bin/../lib/gcc/xtensa-lx106-elf/10.2.0/../../../../xtensa-lx106-elf/bin/ld: /tmp/arduino_build_655136/libraries/umlrt/umlrtcontroller.cpp.o:(.text._ZN15UMLRTController14enqueueDestroyEP9UMLRTSlotb+0xc): undefined reference to `_ZN14UMLRTSemaphoreD1Ev'
/home/breizh/.arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/3.0.0-newlib4.0.0-gnu23-48f7b08/bin/../lib/gcc/xtensa-lx106-elf/10.2.0/../../../../xtensa-lx106-elf/bin/ld: /tmp/arduino_build_655136/libraries/umlrt/umlrtcontroller.cpp.o: in function `_ZN15UMLRTController14enqueueDestroyEP9UMLRTSlotb':
/home/breizh/Arduino/libraries/umlrt/src/umlrtcontroller.cpp:326: undefined reference to `_ZN14UMLRTSemaphoreC1Ei'
/home/breizh/.arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/3.0.0-newlib4.0.0-gnu23-48f7b08/bin/../lib/gcc/xtensa-lx106-elf/10.2.0/../../../../xtensa-lx106-elf/bin/ld: /home/breizh/Arduino/libraries/umlrt/src/umlrtcontroller.cpp:339: undefined reference to `_ZN14UMLRTSemaphore4waitEv'
/home/breizh/.arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/3.0.0-newlib4.0.0-gnu23-48f7b08/bin/../lib/gcc/xtensa-lx106-elf/10.2.0/../../../../xtensa-lx106-elf/bin/ld: /home/breizh/Arduino/libraries/umlrt/src/umlrtcontroller.cpp:346: undefined reference to `_ZN14UMLRTSemaphoreD1Ev'
/home/breizh/.arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/3.0.0-newlib4.0.0-gnu23-48f7b08/bin/../lib/gcc/xtensa-lx106-elf/10.2.0/../../../../xtensa-lx106-elf/bin/ld: /tmp/arduino_build_655136/libraries/umlrt/umlrtcontroller.cpp.o: in function `_ZN15UMLRTController26debugOutputSlotContainmentEPK9UMLRTSlotj':
/home/breizh/Arduino/libraries/umlrt/src/umlrtcontroller.cpp:1045: undefined reference to `_ZN13UMLRTTimespec8getclockEPS_'
/home/breizh/.arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/3.0.0-newlib4.0.0-gnu23-48f7b08/bin/../lib/gcc/xtensa-lx106-elf/10.2.0/../../../../xtensa-lx106-elf/bin/ld: /tmp/arduino_build_655136/libraries/umlrt/umlrtcontroller.cpp.o: in function `_ZN15UMLRTController16debugOutputSlotsEPK9UMLRTSlot':
/home/breizh/Arduino/libraries/umlrt/src/umlrtcontroller.cpp:1058: undefined reference to `_ZN13UMLRTTimespec8getclockEPS_'
/home/breizh/.arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/3.0.0-newlib4.0.0-gnu23-48f7b08/bin/../lib/gcc/xtensa-lx106-elf/10.2.0/../../../../xtensa-lx106-elf/bin/ld: /tmp/arduino_build_655136/libraries/umlrt/umlrtcontroller.cpp.o: in function `_ZN15UMLRTController14executeCommandEP12UMLRTMessage':
/home/breizh/Arduino/libraries/umlrt/src/umlrtcontroller.cpp:449: undefined reference to `_ZN14UMLRTSemaphore4postEv'
/home/breizh/.arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/3.0.0-newlib4.0.0-gnu23-48f7b08/bin/../lib/gcc/xtensa-lx106-elf/10.2.0/../../../../xtensa-lx106-elf/bin/ld: /tmp/arduino_build_655136/libraries/umlrt/umlrttimerqueue.cpp.o: in function `_ZNK15UMLRTTimerQueue13timeRemainingEv':
/home/breizh/Arduino/libraries/umlrt/src/umlrttimerqueue.cpp:197: undefined reference to `_ZN13UMLRTTimespec8getclockEPS_'
/home/breizh/.arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/3.0.0-newlib4.0.0-gnu23-48f7b08/bin/../lib/gcc/xtensa-lx106-elf/10.2.0/../../../../xtensa-lx106-elf/bin/ld: /tmp/arduino_build_655136/libraries/umlrt/umlrttimespec.cpp.o: in function `_ZN13UMLRTTimespecC2Ev':
/home/breizh/Arduino/libraries/umlrt/src/umlrttimespec.cpp:26: undefined reference to `_ZN13UMLRTTimespec8getclockEPS_'

If i take this line

/home/breizh/.arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/3.0.0-newlib4.0.0-gnu23-48f7b08/bin/../lib/gcc/xtensa-lx106-elf/10.2.0/../../../../xtensa-lx106-elf/bin/ld: /tmp/arduino_build_655136/libraries/umlrt/umlrtcontroller.cpp.o: in function `_ZN15UMLRTController14executeCommandEP12UMLRTMessage':

We see "_ZN15UMLRTController14executeCommandEP12UMLRTMessage" and if I decomposed we see "ZN15 UMLRTController 14 executeCommand EP12 UMLRTMessage" ans i have this fonction on umlrtcontroller.h void executeCommand ( UMLRTMessage * msg ); But this fonction if define on umlrtcontroller.cpp with good name and good parameters etc ...

void UMLRTController::executeCommand ( UMLRTMessage * msg )
{
// my code
}

I don't know why i have undifine reference like this. If anyone has an explanation that would be really great!
Tanks you in advance ^^

Are you going to share the full sketch so that we can test it and maybe provide help ?

The easier you make it to read and copy your code the more likely it is that you will get help

Please follow the advice given in the link below when posting code , use code tags and post the code here

If you get errors when compiling please copy them from the IDE using the "Copy error messages" button and paste the clipboard here in code tags

@Breizh_29, your topic has been moved to amore suitable location on the forum.

This topic was automatically closed 120 days after the last reply. New replies are no longer allowed.