New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[BUG] Possibly mssing target dependencies in Makefile #479
Comments
As we already discussed in the Gentoo bug, the issue is probably that the build targets don't depend on the |
Of course depending on the directories target is not possible for this build system as the dependencies are used as input to the g++ command lines, thus forbidding a dependency on phony targets. An alternative solution might be calling all:
$(MAKE) directories
$(MAKE) btop |
I think this is a prime use case for an order-only prerequisite. |
Didn't even know that existed, but StackOverflow helped 😅 I'll open a PR. |
Since directory creation is a requirement for writing the built artifacts, this commit introduces a dependency on the directories for all build targets (compile and link), so parallel builds can't fail because a build target is executed before the directories target. Closes: aristocratos#479
Describe the bug
In Gentoo Bug 884005 we noticed builds failing due to files not being created with e.g. this output from the Tinderbox:
As described by a user on the gentoo-user mailing list, the problem might be that the
mkdir
commands for the output directories didn't finish before some jobs attempted to open files in said directories, leading to write failures.To Reproduce
The aforementioned user got this problem by building on a machine with many jobs in parallel (here it was
-j17
).Expected behavior
The compiler should be able to open the files for writing.
Screenshots
Screenshots not applicable, but you might be interested in some of this output:
Info (please complete the following information):
btop -v
– Not applicable, since the build failed. As can be deduced from the build log, a build of 1.2.13 was attempted.CXX ?| x86_64-pc-linux-gnu-g++ (12.2.1)
uname -m
: amd64uname -r
: Linux-6.0.10-x86_64-AMD_Ryzen_9_5950X_16-Core_Processor-with-glibc2.36Additional context
contents of
~/.config/btop/btop.log
– Not applicableGDB Backtrace
Not applicable.
The text was updated successfully, but these errors were encountered: