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 directory

    Eclipse/"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\bin

    Arduino 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...


  • administrators

    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


  • administrators

    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


  • administrators

    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 1

    16: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.


  • administrators

    You don't need to compile DuetWiFiSocketServer if you only want to change the main firmware.



  • @dc42:

    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 function Platform::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 to flash_erase_user_signature' Platform.cpp:(.text._ZN8Platform13SoftwareResetEtPKm+0x90): warning: undefined reference to flash_write_user_signature'
    ./src/Platform.o: In function Platform::UpdateFirmware()': Platform.cpp:(.text._ZN8Platform14UpdateFirmwareEv+0x36): warning: undefined reference to flash_erase_sector'
    ./src/Platform.o: In function Platform::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


  • administrators

    @lars:

    @dc42:

    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.


  • administrators

    @Kulitorum:

    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.


Log in to reply