-
Notifications
You must be signed in to change notification settings - Fork 92
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
Consider paring down the set of output modes #261
Comments
Fundamentally we cannot commit to support OpenBSD unless someone conjures up a CI job (either here or at GHC GitLab). Any ideas? |
That should be easy enough. I've been keeping a more "interesting" case of syzkaller going for some 4 years now on GCE. Trouble is: I don't know who can give the free CPU cycles... |
Precisely, the biggest problem is to find a capable runner or service. Removing constructors is a breaking change implying a major version bump. We cannot really carry on discovering such issues five years after they were merged. |
The reason I discovered is GHC updated its dependency 3 weeks ago. Up until that point, I presume, the August release of 2.8.0.0 was not widely enough exposed outside mainstream. So, what's the way forward, can I offer a bunch of #ifdef to make this not be a problem for people who just want to build GHC? |
To make a way forward we need a working CI, otherwise OpenBSD could be broken by the very next PR, making your efforts fruitless. |
It seems Cirrus CI might have some support for OpenBSD / NetBSD, for instance, https://github.com/elves/elvish/blob/master/.cirrus.yml |
I can't follow this argument. They are defined in posix and as such we should support it. If OpenBSD doesn't, we can ifdef them out. Not sure if we'll need more utility functions for portability there. However GHC doesn't support OpenBSD at the moment and they have just dropped FreeBSD support as well. I'm not sure how much sense any of this makes, when the compiler devs will basically not make any guarantees whatsoever. Sure, we can make sure unix builds on OpenBSD, but that's really just a small part of the problem, no? |
TAB0 & TAB3 do not exist on OpenBSD
I'm using OpenBSD 7.2 & ghc 9.2.4.
Steps to reproduce
cabal v2-build --allow-newer
fails with the messages above. The first broken commit is 8302af3.Expected behaviour
Successful build.
Actual behaviour
Build failure.
Posix compliance
The constants above are listed in Section 11.2.3 Output Modes. I'd argue they have no useful semantics or value going forward considering Haskell world lived without them for all this time. Many other constants had to be removed from the previous iteration of the patch because their support was spotty enough. Turns out the current set is still not universally supported.
I'm happy to send a patch removing just the two offending entries, if that's a reasonable course going forward. I'm invested in keeping GHC working on OpenBSD and this will be a constant thorn in my side personally.
The text was updated successfully, but these errors were encountered: