Duet3D Logo Duet3D
    • Tags
    • Documentation
    • Order
    • Register
    • Login

    Problem to compile RepRap Ver 1.18.1 firmware

    Scheduled Pinned Locked Moved
    Firmware installation
    4
    13
    2.1k
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • Electraundefined
      Electra
      last edited by

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

      1 Reply Last reply Reply Quote 0
      • dc42undefined
        dc42 administrators
        last edited by

        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.

        Duet WiFi hardware designer and firmware engineer
        Please do not ask me for Duet support via PM or email, use the forum
        http://www.escher3d.com, https://miscsolutions.wordpress.com

        1 Reply Last reply Reply Quote 0
        • Electraundefined
          Electra
          last edited by

          When I download the ZIP-file from "Master" branch (instead of "Dev") at Github, it works to compile without any errors 🙂

          Thanks dc42

          1 Reply Last reply Reply Quote 0
          • dc42undefined
            dc42 administrators
            last edited by

            Check which version it is - I can't remember whether I updated the master branch at version 1.18 or 1.18.1.

            Duet WiFi hardware designer and firmware engineer
            Please do not ask me for Duet support via PM or email, use the forum
            http://www.escher3d.com, https://miscsolutions.wordpress.com

            1 Reply Last reply Reply Quote 0
            • Kulitorumundefined
              Kulitorum
              last edited by

              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

              1 Reply Last reply Reply Quote 0
              • dc42undefined
                dc42 administrators
                last edited by

                You need to add project DuetWiFiSocketServer to your Eclipse workspace to get that file.

                Duet WiFi hardware designer and firmware engineer
                Please do not ask me for Duet support via PM or email, use the forum
                http://www.escher3d.com, https://miscsolutions.wordpress.com

                1 Reply Last reply Reply Quote 0
                • Kulitorumundefined
                  Kulitorum
                  last edited by

                  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)

                  1 Reply Last reply Reply Quote 0
                  • larsundefined
                    lars
                    last edited by

                    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.

                    1 Reply Last reply Reply Quote 0
                    • dc42undefined
                      dc42 administrators
                      last edited by

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

                      Duet WiFi hardware designer and firmware engineer
                      Please do not ask me for Duet support via PM or email, use the forum
                      http://www.escher3d.com, https://miscsolutions.wordpress.com

                      1 Reply Last reply Reply Quote 0
                      • larsundefined
                        lars
                        last edited by

                        @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…

                        1 Reply Last reply Reply Quote 0
                        • Kulitorumundefined
                          Kulitorum
                          last edited by

                          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

                          1 Reply Last reply Reply Quote 0
                          • dc42undefined
                            dc42 administrators
                            last edited by

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

                            Duet WiFi hardware designer and firmware engineer
                            Please do not ask me for Duet support via PM or email, use the forum
                            http://www.escher3d.com, https://miscsolutions.wordpress.com

                            1 Reply Last reply Reply Quote 0
                            • dc42undefined
                              dc42 administrators
                              last edited by

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

                              Duet WiFi hardware designer and firmware engineer
                              Please do not ask me for Duet support via PM or email, use the forum
                              http://www.escher3d.com, https://miscsolutions.wordpress.com

                              1 Reply Last reply Reply Quote 0
                              • First post
                                Last post
                              Unless otherwise noted, all forum content is licensed under CC-BY-SA