HN2new | past | comments | ask | show | jobs | submitlogin

I'm not involved in OpenBSD but I don't see the value in preventing an end user from installing arbitrary packages just because the compiler was updated recently. The person being notified of the error is the wrong person.


True, but OpenBSD seems to some extent value correctness over "usability". I can imagine the argument being made that if something changed and caused the package to stop building, it should be fixed, because the warning was potentially significant.

Since they do want the OS to be practical and usable, though, your argument also holds true, and seems to take precedence here. Just kind of surprised they'd make a policy of explicitly patching out upstream's Werror, since it implies it's "supposed" to work with no errors.


You are speaking way too conceptually and not looking at the actual warnings that compilers report.

Some compilers will warn about:

   while (true) { ... }
having a constant condition. The fix is to write:

    for (;;) { ... }
to nobody's benefit.

I've used languages that warn if you use snake_case instead of camelCase, because it violates their preferred naming convention. Or if you accidentally use a tab somewhere, it'll warn about a mix of tabs and spaces.

None of these matter for correctness, yet you're advocating to break the build for correctness.


> The fix is to write: > for (;;) { ... } > to nobody's benefit.

Idiomatic constructions benefit whoever would read the code (along with choosing and following to a style guide).


OpenBSD's ports tree gets compiled using multiple compilers (clang/gcc) and compiler versions (base 4.2.1, ports gcc8/11), across many different architectures. In most cases when an upstream has added -Werror to a Makefile, they have not considered this. It's good for testing, but not for reliably compiling software.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: