Problem to compile RepRap Ver 1.18.1 firmware
-
I don't know if there are any better place or forum for this question.
I have problem to compile the source code for RepRap firmware Ver 1.18.1 from Github.To compile the CoreNG works without any problems, but when I compile the RepRap firmware I got errors
The compiler doesn't found the MessageFormats.h (on row 14 on to file Networks.h) file and I can't found this file on any directory.Eclipse's "Building project" error code:
C:\Eclipse\Firmware\RepRapFirmware\src\DuetNG\DuetWiFi/Network.h:14:28: fatal error: MessageFormats.h: No such file or directory
#include "MessageFormats.h"Installed software
- Windows 10 64 bit (with the latest update)
- Eclipse Neon.3
- Arduino 1.8.2 with SAM Boards Ver 1.6.11
- Reprap firmware ver 1.18.1 and CoreNG firmware Ver 1.18
Eclipse are installed at C:\Eclipse\…
Eclipse Workspace are set to C:\Eclipse\Firmware
I change the path in both Eclipse project (CoreNG & RepRapFirmware) for the compiler to directoryEclipse/"Project"/"Properties"/"C/C++ Built"/"Settings"/"Tools settings"/"Crosss Settings"/"Path"
New path : C:\Users"Users"\AppData\Local\Arduino15\Package\arduino\tools\arm-none-eabi-gcc\4.8.3-2014q1\binArduino is installed at default directory C:\Program (x86)\Arduino...
Reprap and CoreNG files are in to directory
C:\Eclipse\Firmware\RepRapFirmware...CoreNG files are at directory
C:\Eclipse\Firmware\CoreNG... -
You are trying to compile development code that is later than version 1.18.1. I suggest you go to https://github.com/dc42/RepRapFirmware/releases and download the sources to 1.18.1 as a zip.
-
When I download the ZIP-file from "Master" branch (instead of "Dev") at Github, it works to compile without any errors
Thanks dc42
-
Check which version it is - I can't remember whether I updated the master branch at version 1.18 or 1.18.1.
-
I just downloaded the dev branch (to try and fix the tool z-offset not used bug) and I am missing a file, MessageFormats.h
Can you please add it to github?
Thanks.
Kulitorum
-
You need to add project DuetWiFiSocketServer to your Eclipse workspace to get that file.
-
And to compile DuetWifiSocketServer I need what tools?
16:40:13 **** Incremental Build of configuration Release for project DuetWiFiSocketServer ****
make all
'Building file: ../src/Connection.cpp'
'Invoking: Cross G++ Compiler'
xtensa-lx106-elf-g++ -std=gnu++11 -D__ets__ -DICACHE_FLASH -DF_CPU=80000000L -DESP8266 -DARDUINO_ARCH_ESP8266 -DARDUINO_ESP8266_ESP12 -DARDUINO=10606 -Os -Wall -c -g -mlongcalls -mtext-section-literals -fno-exceptions -fno-rtti -falign-functions=4 -ffunction-sections -fdata-sections -MMD -MP -MF"src/Connection.d" -MT"src/Connection.o" -o "src/Connection.o" "../src/Connection.cpp"
'xtensa-lx106-elf-g++' is not recognized as an internal or external command,
operable program or batch file.
make: *** [src/Connection.o] Error 116:40:13 Build Finished (took 592ms)
-
Maybe an update of https://github.com/dc42/RepRapFirmware/blob/dev/BuildInstructions.md is in order…
@Kulitorum: As a workaround you can copy MessageFormats.h to RepRapFirmware/src and you should be able to build the project. -
You don't need to compile DuetWiFiSocketServer if you only want to change the main firmware.
-
You don't need to compile DuetWiFiSocketServer if you only want to change the main firmware.
Isnt't BuildInstructions.md outdated? Following the instructions I could not build RepRapFirmware…
-
Rmpfh….
Still does not compile, and I have no idea what _sbrk is:
22:45:17 **** Incremental Build of configuration DuetWiFi for project RepRapFirmware ****
make all
'Building target: DuetWiFiFirmware.elf'
'Invoking: Cross G++ Linker'
arm-none-eabi-gcc -L"C:\Eclipse\ReprapFirmware\CoreNG\SAM3X8E" -Os -Wl,--gc-sections -Wl,--fatal-warnings -mcpu=cortex-m4 -TC:\Eclipse\ReprapFirmware\CoreNG\variants\duetNG\linker_scripts\gcc\flash.ld -Wl,-Map,C:\Eclipse\ReprapFirmware\RepRapFirmware\RepRapFirmware-dev\DuetWiFi/DuetWiFiFirmware.map -o "DuetWiFiFirmware.elf" -mthumb -Wl,--cref -Wl,--check-sections -Wl,--gc-sections -Wl,--entry=Reset_Handler -Wl,--unresolved-symbols=report-all -Wl,--warn-common -Wl,--warn-section-align -Wl,--warn-unresolved-symbols -Wl,--start-group ./src/Storage/FileStore.o ./src/Storage/MassStorage.o ./src/Movement/Kinematics/CartesianKinematics.o ./src/Movement/Kinematics/CoreBaseKinematics.o ./src/Movement/Kinematics/CoreXYKinematics.o ./src/Movement/Kinematics/CoreXZKinematics.o ./src/Movement/Kinematics/Kinematics.o ./src/Movement/Kinematics/LinearDeltaKinematics.o ./src/Movement/Kinematics/ScaraKinematics.o ./src/Movement/BedProbing/Grid.o ./src/Movement/BedProbing/RandomProbePointSet.o ./src/Movement/DDA.o ./src/Movement/DriveMovement.o ./src/Movement/Move.o ./src/Libraries/sha1/sha1.o ./src/Libraries/Math/Isqrt.o ./src/Libraries/General/StringRef.o ./src/Libraries/Fatfs/ccsbcs.o ./src/Libraries/Fatfs/diskio.o ./src/Libraries/Fatfs/fattime_rtc.o ./src/Libraries/Fatfs/ff.o ./src/Heating/Sensors/CpuTemperatureSensor.o ./src/Heating/Sensors/CurrentLoopTemperatureSensor.o ./src/Heating/Sensors/RtdSensor31865.o ./src/Heating/Sensors/SpiTemperatureSensor.o ./src/Heating/Sensors/TemperatureSensor.o ./src/Heating/Sensors/Thermistor.o ./src/Heating/Sensors/ThermocoupleSensor31855.o ./src/Heating/Sensors/TmcDriverTemperatureSensor.o ./src/Heating/FOPDT.o ./src/Heating/Heat.o ./src/Heating/Pid.o ./src/Heating/TemperatureError.o ./src/GCodes/GCodeBuffer.o ./src/GCodes/GCodeInput.o ./src/GCodes/GCodeMachineState.o ./src/GCodes/GCodeQueue.o ./src/GCodes/GCodes.o ./src/GCodes/GCodes2.o ./src/DuetNG/DuetWiFi/Network.o ./src/DuetNG/DuetWiFi/Socket.o ./src/DuetNG/DuetWiFi/WifiFirmwareUploader.o ./src/DuetNG/DueXn.o ./src/DuetNG/FirmwareUpdater.o ./src/DuetNG/FtpResponder.o ./src/DuetNG/HttpResponder.o ./src/DuetNG/NetworkBuffer.o ./src/DuetNG/NetworkResponder.o ./src/DuetNG/SX1509.o ./src/DuetNG/TMC2660.o ./src/DuetNG/TelnetResponder.o ./src/Fan.o ./src/OutputMemory.o ./src/Platform.o ./src/PrintMonitor.o ./src/RepRap.o ./src/RepRapFirmware.o ./src/Roland.o ./src/Scanner.o ./src/Tool.o -lCoreNG -Wl,--end-group -lm -gcc
./src/Platform.o: In functionPlatform::SoftwareReset(unsigned short, unsigned long const*)': Platform.cpp:(.text._ZN8Platform13SoftwareResetEtPKm+0x2a): warning: undefined reference to
flash_read_user_signature'
Platform.cpp:(.text._ZN8Platform13SoftwareResetEtPKm+0x32): warning: undefined reference toflash_erase_user_signature' Platform.cpp:(.text._ZN8Platform13SoftwareResetEtPKm+0x90): warning: undefined reference to
flash_write_user_signature'
./src/Platform.o: In functionPlatform::UpdateFirmware()': Platform.cpp:(.text._ZN8Platform14UpdateFirmwareEv+0x36): warning: undefined reference to
flash_erase_sector'
./src/Platform.o: In functionPlatform::Diagnostics(MessageType)': Platform.cpp:(.text._ZN8Platform11DiagnosticsE11MessageType+0x16a): warning: undefined reference to
flash_read_user_signature'
c:/arduino-1.5.8/hardware/tools/gcc-arm-none-eabi-4.8.3-2014q1/bin/../lib/gcc/arm-none-eabi/4.8.3/../../../../arm-none-eabi/lib/armv7e-m\libg.a(lib_a-sbrkr.o): In function_sbrk_r': sbrkr.c:(.text._sbrk_r+0xc): warning: undefined reference to
_sbrk'
collect2.exe: error: ld returned 1 exit status
make: *** [DuetWiFiFirmware.elf] Error 1 -
You don't need to compile DuetWiFiSocketServer if you only want to change the main firmware.
Isnt't BuildInstructions.md outdated? Following the instructions I could not build RepRapFirmware…
I have updated BuildInstructions.md.
-
Rmpfh….
Still does not compile, and I have no idea what _sbrk is:
22:45:17 **** Incremental Build of configuration DuetWiFi for project RepRapFirmware ****
make all
'Building target: DuetWiFiFirmware.elf'
'Invoking: Cross G++ Linker'
arm-none-eabi-gcc -L"C:\Eclipse\ReprapFirmware\CoreNG\SAM3X8E" -Os -Wl,--gc-sections -Wl,--fatal-warnings -mcpu=cortex-m4 ...Your library path is wrong. For the Duet WiFi build of RRF, you should be using the SAM4E build of CoreNG, not the SAM3X8E one.