Closed trofi closed 5 days ago
Oh, I just noticed you have reverted the change. I still see the build failures on the current master
develop
:
ldns> ./examples/ldns-keyfetcher.c:10:10: fatal error: config.h: No such file or directory
ldns> 10 | #include "config.h"
ldns> | ^~~~~~~~~~
ldns> compilation terminated.
ldns> examples/ldns-keyfetcher.c:10:10: fatal error: config.h: No such file or directory
ldns> 10 | #include "config.h"
ldns> | ^~~~~~~~~~
ldns> compilation terminated.
Yes, I did reverse it and I was a bit in a hurry, so failed to tell you about it. The problem basically was that setup-builddir doesn't have a target file to check if it is done. So if you make all object files depend on it, all object files will be built every time you run make. Even if they are already built. If we can come up with a workaround, we can still include it for the release coming Friday.
Object files lack dependency on
config.h
symlink (and usually depend only onldns/config.h
). As a result build occasionally fails inmake --shuffe mode
:The change moves
config.h
symlink creation insetup-builddir
from a dependency on final binary to dependency on all individual objects.While at it regenerated dependencies with
make depend
.before the change
make --shuffle
build was failing in about 50% cases. After the change:make --shuffle
succeeded 80 times in a row.