Problem with compiling 3.6
-
Hello
I tried to compile 3.6 with Eclipse on my Mac and followed all the instructions. I was able to build all required projects without errors. But when I tried to build RepRapFirmware I get multiple errors like:- Description Resource Path Location Type
'isAlnum' was not declared in this scope; did you mean 'isalnum'? Variable.cpp /RepRapFirmware/src/ObjectModel line 40 C/C++ Problem - Description Resource Path Location Type
'AdcBits' is not a member of 'AnalogIn'; did you mean 'LegacyAnalogIn::AdcBits'? Platform.cpp /RepRapFirmware/src/Platform line 127 C/C++ Problem - Description Resource Path Location Type
Function 'isAlnum' could not be resolved Variable.cpp /RepRapFirmware/src/ObjectModel line 40 Semantic Error
Could anybody give me a hint what could be wrong? I am not experienced in building firmware and therefore a little helpless.
Thank you
Michael
- Description Resource Path Location Type
-
@wuem The build process for RRF is documented here: https://github.com/Duet3D/RepRapFirmware/wiki/Building-RepRapFirmware Can you confirm all the required branchs are checked out?
-
@chrishamm
Thank you for your reply. I had the wrong version of CoreN2G (3.5 instead of 3.6). Now I can compile if I choose Duet2, but when I choose Duet_MB6HC, I again get errors:- Description Resource Path Location Type
fatal error: driver/gpio.h: No such file or directory gpio.c /RepRapFirmware/WiFiSocketServerRTOS-main/src/esp8266 line 3 C/C++ Problem - Description Resource Path Location Type
fatal error: esp_attr.h: No such file or directory HSPI.cpp /RepRapFirmware/WiFiSocketServerRTOS-main/src/esp8266 line 23 C/C++ Problem - Description Resource Path Location Type
fatal error: tusb.h: No such file or directory SerialCDC_tusb.cpp /CoreN2G/src line 21 C/C++ Problem - Description Resource Path Location Type
fatal error: tusb.h: No such file or directory TinyUsbInterface.cpp /CoreN2G/src line 28 C/C++ Problem
Where could now be the problem?
Thank you
- Description Resource Path Location Type
-
@wuem
tusb.h
is part of LibTinyusb which has git submodules. Perhaps you haven't initialized them correctly, try to rungit submodule update --init
in that directory and check if it helps. The C/C++ error list isn't always correct, better share the command output when you attempt to build a configuration if it fails again. -
@chrishamm
Ok. I downloaded everything again and updated LibTinyusb. Now I get the following errors:In file included from ../src/Networking/ESP8266WiFi/WiFiSocket.cpp:15:
../src/Networking/ESP8266WiFi/WiFiInterface.h:17:10: fatal error: MessageFormats.h: No such file or directory
17 | #include <MessageFormats.h>
| ^~~~~~~~~~~~~~~~~~
compilation terminated.
make[1]: *** [src/Networking/ESP8266WiFi/WiFiSocket.o] Error 1
make[1]: *** Waiting for unfinished jobs....
Building file: ../src/Networking/Network.cpp
In file included from ../src/Networking/ESP8266WiFi/WiFiInterface.cpp:8:
../src/Networking/ESP8266WiFi/WiFiInterface.h:17:10: fatal error: MessageFormats.h: No such file or directory
17 | #include <MessageFormats.h>
| ^~~~~~~~~~~~~~~~~~
compilation terminated.
Finished building: ../src/Networking/LwipEthernet/Lwip/src/apps/mdns/mdns.c
Invoking: Cross G++ Compiler
arm-none-eabi-g++ -std=gnu++17 -D__SAME70Q20B__ -DRTOS -DDUET3_MB6HC -DMQTTC_PAL_FILE="Networking/MQTT/mqtt_pal.h" -D_XOPEN_SOURCE -I"/Users/zhaw/Documents/Studienarbeiten/PA_BA/BA25/BA_FS_25_wuem_185_HighSpeed/Firmware/Build/RepRapFirmware/LibTinyusb" -I"/Users/zhaw/Documents/Studienarbeiten/PA_BA/BA25/BA_FS_25_wuem_185_HighSpeed/Firmware/Build/RepRapFirmware/CoreN2G" -I"/Users/zhaw/Documents/Studienarbeiten/PA_BA/BA25/BA_FS_25_wuem_185_HighSpeed/Firmware/Build/RepRapFirmware/FreeRTOS" -I"/Users/zhaw/Documents/Studienarbeiten/PA_BA/BA25/BA_FS_25_wuem_185_HighSpeed/Firmware/Build/RepRapFirmware/CoreN2G/src" -I"/Users/zhaw/Documents/Studienarbeiten/PA_BA/BA25/BA_FS_25_wuem_185_HighSpeed/Firmware/Build/RepRapFirmware/CoreN2G/src/SAM4S_4E_E70" -I"/Users/zhaw/Documents/Studienarbeiten/PA_BA/BA25/BA_FS_25_wuem_185_HighSpeed/Firmware/Build/RepRapFirmware/CoreN2G/src/SAM4S_4E_E70/asf/common/utils" -I"/Users/zhaw/Documents/Studienarbeiten/PA_BA/BA25/BA_FS_25_wuem_185_HighSpeed/Firmware/Build/RepRapFirmware/CoreN2G/src/SAM4S_4E_E70/asf/sam/utils/cmsis/same70/include" -I"/Users/zhaw/Documents/Studienarbeiten/PA_BA/BA25/BA_FS_25_wuem_185_HighSpeed/Firmware/Build/RepRapFirmware/CoreN2G/src/arm/CMSIS/5.4.0/CMSIS/Core/Include" -I"/Users/zhaw/Documents/Studienarbeiten/PA_BA/BA25/BA_FS_25_wuem_185_HighSpeed/Firmware/Build/RepRapFirmware/CoreN2G/src/SAM4S_4E_E70/SAME70" -I"/Users/zhaw/Documents/Studienarbeiten/PA_BA/BA25/BA_FS_25_wuem_185_HighSpeed/Firmware/Build/RepRapFirmware/CoreN2G/src/SAM4S_4E_E70/asf" -I"/Users/zhaw/Documents/Studienarbeiten/PA_BA/BA25/BA_FS_25_wuem_185_HighSpeed/Firmware/Build/RepRapFirmware/CoreN2G/src/SAM4S_4E_E70/asf/sam/utils" -I"/Users/zhaw/Documents/Studienarbeiten/PA_BA/BA25/BA_FS_25_wuem_185_HighSpeed/Firmware/Build/RepRapFirmware/CoreN2G/src/SAM4S_4E_E70/asf/sam/utils/preprocessor" -I"/Users/zhaw/Documents/Studienarbeiten/PA_BA/BA25/BA_FS_25_wuem_185_HighSpeed/Firmware/Build/RepRapFirmware/CoreN2G/src/SAM4S_4E_E70/asf/sam/utils/header_files" -I"/Users/zhaw/Documents/Studienarbeiten/PA_BA/BA25/BA_FS_25_wuem_185_HighSpeed/Firmware/Build/RepRapFirmware/CoreN2G/src/SAM4S_4E_E70/asf/sam/drivers" -I"/Users/zhaw/Documents/Studienarbeiten/PA_BA/BA25/BA_FS_25_wuem_185_HighSpeed/Firmware/Build/RepRapFirmware/src" -I"/Users/zhaw/Documents/Studienarbeiten/PA_BA/BA25/BA_FS_25_wuem_185_HighSpeed/Firmware/Build/RepRapFirmware/src/Hardware/SAME70" -I"/Users/zhaw/Documents/Studienarbeiten/PA_BA/BA25/BA_FS_25_wuem_185_HighSpeed/Firmware/Build/RepRapFirmware/src/Networking" -I"/Users/zhaw/Documents/Studienarbeiten/PA_BA/BA25/BA_FS_25_wuem_185_HighSpeed/Firmware/Build/RepRapFirmware/src/Networking/LwipEthernet/Lwip" -I"/Users/zhaw/Documents/Studienarbeiten/PA_BA/BA25/BA_FS_25_wuem_185_HighSpeed/Firmware/Build/RepRapFirmware/src/Networking/LwipEthernet/Lwip/src/include" -I"/Users/zhaw/Documents/Studienarbeiten/PA_BA/BA25/BA_FS_25_wuem_185_HighSpeed/Firmware/Build/RepRapFirmware/src/Networking/MQTT/MQTT_C/include" -I"/Users/zhaw/Documents/Studienarbeiten/PA_BA/BA25/BA_FS_25_wuem_185_HighSpeed/Firmware/Build/RepRapFirmware/FreeRTOS/src/include" -I"/Users/zhaw/Documents/Studienarbeiten/PA_BA/BA25/BA_FS_25_wuem_185_HighSpeed/Firmware/Build/RepRapFirmware/FreeRTOS/src/portable/GCC/ARM_CM7/r0p1" -I"/Users/zhaw/Documents/Studienarbeiten/PA_BA/BA25/BA_FS_25_wuem_185_HighSpeed/Firmware/Build/RepRapFirmware/RRFLibraries/src" -I"/Users/zhaw/Documents/Studienarbeiten/PA_BA/BA25/BA_FS_25_wuem_185_HighSpeed/Firmware/Build/RepRapFirmware/CANlib/src" -O2 -Wall -c -mcpu=cortex-m7 -mthumb -fno-math-errno -mfpu=fpv5-d16 -mfloat-abi=hard -mfp16-format=ieee -mno-unaligned-access -ffunction-sections -fdata-sections -fno-threadsafe-statics -fno-rtti -fexceptions -nostdlib -Wundef -Wdouble-promotion -Werror=return-type -Wsuggest-override -fsingle-precision-constant "-Wa,-ahl=Network.s" -fstack-usage -MMD -MP -MF"src/Networking/Network.d" -MT"src/Networking/Network.o" -o "src/Networking/Network.o" "../src/Networking/Network.cpp"make[1]: *** [src/Networking/ESP8266WiFi/WiFiInterface.o] Error 1
In file included from ../src/Networking/ESP8266WiFi/WifiFirmwareUploader.cpp:12:
../src/Networking/ESP8266WiFi/WiFiInterface.h:17:10: fatal error: MessageFormats.h: No such file or directory
17 | #include <MessageFormats.h>
| ^~~~~~~~~~~~~~~~~~
compilation terminated.
make[1]: *** [src/Networking/ESP8266WiFi/WifiFirmwareUploader.o] Error 1
In file included from ../src/Networking/Network.cpp:34:
../src/Networking/ESP8266WiFi/WiFiInterface.h:17:10: fatal error: MessageFormats.h: No such file or directory
17 | #include <MessageFormats.h>
| ^~~~~~~~~~~~~~~~~~
compilation terminated.
make[1]: *** [src/Networking/Network.o] Error 1
Finished building: ../src/Networking/LwipEthernet/LwipSocket.cppFinished building: ../src/Networking/LwipEthernet/LwipEthernetInterface.cpp
Finished building: ../src/Networking/FtpResponder.cpp
Finished building: ../src/Networking/HttpResponder.cpp
make: *** [all] Error 2
"make -j9 all" terminated with exit code 2. Build might be incomplete.16:28:26 Build Failed. 10 errors, 0 warnings. (took 4s.214ms)
Any idea on what to try next?
-
@wuem
MessageFormats.h
is part of the WiFiSocketServerRTOS project here: https://github.com/Duet3D/WiFiSocketServerRTOS/tree/main/src/include -
@chrishamm
Thank you.I just double checked MessageFormats.h is existing in WiFiSocketServerRTOS/src/include in the project on Eclipse. My problem is, that when compiling, it seems as if it can not be found.
Where could be my problem?
-
@wuem I suggest you open the compiler settings and check that you have the correct include paths.
-
@dc42
Thank you. That helped somehow. My problem is, that in the workspace, the folder is called WiFiSocketServerRTOS, but in the compiler settings, it is called DuetWiFiSocketServerRTOS. This must have been the reason that it was not able to find it. So, now I added WiFiSocketServerRTOS to the paths. And then this error was solved.I then downloaded everything again from GitHub and now, this problem didn't appear any longer (the path has the right name).
But now, I get the next errors (which I also had before):
../WiFiSocketServerRTOS-main/src/esp8266/HSPI.cpp:23:10: fatal error: esp_attr.h: No such file or directory
23 | #include "esp_attr.h"
| ^~~~~~~~~~~~
compilation terminated.
make[1]: *** [WiFiSocketServerRTOS-main/src/esp8266/HSPI.o] Error 1
make[1]: *** Waiting for unfinished jobs....
Building file: ../WiFiSocketServerRTOS-main/src/esp8266/gpio.c
Invoking: Cross GCC Compiler
arm-none-eabi-gcc -std=gnu99 -D__SAME70Q20B__ -DRTOS -DDUET3_MB6HC -DMQTTC_PAL_FILE="Networking/MQTT/mqtt_pal.h" -Dnoexcept= -I"/Users/zhaw/Documents/Studienarbeiten/PA_BA/BA25/BA_FS_25_wuem_185_HighSpeed/Firmware/Build/RepRapFirmware-3.6-dev/LibTinyusb-master" -I"/Users/zhaw/Documents/Studienarbeiten/PA_BA/BA25/BA_FS_25_wuem_185_HighSpeed/Firmware/Build/RepRapFirmware-3.6-dev/CoreN2G-3.6-dev" -I"/Users/zhaw/Documents/Studienarbeiten/PA_BA/BA25/BA_FS_25_wuem_185_HighSpeed/Firmware/Build/RepRapFirmware-3.6-dev/FreeRTOS-3.5-dev" -I"/Users/zhaw/Documents/Studienarbeiten/PA_BA/BA25/BA_FS_25_wuem_185_HighSpeed/Firmware/Build/RepRapFirmware-3.6-dev/CoreN2G-3.6-dev/src" -I"/Users/zhaw/Documents/Studienarbeiten/PA_BA/BA25/BA_FS_25_wuem_185_HighSpeed/Firmware/Build/RepRapFirmware-3.6-dev/CoreN2G-3.6-dev/src/SAM4S_4E_E70" -I"/Users/zhaw/Documents/Studienarbeiten/PA_BA/BA25/BA_FS_25_wuem_185_HighSpeed/Firmware/Build/RepRapFirmware-3.6-dev/CoreN2G-3.6-dev/src/SAM4S_4E_E70/asf" -I"/Users/zhaw/Documents/Studienarbeiten/PA_BA/BA25/BA_FS_25_wuem_185_HighSpeed/Firmware/Build/RepRapFirmware-3.6-dev/CoreN2G-3.6-dev/src/SAM4S_4E_E70/asf/sam/drivers" -I"/Users/zhaw/Documents/Studienarbeiten/PA_BA/BA25/BA_FS_25_wuem_185_HighSpeed/Firmware/Build/RepRapFirmware-3.6-dev/CoreN2G-3.6-dev/src/SAM4S_4E_E70/asf/sam/utils" -I"/Users/zhaw/Documents/Studienarbeiten/PA_BA/BA25/BA_FS_25_wuem_185_HighSpeed/Firmware/Build/RepRapFirmware-3.6-dev/CoreN2G-3.6-dev/src/SAM4S_4E_E70/asf/common/utils" -I"/Users/zhaw/Documents/Studienarbeiten/PA_BA/BA25/BA_FS_25_wuem_185_HighSpeed/Firmware/Build/RepRapFirmware-3.6-dev/CoreN2G-3.6-dev/src/SAM4S_4E_E70/asf/sam/utils/preprocessor" -I"/Users/zhaw/Documents/Studienarbeiten/PA_BA/BA25/BA_FS_25_wuem_185_HighSpeed/Firmware/Build/RepRapFirmware-3.6-dev/CoreN2G-3.6-dev/src/SAM4S_4E_E70/asf/sam/utils/header_files" -I"/Users/zhaw/Documents/Studienarbeiten/PA_BA/BA25/BA_FS_25_wuem_185_HighSpeed/Firmware/Build/RepRapFirmware-3.6-dev/CoreN2G-3.6-dev/src/SAM4S_4E_E70/asf/sam/utils/cmsis/same70/include" -I"/Users/zhaw/Documents/Studienarbeiten/PA_BA/BA25/BA_FS_25_wuem_185_HighSpeed/Firmware/Build/RepRapFirmware-3.6-dev/CoreN2G-3.6-dev/src/arm/CMSIS/5.4.0/CMSIS/Core/Include" -I"/Users/zhaw/Documents/Studienarbeiten/PA_BA/BA25/BA_FS_25_wuem_185_HighSpeed/Firmware/Build/RepRapFirmware-3.6-dev/CoreN2G-3.6-dev/src/SAM4S_4E_E70/SAME70" -I"/Users/zhaw/Documents/Studienarbeiten/PA_BA/BA25/BA_FS_25_wuem_185_HighSpeed/Firmware/Build/RepRapFirmware-3.6-dev/src" -I"/Users/zhaw/Documents/Studienarbeiten/PA_BA/BA25/BA_FS_25_wuem_185_HighSpeed/Firmware/Build/RepRapFirmware-3.6-dev/src/Networking/LwipEthernet/Lwip" -I"/Users/zhaw/Documents/Studienarbeiten/PA_BA/BA25/BA_FS_25_wuem_185_HighSpeed/Firmware/Build/RepRapFirmware-3.6-dev/src/Networking/LwipEthernet/Lwip/src/include" -I"/Users/zhaw/Documents/Studienarbeiten/PA_BA/BA25/BA_FS_25_wuem_185_HighSpeed/Firmware/Build/RepRapFirmware-3.6-dev/src/Networking/MQTT/MQTT_C/include" -I"/Users/zhaw/Documents/Studienarbeiten/PA_BA/BA25/BA_FS_25_wuem_185_HighSpeed/Firmware/Build/RepRapFirmware-3.6-dev/RRFLibraries-3.5-dev/src" -O2 -Wall -c -mcpu=cortex-m7 -mthumb -fno-math-errno -mfpu=fpv5-d16 -mfloat-abi=hard -mfp16-format=ieee -mno-unaligned-access -ffunction-sections -fdata-sections -nostdlib -Wundef -Wdouble-promotion -Werror=return-type -Werror=implicit -fsingle-precision-constant "-Wa,-ahl=gpio.s" -MMD -MP -MF"WiFiSocketServerRTOS-main/src/esp8266/gpio.d" -MT"WiFiSocketServerRTOS-main/src/esp8266/gpio.o" -o "WiFiSocketServerRTOS-main/src/esp8266/gpio.o" "../WiFiSocketServerRTOS-main/src/esp8266/gpio.c"
Finished building: ../src/CAN/CanMotion.cpp../WiFiSocketServerRTOS-main/src/esp8266/gpio.c:3:10: fatal error: driver/gpio.h: No such file or directory
3 | #include "driver/gpio.h"
| ^~~~~~~~~~~~~~~
compilation terminated.
make[1]: *** [WiFiSocketServerRTOS-main/src/esp8266/gpio.o] Error 1And here I don't find the path to add... So what to do?
-
@wuem as stated in the build instructions, you don't need to build the WiFiSocketServerRtos project.
-
@dc42
Ok. That helped. Now I am moving forward. Compiling for Duet2 now works. When I want to complie for Duet3_MB6HC with the required board configurations, I get for the CoreN2G the following errors:
So, there seems something else missing. How to fix this?
-
@wuem check that you have the correct include folders again in the C++ compile settings. Unless you have changed the .cproject file, they should all be correct.
-
@dc42 I checked the settings and they are the same as you show in your settings:
But what I realised is that I don't have a LibTinyusb/src/tinyusb/src folder (only LibTinyusb/src/tinyusb):
Could this be the problem?
-
@wuem see this post earlier in this thread https://forum.duet3d.com/post/355672.
Git submodules are a pain, but sometimes when using third-party code we are forced to use them.
-
@dc42
Thank you. Now it finally worked...