New build system introduced, testing and feedback needed
-
Thanks all. I'm getting further and can create the build files, but am now stuck at the following:
PS C:\Eclipse\PanelDueFirmware> make -C build all -j12 make: Entering directory 'C:/Eclipse/PanelDueFirmware/build' Makefile:32: *** missing separator. Stop.
I've tried other variations with no luck. FYI - (Get-Command make).Path returns:
C:\Program Files\GNU ARM Eclipse\Build Tools\2.6-201507152002\bin\make.exe
Thanks in advance.
-
@oozeBot
can you send the file 'C:/Eclipse/PanelDueFirmware/build/Makefile'There's something wrong with the makefile. any path you pass as commandline parameter needs to be in quotes, backslash replaced with slash and whitespaces escaped with backslash.
Can you share your cmake call?
-
@mfs12 - Here you go - both renamed to ".txt". I believe I've setup env.vmake correctly. With it, my cmake command is just
cmake -B build
I'm reviewing the makefile now - one thing of note I've found is on line 79 - note the double "\\". edit - changing the \\ to \ didn't fix it. still reviewing.
C:\Eclipse\PanelDueFirmware\build\\CMakeFiles\progress.marks
edit - There was an unescaped space in my env.cmake file that I just corrected, but still receiving the same error.
-
@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.
-
@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'
-
You can always make the build verbose.
$ make -C build VERBOSE=1 all
-
@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'
-
@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.
-
this nologo parameter is somehow related to verbosity. So if you remove VERBOSE=1 again. Does it work then?
-
@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
-
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.
-
Apparently you can install additional tools using eclipse. Probably update them as well. Eventually this didn't happen for some time.
-
@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'
-
did you check out librrf as a submodule as detailed in the build instructions?
-
@oozeBot sounds like you didn't checkout the git submodules.
Please refer to https://github.com/Duet3D/PanelDueFirmware#setup-repository
-
@oliof yes, I did and the root lib/librrf contains many files, so I think I did it right!
-
@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
-
After you rerun those steps, clean out the build/ directory and rerun cmake.
-
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'
-
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?