Makefile: specify version.h as a dependency of all object files#590
Open
trofi wants to merge 1 commit intoANGSD:masterfrom
Open
Makefile: specify version.h as a dependency of all object files#590trofi wants to merge 1 commit intoANGSD:masterfrom
trofi wants to merge 1 commit intoANGSD:masterfrom
Conversation
Otherwise parallel builds fail occasionally as:
$ make --shuffle -j
...
g++ -c -O3 -D__STDC_FORMAT_MACROS argStruct.cpp
g++ -c -O3 -D__STDC_FORMAT_MACROS ancestral_likes.cpp
gcc -c -O3 -D__STDC_FORMAT_MACROS fet.c
g++ -c -O3 -D__STDC_FORMAT_MACROS abcGL.cpp
g++ -c -O3 -D__STDC_FORMAT_MACROS pop1_read.cpp
g++ -c -O3 -D__STDC_FORMAT_MACROS angsd.cpp
g++ -c -O3 -D__STDC_FORMAT_MACROS abcHWE_F.cpp
gcc -c -O3 -D__STDC_FORMAT_MACROS kprobaln.c
g++ -c -O3 -D__STDC_FORMAT_MACROS mpileup.cpp
argStruct.cpp:3:10: fatal error: version.h: No such file or directory
3 | #include "version.h"
| ^~~~~~~~~~~
compilation terminated.
angsd.cpp:11:10: fatal error: version.h: No such file or directory
11 | #include "version.h"
| ^~~~~~~~~~~
Before the change it was enough to try to build `angsd` with 1-2
`make --shuffle` runs to get the failure. After the change the build
survives 20 rebuilds.
ANGSD
referenced
this pull request
Aug 20, 2023
…r testing for concurrency issues PR#590 found an issue. After looking into it there was indeed atleast two problems that this commit fixed.
Owner
|
Hi @trofi, thanks for this input. I had not heard about the --shuffle. There were multiple problems in my Makefiles that the --shuffle parameter helped me find. I made a different fix by using the. .WAIT in the makefile rather than including the version. h in all objects as proposed in this PR. I will let the PR be open for now in case my fix caused other problems. |
ANGSD
added a commit
that referenced
this pull request
Aug 20, 2023
Had to remove .WAIT from the makefile. It looks like this option is not recognized by existing make. The PR #590 might still be relevant. I will discuss this with @isinaltinkaya
Author
|
I think there are a few problems with
[2.] means that more directed builds like angsd.o: version.h
argStruct.o: version.h
multiReader.o: version.h |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Otherwise parallel builds fail occasionally as:
Before the change it was enough to try to build
angsdwith 1-2make --shuffleruns to get the failure. After the change the build survives 20 rebuilds.