Comment by Cloudef
3 years ago
This is why I really don't like configure style build systems that automatically enable / disable features. When I want something I explicitly opt-in for it. If there's good reason for feature to be default, then instead explicitly allow opt-out.
This is a huge pain when packaging things. You set up the package, add dependencies until it builds and think you are done. But they feature X is missing. What? Oh, it was silently disabled because libY isn't available. Ok, go back and add it. Then a user reports that feature Z isn't available...
Yeah, just have a default set of features and allow `--enable-a --disable-b` as needed.
The fact that it silently swallows bugs in the check is just another problem of it.
Worse, it enables features based on local system packages whose dependencies aren’t captured by the package dependencies.
At least for a time, this was a horrible problem in Yocto.
I think most distributions use some sort of build sandboxing at this point to avoid this problem and increase reproducibility in general right?
1 reply →