Sysprogs forums › Forums › VisualGDB › Indefinite Build Processes
- This topic has 8 replies, 3 voices, and was last updated 3 weeks, 2 days ago by
Ancaritha.
-
AuthorPosts
-
March 19, 2025 at 08:11 #36516
kurt.harrison
ParticipantCould someone assist with resolve issues with build processes? Any build processes (clean, build, rebuild) I start hangs indefinitely after executing the command.
Additional details, including software versions:
- VisualGDB version 6.0R6 (build 5262)
- Provided a valid license key
- Visual Studio Community 2022 (64-bit) Version 17.13.3
- Build commands launched from Visual Studio’s “Build” menus
- Attempting to build a STM32H757 project
- Reinstall VisualGDB did not resolve the issue
- Cancelling the build does result in a successful build
I was able to build my project during the trial version. The issue first occurred when I attempt to build after the trial expired and before entering a license key. I expect nothing to happen during that run. However, the indefinite build issue persists after entering a valid license key.
Example logs:
Run "C:\Program Files (x86)\Sysprogs\VisualGDB\make.exe CONFIG=Debug clean -j8" in directory <project path> on local computer
C:\Program Files (x86)\Sysprogs\VisualGDB\make.exe CONFIG=Debug clean -j8Sending Ctrl-C...
The operation was canceled.
========== Project Clean Summary ==========
STM32H757Eval-CM7 cleant in 01:23
========== Clean: 0 Succeeded, 1 Failed, 0 Skipped ==========
March 19, 2025 at 08:16 #36517kurt.harrison
ParticipantCorrection: Cancelling a build does not result in a success
March 19, 2025 at 10:19 #36518support
KeymasterHi,
This could be due to a bug in the GNU Make where it sometimes just lock up on multi-core systems. So, normally, we would advise using CMake + Ninja or MSBuild instead. These systems are much more modern and work way better.
If you have to use GNU Make, you may need to experiment with other similar projects to see what exactly triggers the lockup.
March 19, 2025 at 10:52 #36519kurt.harrison
ParticipantThank you for the recommendations. I will try these out and give an update later.
March 20, 2025 at 06:01 #36520kurt.harrison
ParticipantI resolved my issue with indefinite build times. This is neither an issue with VisualGDB nor the aforementioned GNU Make bug. After much troubleshooting, the error turned out to be case-sensitivity of echo commands in Makefile documents. The project’s creator is able to execute capitalized
Echo
commands in their developer environment, whereas I cannot with my environment.March 20, 2025 at 07:16 #36521support
KeymasterHi,
Good to know it works and thanks for letting us know.
March 20, 2025 at 10:22 #36522Ancaritha
ParticipantSo the source of the infinite build error was not the Echo vs echo command (which was still a weird issue), but is actually a sub-makefile we call that I ripped directly from the TouchGFX Designer program that ST makes for their UI stuff. It checks to find if the CubeProgrammer utility is installed on the machine. This is the section we believe to be causing it to fail:
ifneq (“$(shell find “$(program_files_win64)/$(stm32cube_programmer_filepath)” 2> nul )”,””)
program_files_path := $(program_files_win64)
else ifneq (“$(shell find “$(program_files_win32)/$(stm32cube_programmer_filepath)” 2> nul )”,””)
program_files_path := $(program_files_win32)
else ifneq (“$(shell find “$(program_files_CLT)/$(stm32cube_programmer_filepath)” 2> nul )”,””)
program_files_path := $(program_files_CLT)
endifIt works perfectly fine on my machine, unsure why it is failing on Kurt’s. Would you be able to tell me which shell program/exe VisualGDB makefiles are going to end up calling?
Thanks!
March 20, 2025 at 17:11 #36523support
KeymasterWe don’t really have any special code for calling a particular shell. It’s up to the Make executable and we don’t have much insights into it. CMake+Ninja (or MSBuild) works way better and way faster, so we recommend using it instead.
March 21, 2025 at 06:56 #36524Ancaritha
ParticipantDoh, ok. I was hoping that a particular shell program was included with the VisualGDB installs (since it comes with it’s own make.exe) and there was a high probability that was the one that would be called. Back to trying to figure out which shell program is being executing via makefile commands.
I do really hate makefiles, but unfortunately it would be a substantial effort to migrate off of them. We’ve made heavy modifications to various parts of it and have probably two dozen projects running on the same foundational code.
Thanks!
-
AuthorPosts
- You must be logged in to reply to this topic.