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

    Failed to compile RF3.4

    Scheduled Pinned Locked Moved
    Firmware installation
    5
    21
    1.0k
    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.
    • Kmarkstteundefined
      Kmarkstte
      last edited by

      31ee4051-bb41-4669-86fd-e8f58a34556b-1656995603(1).png
      e407f497-f4e5-48f6-94c8-abb5033d41bc-1656995721(1).png
      I followed the steps of https://github.com/Duet3D/RepRapFirmware/wiki/Building-RepRapFirmwareto build the project,compilation ended up with an error; The version of the cross-compilation tool GNU Arm Embedded Toolchain is 10.3.1
      Is there anything else I need to change?

      JoergS5undefined 1 Reply Last reply Reply Quote 0
      • JoergS5undefined
        JoergS5 @Kmarkstte
        last edited by JoergS5

        @kmarkstte after download and unzip the projects, they need to be renamed to folder names without version and branch, so e.g.
        RepRapFirmware 3.4-dev
        should be renamed to folder name
        RepRapFirmware

        This renaming for all projects. Then they find each other. This will probably fix your problem.

        Another possible problem is that the projects may have different development releases inside 3.4-dev (not finding pow can be such an inconsistency). Make sure to download the same tag release of the projects, so they match. The most secure is to use the final 3.4.0 release.

        Kmarkstteundefined 1 Reply Last reply Reply Quote 0
        • Kmarkstteundefined
          Kmarkstte @JoergS5
          last edited by

          @joergs5 thank you for your reply. The name of the folder was already RepRapFirmware.
          e67924bf-9812-4f77-8397-3f42c05b834d-image.png
          99e0bbe0-ea9c-4444-8c9c-fd696f449d2a-image.png
          I switched the project to 3.4.0, the compilation is still the same error.

          Are some related library files missing?
          For example the referenced math library

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

            @kmarkstte please cut and past the entire linker command line and error messages into a post.

            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

            Kmarkstteundefined 1 Reply Last reply Reply Quote 0
            • Kmarkstteundefined
              Kmarkstte @dc42
              last edited by

              @dc42 ok
              19:06:07 **** Incremental Build of configuration Duet3_MB6HC for project RepRapFirmware ****
              make -j12 all
              Building target: Duet3Firmware_MB6HC.elf
              Invoking: Cross G++ Linker
              arm-none-eabi-gcc -L"D:\ZQY\YIZHI\Eclipse\Firmware\CoreN2G\SAME70_CAN_SDHC_USB_RTOS" -L"D:\ZQY\YIZHI\Eclipse\Firmware\RRFLibraries\SAME70_RTOS" -L"D:\ZQY\YIZHI\Eclipse\Firmware\FreeRTOS\SAME70" -L"D:\ZQY\YIZHI\Eclipse\Firmware\CANlib\SAME70_RTOS" --specs=nosys.specs -Os -Wl,--gc-sections -Wl,--fatal-warnings -mcpu=cortex-m7 -mfpu=fpv5-d16 -mfloat-abi=hard -T"D:\ZQY\YIZHI\Eclipse\Firmware\RepRapFirmware\src\Hardware\SAME70\same70q20b_flash.ld" -Wl,-Map,"D:\ZQY\YIZHI\Eclipse\Firmware\RepRapFirmware\Duet3_MB6HC/Duet3Firmware_MB6HC.map" -o "Duet3Firmware_MB6HC.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/libcpp/eh_alloc.o ./src/libcpp/vterminate.o ./src/libc/memcmp.o ./src/libc/memcpy.o ./src/libc/memmove.o ./src/libc/memset.o ./src/libc/nano-mallocr.o ./src/libc/strptime.o ./src/bossa/Applet.o ./src/bossa/BossaFlash.o ./src/bossa/Device.o ./src/bossa/EefcFlash.o ./src/bossa/Flasher.o ./src/bossa/Samba.o ./src/bossa/WordCopyApplet.o ./src/bossa/WordCopyArm.o ./src/Tools/Filament.o ./src/Tools/Spindle.o ./src/Tools/Tool.o ./src/Storage/CRC16.o ./src/Storage/CRC32.o ./src/Storage/EmbeddedFiles.o ./src/Storage/FileInfoParser.o ./src/Storage/FileStore.o ./src/Storage/MassStorage.o ./src/SBC/DataTransfer.o ./src/SBC/SbcInterface.o ./src/PrintMonitor/PrintMonitor.o ./src/Platform/Event.o ./src/Platform/Heap.o ./src/Platform/Logger.o ./src/Platform/OutputMemory.o ./src/Platform/Platform.o ./src/Platform/PortControl.o ./src/Platform/RepRap.o ./src/Platform/Roland.o ./src/Platform/Scanner.o ./src/Platform/Tasks.o ./src/Platform/UniqueId.o ./src/ObjectModel/GlobalVariables.o ./src/ObjectModel/ObjectModel.o ./src/ObjectModel/Variable.o ./src/Networking/LwipEthernet/Lwip/src/netif/bridgeif.o ./src/Networking/LwipEthernet/Lwip/src/netif/bridgeif_fdb.o ./src/Networking/LwipEthernet/Lwip/src/netif/ethernet.o ./src/Networking/LwipEthernet/Lwip/src/netif/lowpan6.o ./src/Networking/LwipEthernet/Lwip/src/netif/lowpan6_ble.o ./src/Networking/LwipEthernet/Lwip/src/netif/lowpan6_common.o ./src/Networking/LwipEthernet/Lwip/src/netif/slipif.o ./src/Networking/LwipEthernet/Lwip/src/netif/zepif.o ./src/Networking/LwipEthernet/Lwip/src/core/ipv6/dhcp6.o ./src/Networking/LwipEthernet/Lwip/src/core/ipv6/ethip6.o ./src/Networking/LwipEthernet/Lwip/src/core/ipv6/icmp6.o ./src/Networking/LwipEthernet/Lwip/src/core/ipv6/inet6.o ./src/Networking/LwipEthernet/Lwip/src/core/ipv6/ip6.o ./src/Networking/LwipEthernet/Lwip/src/core/ipv6/ip6_addr.o ./src/Networking/LwipEthernet/Lwip/src/core/ipv6/ip6_frag.o ./src/Networking/LwipEthernet/Lwip/src/core/ipv6/mld6.o ./src/Networking/LwipEthernet/Lwip/src/core/ipv6/nd6.o ./src/Networking/LwipEthernet/Lwip/src/core/ipv4/autoip.o ./src/Networking/LwipEthernet/Lwip/src/core/ipv4/dhcp.o ./src/Networking/LwipEthernet/Lwip/src/core/ipv4/etharp.o ./src/Networking/LwipEthernet/Lwip/src/core/ipv4/icmp.o ./src/Networking/LwipEthernet/Lwip/src/core/ipv4/igmp.o ./src/Networking/LwipEthernet/Lwip/src/core/ipv4/ip4.o ./src/Networking/LwipEthernet/Lwip/src/core/ipv4/ip4_addr.o ./src/Networking/LwipEthernet/Lwip/src/core/ipv4/ip4_frag.o ./src/Networking/LwipEthernet/Lwip/src/core/altcp.o ./src/Networking/LwipEthernet/Lwip/src/core/altcp_alloc.o ./src/Networking/LwipEthernet/Lwip/src/core/altcp_tcp.o ./src/Networking/LwipEthernet/Lwip/src/core/def.o ./src/Networking/LwipEthernet/Lwip/src/core/dns.o ./src/Networking/LwipEthernet/Lwip/src/core/inet_chksum.o ./src/Networking/LwipEthernet/Lwip/src/core/init.o ./src/Networking/LwipEthernet/Lwip/src/core/ip.o ./src/Networking/LwipEthernet/Lwip/src/core/mem.o ./src/Networking/LwipEthernet/Lwip/src/core/memp.o ./src/Networking/LwipEthernet/Lwip/src/core/netif.o ./src/Networking/LwipEthernet/Lwip/src/core/pbuf.o ./src/Networking/LwipEthernet/Lwip/src/core/raw.o ./src/Networking/LwipEthernet/Lwip/src/core/stats.o ./src/Networking/LwipEthernet/Lwip/src/core/sys.o ./src/Networking/LwipEthernet/Lwip/src/core/tcp.o ./src/Networking/LwipEthernet/Lwip/src/core/tcp_in.o ./src/Networking/LwipEthernet/Lwip/src/core/tcp_out.o ./src/Networking/LwipEthernet/Lwip/src/core/timeouts.o ./src/Networking/LwipEthernet/Lwip/src/core/udp.o ./src/Networking/LwipEthernet/Lwip/src/apps/netbiosns/netbiosns.o ./src/Networking/LwipEthernet/Lwip/src/apps/mdns/mdns.o ./src/Networking/LwipEthernet/Lwip/src/api/api_lib.o ./src/Networking/LwipEthernet/Lwip/src/api/api_msg.o ./src/Networking/LwipEthernet/Lwip/src/api/err.o ./src/Networking/LwipEthernet/Lwip/src/api/if_api.o ./src/Networking/LwipEthernet/Lwip/src/api/netbuf.o ./src/Networking/LwipEthernet/Lwip/src/api/netdb.o ./src/Networking/LwipEthernet/Lwip/src/api/netifapi.o ./src/Networking/LwipEthernet/Lwip/src/api/sockets.o ./src/Networking/LwipEthernet/Lwip/src/api/tcpip.o ./src/Networking/LwipEthernet/GMAC/ethernet_sam.o ./src/Networking/LwipEthernet/LwipEthernetInterface.o ./src/Networking/LwipEthernet/LwipSocket.o ./src/Networking/FtpResponder.o ./src/Networking/HttpResponder.o ./src/Networking/Network.o ./src/Networking/NetworkBuffer.o ./src/Networking/NetworkInterface.o ./src/Networking/NetworkResponder.o ./src/Networking/TelnetResponder.o ./src/Networking/UploadingNetworkResponder.o ./src/Movement/StepperDrivers/DriverMode.o ./src/Movement/StepperDrivers/TMC22xx.o ./src/Movement/StepperDrivers/TMC2660.o ./src/Movement/StepperDrivers/TMC51xx.o ./src/Movement/Kinematics/CoreKinematics.o ./src/Movement/Kinematics/FiveBarScaraKinematics.o ./src/Movement/Kinematics/HangprinterKinematics.o ./src/Movement/Kinematics/Kinematics.o ./src/Movement/Kinematics/LinearDeltaKinematics.o ./src/Movement/Kinematics/PolarKinematics.o ./src/Movement/Kinematics/RotaryDeltaKinematics.o ./src/Movement/Kinematics/RoundBedKinematics.o ./src/Movement/Kinematics/ScaraKinematics.o ./src/Movement/Kinematics/ZLeadscrewKinematics.o ./src/Movement/HeightControl/HeightController.o ./src/Movement/BedProbing/Grid.o ./src/Movement/BedProbing/RandomProbePointSet.o ./src/Movement/AxisShaper.o ./src/Movement/DDA.o ./src/Movement/DDARing.o ./src/Movement/DriveMovement.o ./src/Movement/ExtruderShaper.o ./src/Movement/Move.o ./src/Movement/MoveSegment.o ./src/Movement/RawMove.o ./src/Movement/StepTimer.o ./src/Libraries/sha1/sha1.o ./src/Libraries/sd_mmc/ctrl_access.o ./src/Libraries/sd_mmc/sd_mmc.o ./src/Libraries/sd_mmc/sd_mmc_mem.o ./src/Libraries/sd_mmc/sd_mmc_spi.o ./src/Libraries/Fatfs/diskio.o ./src/Libraries/Fatfs/fattime_rtc.o ./src/Libraries/Fatfs/ff.o ./src/Libraries/Fatfs/ffunicode.o ./src/InputMonitors/InputMonitor.o ./src/Heating/Sensors/AdditionalOutputSensor.o ./src/Heating/Sensors/CpuTemperatureSensor.o ./src/Heating/Sensors/CurrentLoopTemperatureSensor.o ./src/Heating/Sensors/DhtSensor.o ./src/Heating/Sensors/LinearAnalogSensor.o ./src/Heating/Sensors/RemoteSensor.o ./src/Heating/Sensors/RtdSensor31865.o ./src/Heating/Sensors/SensorWithPort.o ./src/Heating/Sensors/SpiTemperatureSensor.o ./src/Heating/Sensors/TemperatureSensor.o ./src/Heating/Sensors/Thermistor.o ./src/Heating/Sensors/ThermocoupleSensor31855.o ./src/Heating/Sensors/ThermocoupleSensor31856.o ./src/Heating/Sensors/TmcDriverTemperatureSensor.o ./src/Heating/FOPDT.o ./src/Heating/Heat.o ./src/Heating/Heater.o ./src/Heating/HeaterMonitor.o ./src/Heating/LocalHeater.o ./src/Heating/RemoteHeater.o ./src/Heating/TemperatureError.o ./src/Hardware/SharedSpi/SharedSpiClient.o ./src/Hardware/SharedSpi/SharedSpiDevice.o ./src/Hardware/SAME70/Ethernet/ksz8081rna/ethernet_phy.o ./src/Hardware/SAME70/Ethernet/GmacInterface.o ./src/Hardware/SAME70/Devices.o ./src/Hardware/SAME70/Main.o ./src/Hardware/ExceptionHandlers.o ./src/Hardware/I2C.o ./src/Hardware/IoPorts.o ./src/Hardware/NonVolatileMemory.o ./src/Hardware/SoftwareReset.o ./src/GPIO/GpInPort.o ./src/GPIO/GpOutPort.o ./src/GCodes/GCodeBuffer/BinaryParser.o ./src/GCodes/GCodeBuffer/ExpressionParser.o ./src/GCodes/GCodeBuffer/GCodeBuffer.o ./src/GCodes/GCodeBuffer/StringParser.o ./src/GCodes/GCodeException.o ./src/GCodes/GCodeFileInfo.o ./src/GCodes/GCodeInput.o ./src/GCodes/GCodeMachineState.o ./src/GCodes/GCodeQueue.o ./src/GCodes/GCodes.o ./src/GCodes/GCodes2.o ./src/GCodes/GCodes3.o ./src/GCodes/GCodes4.o ./src/GCodes/ObjectTracker.o ./src/GCodes/RestorePoint.o ./src/GCodes/StraightProbeSettings.o ./src/GCodes/Trigger.o ./src/FilamentMonitors/Duet3DFilamentMonitor.o ./src/FilamentMonitors/FilamentMonitor.o ./src/FilamentMonitors/LaserFilamentMonitor.o ./src/FilamentMonitors/PulsedFilamentMonitor.o ./src/FilamentMonitors/RotatingMagnetFilamentMonitor.o ./src/FilamentMonitors/SimpleFilamentMonitor.o ./src/Fans/Fan.o ./src/Fans/FansManager.o ./src/Fans/LedStripDriver.o ./src/Fans/LocalFan.o ./src/Fans/RemoteFan.o ./src/Endstops/Endstop.o ./src/Endstops/EndstopsManager.o ./src/Endstops/LocalZProbe.o ./src/Endstops/RemoteZProbe.o ./src/Endstops/StallDetectionEndstop.o ./src/Endstops/SwitchEndstop.o ./src/Endstops/ZProbe.o ./src/Endstops/ZProbeEndstop.o ./src/Config/Pins.o ./src/Comms/AuxDevice.o ./src/Comms/FirmwareUpdater.o ./src/Comms/PanelDueUpdater.o ./src/ClosedLoop/ClosedLoop.o ./src/CAN/CanDriversData.o ./src/CAN/CanInterface.o ./src/CAN/CanMessageGenericConstructor.o ./src/CAN/CanMotion.o ./src/CAN/CommandProcessor.o ./src/CAN/ExpansionManager.o ./src/Accelerometers/Accelerometers.o ./src/Accelerometers/LIS3DH.o ./src/RepRapFirmware.o -Wl,--end-group -lm -lCoreN2G -lRRFLibraries -lFreeRTOS -lCANlib -lsupc++
              d:/program files (x86)/gnu arm embedded toolchain/10 2021.10/bin/../lib/gcc/arm-none-eabi/10.3.1/../../../../arm-none-eabi/bin/ld.exe: D:\ZQY\YIZHI\Eclipse\Firmware\RRFLibraries\SAME70_RTOS\libRRFLibraries.a(NumericConverter.o): in function NumericConverter::GetFloat() const': NumericConverter.cpp:(.text._ZNK16NumericConverter8GetFloatEv+0x80): warning: undefined reference to pow'
              d:/program files (x86)/gnu arm embedded toolchain/10 2021.10/bin/../lib/gcc/arm-none-eabi/10.3.1/../../../../arm-none-eabi/bin/ld.exe: D:\ZQY\YIZHI\Eclipse\Firmware\RRFLibraries\SAME70_RTOS\libRRFLibraries.a(SafeVsnprintf.o): in function FormattedPrinter::PrintFloat(double, char)': SafeVsnprintf.cpp:(.text._ZN16FormattedPrinter10PrintFloatEdc+0x9a): warning: undefined reference to llrint'
              d:/program files (x86)/gnu arm embedded toolchain/10 2021.10/bin/../lib/gcc/arm-none-eabi/10.3.1/../../../../arm-none-eabi/bin/ld.exe: SafeVsnprintf.cpp:(.text._ZN16FormattedPrinter10PrintFloatEdc+0x1ee): warning: undefined reference to llrint' d:/program files (x86)/gnu arm embedded toolchain/10 2021.10/bin/../lib/gcc/arm-none-eabi/10.3.1/../../../../arm-none-eabi/bin/ld.exe: SafeVsnprintf.cpp:(.text._ZN16FormattedPrinter10PrintFloatEdc+0x2c8): warning: undefined reference to llrint'
              collect2.exe: error: ld returned 1 exit status
              makefile:109: recipe for target 'Duet3Firmware_MB6HC.elf' failed
              make[1]: *** [Duet3Firmware_MB6HC.elf] Error 1
              makefile:96: recipe for target 'all' failed
              make: *** [all] Error 2
              "make -j12 all" terminated with exit code 2. Build might be incomplete.

              19:06:10 Build Failed. 6 errors, 4 warnings. (took 3s.72ms)

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

                @kmarkstte thanks. I don't see anything wrong with that linker commend, it is the same as on my build machine except for the paths.

                The problem might be that you are compiling RRFLibraries with the wrong floating point options. Please check that you are using the correct compiler options, by looking at the compiler command line when one of the files in that project is compiled in the SAME70_RTOS configuration. This is the command line that I see when file NumericConverter.cpp is compiled:

                arm-none-eabi-g++ -std=gnu++17 -D__SAME70Q21__ -DRTOS -I"C:\Eclipse\Firmware\FreeRTOS\src\include" -I"C:\Eclipse\Firmware\FreeRTOS\src\portable\GCC\ARM_CM7\r0p1" -O2 -Wall -c -mcpu=cortex-m7 -mthumb -mfpu=fpv5-d16 -mfloat-abi=hard -mfp16-format=ieee -mno-unaligned-access -ffunction-sections -fdata-sections -fno-threadsafe-statics -fno-rtti -fno-exceptions -nostdlib -Wundef -Wdouble-promotion -fsingle-precision-constant "-Wa,-ahl=NumericConverter.s" -MMD -MP -MF"src/General/NumericConverter.d" -MT"src/General/NumericConverter.o" -o "src/General/NumericConverter.o" "../src/General/NumericConverter.cpp"

                The options

                -mfpu=fpv5-d16 -mfloat-abi=hard
                

                match the ones in your linker command line.

                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

                Kmarkstteundefined 1 Reply Last reply Reply Quote 0
                • Kmarkstteundefined
                  Kmarkstte @dc42
                  last edited by

                  @dc42
                  Thank you very much for your reply。
                  I checked the compiled output of RRFLibraries and our compiled configuration is the same.
                  arm-none-eabi-g++ -std=gnu++17 -D__SAME70Q21__ -DRTOS -I"D:\ZQY\YIZHI\Eclipse\Firmware\FreeRTOS\src\include" -I"D:\ZQY\YIZHI\Eclipse\Firmware\FreeRTOS\src\portable\GCC\ARM_CM7\r0p1" -O2 -Wall -c -mcpu=cortex-m7 -mthumb -mfpu=fpv5-d16 -mfloat-abi=hard -mfp16-format=ieee -mno-unaligned-access -ffunction-sections -fdata-sections -fno-threadsafe-statics -fno-rtti -fno-exceptions -nostdlib -Wundef -Wdouble-promotion -fsingle-precision-constant "-Wa,-ahl=StringFunctions.s" -MMD -MP -MF"src/General/StringFunctions.d" -MT"src/General/StringFunctions.o" -o "src/General/StringFunctions.o" "../src/General/StringFunctions.cpp"

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

                    @kmarkstte this is where the linker finds those functions on my system:

                    c:/program files (x86)/gnu arm embedded toolchain/10 2021.10/bin/../lib/gcc/arm-none-eabi/10.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard\libm.a(lib_a-pow.o)
                    c:/program files (x86)/gnu arm embedded toolchain/10 2021.10/bin/../lib/gcc/arm-none-eabi/10.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard\libm.a(lib_a-s_llrint.o)

                    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
                    • Giulianoundefined Giuliano referenced this topic
                    • Giulianoundefined
                      Giuliano
                      last edited by

                      @Kmarkstte : I have exactly the issue, did you find a solution?
                      @dc42 : I don't see any libm.a under "C:\Program Files (x86)\GNU Arm Embedded Toolchain\10 2021.10\lib\gcc\arm-none-eabi\10.3.1\thumb\v7e-m+dp\hard"

                      Capture.JPG

                      Thanks
                      Giuliano

                      JoergS5undefined dc42undefined 2 Replies Last reply Reply Quote 0
                      • JoergS5undefined
                        JoergS5 @Giuliano
                        last edited by

                        This post is deleted!
                        1 Reply Last reply Reply Quote 0
                        • dc42undefined
                          dc42 administrators @Giuliano
                          last edited by dc42

                          @giuliano you are looking at the wrong location because you haven't taken account of some occurrences of ..\ in the path that I quoted. The correct location on my machine is C:\Program Files (x86)\GNU Arm Embedded Toolchain\10 2021.10\arm-none-eabi\lib\thumb\v7e-m+dp\hard.

                          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

                          Giulianoundefined 1 Reply Last reply Reply Quote 0
                          • Giulianoundefined
                            Giuliano @dc42
                            last edited by

                            @dc42 : you're right, it's there. Don't know how I could miss it 🙂
                            Any Idea what I could try to solve that undefined reference to `pow' and 'llrint' ?
                            Do I need to add a reference to libm.a somewhere?

                            Thanks
                            Giuliano

                            dc42undefined 2 Replies Last reply Reply Quote 0
                            • dc42undefined
                              dc42 administrators @Giuliano
                              last edited by

                              @giuliano I don't know why you are getting those errors and I am not, however I do know that sometimes the Gnu linker can fail to pick up a library function because it scanned the libraries in the wrong order. If that's the case then adding libm at the end of the library list might help.

                              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 @Giuliano
                                last edited by dc42

                                @giuliano PS there is also a --verbose switch that you could add to the linker command, in case the output gives a hint about what is failing. See https://ftp.gnu.org/old-gnu/Manuals/ld-2.9.1/html_node/ld_3.html.

                                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

                                Giulianoundefined 1 Reply Last reply Reply Quote 0
                                • Giulianoundefined
                                  Giuliano @dc42
                                  last edited by

                                  @dc42 Thanks for the hints. Adding libm didn't help, and through the --verbose command i have seen that the library succeeds loading in previous steps (?).

                                  i don't really know what else I could try.. do you see anything suspect in my log?

                                  Thanks
                                  Giuliano

                                  log.txt

                                  1 Reply Last reply Reply Quote 0
                                  • Giulianoundefined
                                    Giuliano
                                    last edited by

                                    I copied libm from the GNU Arm Embedded Toolchain to one of the projects build folder (C:\Eclipse\Firmware\RRFLibraries\SAME70_RTOS) and added libm to the library list again as you suggersted and it works this way.
                                    Not sure why the build process wasn't reading it from the original folder, although in the log i saw the entry:
                                    attempt to open c:/program files (x86)/gnu arm embedded toolchain/10 2021.10/bin/../lib/gcc/arm-none-eabi/10.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard\libm.a succeeded

                                    You can close this thread i think.

                                    Thanks a lot for your help

                                    GingerGradStudentundefined 1 Reply Last reply Reply Quote 0
                                    • GingerGradStudentundefined
                                      GingerGradStudent @Giuliano
                                      last edited by

                                      @giuliano @dc42 I have encountered the same errors. I am very new to this entire process and I am confused by what you mean by adding libm to the "library list". What / where is this list you are adding it to? I have the libm file and I have moved it to the RRFLibraries folder, so it is just the library list I need guidance to.

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

                                        @gingergradstudent I mean add it to the list of libraries in the linker settings, after supc++. It probably isn't necessary to copy it anywhere.

                                        f0886b34-0806-45f3-be54-80af994243e5-image.png

                                        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

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

                                          Further to my previous reply, this linker error only occurs when using Eclipse 2022-06, whereas I have been building with Eclipse 2022-03. A fix is to add "m" (not "libm" as I suggested previously) without quotes to the linker library list. I will add this to the project configuration.

                                          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

                                          GingerGradStudentundefined 1 Reply Last reply Reply Quote 0
                                          • GingerGradStudentundefined
                                            GingerGradStudent @dc42
                                            last edited by

                                            @dc42 I installed Eclipse 2022-03 instead of Eclipse 2022-06 and that fixed everything. Thanks!

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