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

New build system introduced, testing and feedback needed

Scheduled Pinned Locked Moved
PanelDue
7
57
2.8k
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.
  • undefined
    mfs12
    last edited by mfs12 17 Aug 2021, 15:38

    @oozeBot somehow make wants the if-block at line 32 indented. I don't understand why. Weird enough.

    Anyway i want cmake to run on you machine so hacking the makefiles is not really an option. Just for testing.

    Visit me on github at https://github.com/mfs12/

    undefined 1 Reply Last reply 17 Aug 2021, 15:45 Reply Quote 0
    • undefined
      oozeBot @mfs12
      last edited by 17 Aug 2021, 15:45

      @mfs12 - thanks. I got past it by indenting the entire IF block in both makefile and CMakeFiles\makefile2. Pretty strange..

      Current error I'm researching:

      PS C:\Eclipse\PanelDueFirmware> make -C build all
      make: Entering directory 'C:/Eclipse/PanelDueFirmware/build'
      make[1]: Entering directory 'C:/Eclipse/PanelDueFirmware/build'
      make[1]: *** No rule to make target '/nologo'. Stop.
      make[1]: Leaving directory 'C:/Eclipse/PanelDueFirmware/build'
      Makefile:79: recipe for target 'all' failed
      make: *** [all] Error 2
      make: Leaving directory 'C:/Eclipse/PanelDueFirmware/build'
      1 Reply Last reply Reply Quote 0
      • undefined
        mfs12
        last edited by 17 Aug 2021, 15:57

        You can always make the build verbose.

        $ make -C build VERBOSE=1 all
        

        Visit me on github at https://github.com/mfs12/

        undefined 1 Reply Last reply 17 Aug 2021, 16:02 Reply Quote 0
        • undefined
          oozeBot @mfs12
          last edited by oozeBot 17 Aug 2021, 16:02

          @mfs12 - Thank you for the hand-holding.

          I see an error but am not sure where it came from yet. Look at line 5. That does not exist on my system and was not defined anywhere that I have yet to find.

          edit - that's the path to "make" and does exist. My mistake - I was looking in Program Files (x86).

          PS C:\Eclipse\PanelDueFirmware> make -C build VERBOSE=1 all
          make: Entering directory 'C:/Eclipse/PanelDueFirmware/build'
          "C:\Program Files\CMake\bin\cmake.exe" -SC:\Eclipse\PanelDueFirmware -BC:\Eclipse\PanelDueFirmware\build --check-build-system CMakeFiles\Makefile.cmake 0
          "C:\Program Files\CMake\bin\cmake.exe" -E cmake_progress_start C:\Eclipse\PanelDueFirmware\build\CMakeFiles C:\Eclipse\PanelDueFirmware\build\CMakeFiles\progress.marks
          C:/Program Files/GNU ARM Eclipse/Build Tools/2.6-201507152002/bin/make -f CMakeFiles\Makefile2 /nologo -w -- VERBOSE=1 all
          make[1]: Entering directory 'C:/Eclipse/PanelDueFirmware/build'
          make[1]: *** No rule to make target '/nologo'. Stop.
          make[1]: Leaving directory 'C:/Eclipse/PanelDueFirmware/build'
          Makefile:79: recipe for target 'all' failed
          make: *** [all] Error 2
          make: Leaving directory 'C:/Eclipse/PanelDueFirmware/build'
          1 Reply Last reply Reply Quote 0
          • undefined
            mfs12
            last edited by mfs12 17 Aug 2021, 16:14

            @oozebot said in New build system introduced, testing and feedback needed:

            C:/Program Files/GNU ARM Eclipse/Build Tools/2.6-201507152002/bin/make

            How old is your eclipse and toolchain? Is this a date 201507152002?

            I think this might be an issue.

            Visit me on github at https://github.com/mfs12/

            1 Reply Last reply Reply Quote 0
            • undefined
              mfs12
              last edited by mfs12 17 Aug 2021, 16:17

              this nologo parameter is somehow related to verbosity. So if you remove VERBOSE=1 again. Does it work then?

              Visit me on github at https://github.com/mfs12/

              undefined 1 Reply Last reply 17 Aug 2021, 16:28 Reply Quote 0
              • undefined
                oozeBot @mfs12
                last edited by 17 Aug 2021, 16:28

                @mfs12 no, it returned the same error as I posted above.

                My toolchain is

                C:\Program Files (x86)\GNU Arm Embedded Toolchain\10 2021.07\bin

                and the Eclipse IDE is

                Version: 2021-06 (4.20.0)
                Build id: 20210612-2011

                Reviewing now how to update make.exe

                1 Reply Last reply Reply Quote 0
                • undefined
                  mfs12
                  last edited by mfs12 17 Aug 2021, 16:32

                  in the end this /nologo parameter is the issue. Make thinks it's a target but it's actually parameter intended for the windows linker. Really strange.

                  If you delete that. You get a step further.

                  Visit me on github at https://github.com/mfs12/

                  1 Reply Last reply Reply Quote 0
                  • undefined
                    mfs12
                    last edited by 17 Aug 2021, 16:34

                    Apparently you can install additional tools using eclipse. Probably update them as well. Eventually this didn't happen for some time.

                    Visit me on github at https://github.com/mfs12/

                    undefined 1 Reply Last reply 17 Aug 2021, 16:59 Reply Quote 0
                    • undefined
                      oozeBot @mfs12
                      last edited by oozeBot 17 Aug 2021, 16:59

                      @mfs12 - much closer now. I had two versions of make.exe. I updated it and removed all references to /nologo. However, the version without a logo is what I am needing to compile?

                      Here is where I currently am at.

                      PS C:\Eclipse\PanelDueFirmware> make -C build VERBOSE=1
                      ...
                      C:\Eclipse\PanelDueFirmware\build C:\Eclipse\PanelDueFirmware\build C:\Eclipse\PanelDueFirmware\build\CMakeFiles\paneldue.elf.dir\DependInfo.cmake --color=
                      make[2]: Leaving directory 'C:/Eclipse/PanelDueFirmware/build'
                      C:/Program Files/GNU ARM Eclipse/Build Tools/2.6-201507152002/bin/make -f CMakeFiles\paneldue.elf.dir\build.make -nw -- VERBOSE=1 CMakeFiles\paneldue.elf.dir\build
                      make[2]: Entering directory 'C:/Eclipse/PanelDueFirmware/build'
                      make[2]: *** No rule to make target 'lib\librrf\librrf.a', needed by 'paneldue.elf'. Stop.
                      make[2]: Leaving directory 'C:/Eclipse/PanelDueFirmware/build'
                      make[1]: *** [CMakeFiles\Makefile2:93: CMakeFiles\paneldue.elf.dir\all] Error 2
                      make[1]: Leaving directory 'C:/Eclipse/PanelDueFirmware/build'
                      make: *** [Makefile:80: all] Error 2
                      make: Leaving directory 'C:/Eclipse/PanelDueFirmware/build'
                      1 Reply Last reply Reply Quote 0
                      • undefined
                        oliof
                        last edited by 17 Aug 2021, 20:15

                        did you check out librrf as a submodule as detailed in the build instructions?

                        <>RatRig V-Minion Fly Super5Pro RRF<> V-Core 3.1 IDEX k*****r <> RatRig V-Minion SKR 2 Marlin<>

                        undefined 1 Reply Last reply 17 Aug 2021, 20:58 Reply Quote 0
                        • undefined
                          mfs12
                          last edited by 17 Aug 2021, 20:57

                          @oozeBot sounds like you didn't checkout the git submodules.

                          Please refer to https://github.com/Duet3D/PanelDueFirmware#setup-repository

                          Visit me on github at https://github.com/mfs12/

                          undefined 1 Reply Last reply 17 Aug 2021, 20:59 Reply Quote 0
                          • undefined
                            oozeBot @oliof
                            last edited by 17 Aug 2021, 20:58

                            @oliof yes, I did and the root lib/librrf contains many files, so I think I did it right!

                            1 Reply Last reply Reply Quote 0
                            • undefined
                              oozeBot @mfs12
                              last edited by 17 Aug 2021, 20:59

                              @mfs12 I just responded that I thought I had, but it must be that didn't work correctly.. I'll rerun those steps again here soon. Thanks again

                              1 Reply Last reply Reply Quote 0
                              • undefined
                                oliof
                                last edited by 17 Aug 2021, 21:02

                                After you rerun those steps, clean out the build/ directory and rerun cmake.

                                <>RatRig V-Minion Fly Super5Pro RRF<> V-Core 3.1 IDEX k*****r <> RatRig V-Minion SKR 2 Marlin<>

                                undefined 1 Reply Last reply 17 Aug 2021, 21:10 Reply Quote 0
                                • undefined
                                  oozeBot @oliof
                                  last edited by 17 Aug 2021, 21:10

                                  This is the console output. I'll clean up the build folder and try again here soon. Thanks

                                  git submodule update --recursive
                                  Cloning into '/home/pi/PanelDueFirmware/lib/librrf'...
                                  Submodule path 'lib/librrf': checked out 'f3e75ecfe8802ca2cdac07cf20dee3ac05479ea7'
                                  1 Reply Last reply Reply Quote 0
                                  • undefined
                                    oozeBot
                                    last edited by 18 Aug 2021, 11:49

                                    I'm back at it.. I cleaned up the build folder, validated I had the latest copy of the windows build tools, verified I had the submodules, and then re-ran.

                                    Here is snippet of the files "cmake -B build" creates (using env.cmake). Note there are now no makefiles! Grr- any ideas?

                                    Screenshot 2021-08-18 074858.png

                                    1 Reply Last reply Reply Quote 0
                                    • undefined
                                      mfs12
                                      last edited by 18 Aug 2021, 12:02

                                      @oozeBot looks like cmake decided to create project files for visual code.

                                      Check for more details about different IDE support.

                                      https://cmake.org/cmake/help/latest/manual/cmake-generators.7.html

                                      In such an early stage i would recommend to delete the build folder when things behave weird.

                                      Visit me on github at https://github.com/mfs12/

                                      undefined 1 Reply Last reply 18 Aug 2021, 12:44 Reply Quote 0
                                      • undefined
                                        oozeBot @mfs12
                                        last edited by oozeBot 18 Aug 2021, 12:44

                                        @mfs12 Finally! By using the following, it built without any modifications! There were some warnings, but it created the bin files. This is what I was missing..!

                                        I think this was problem all along..

                                        cmake -B build -G "Eclipse CDT4 - Unix Makefiles"
                                        
                                        undefined undefined 2 Replies Last reply 18 Aug 2021, 17:06 Reply Quote 0
                                        • undefined
                                          likhalabs
                                          last edited by 18 Aug 2021, 15:53

                                          This might be unrelated, but is there an ongoing official CMake effort for RepRapFirmware as well? I'm actually the person who posted: https://reprap.org/forum/read.php?147,874397. I'm currently using it to build firmware for Duet WiFi, Duet 3 Mini 5+, and the board I'm developing. However, it would also be nice if there is an official CMake support upstream.

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