-
Notifications
You must be signed in to change notification settings - Fork 84
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
Build instructions in contributing.rst are wrong #274
Comments
Sounds like an issue with the I can't reproduce the failure. |
Do you mean you can only bootstrap happy-2 by happy-2 ? Then maybe this should be added to the doc. To me it looks more like happy-2 wants some template that has not been created. Maybe |
Not at all. I mean that your installation of |
Well, it is not. I use it all the time, to rebuild Agda, to test BNFC etc. Also, the non-existing file mentioned in the error is in the domain of
@int-index wrote:
You hypothesis there was never confirmed. And here is the counterevidence: I can exactly reproduce #262 (and my error) in a workflow:
The workflow (c9b18cb) follows the build instructions in the manual. Maybe your system isn't clean, that's why you cannot reproduce the issue? You might have happy-2 install artefacts lying around, maybe after running |
OK, I've reproduced this on another machine. Seems to be a non-deterministic failure, sensitive to build order. Could you try this sequence of commands?
Building |
Yes this works. But why? happy/packages/frontend/happy-frontend.cabal Lines 41 to 46 in 535ce96
|
The
|
The failure seems to be caused by I can reliably reproduce the failure as follows
|
Could it be a problem in cabal? Here's the version I have on the machine where the problem is reproducible
And here's the version on the machine where I cannot reproduce the problem
You can see that it uses a newer version of the Cabal library. It also does not extend the environment with |
No, I take that back. It does reproduce the problem on one machine but not on the other one. I'm lost again. |
FWIW, I can reproduce with
So it does not appear to be related to the version of On the machine where you can't reproduce, to you happen to have a |
I could come up with a minimal reproducer for what I think is a bug in Cabal; see haskell/cabal#10072. |
Given that
I would suggest to simply check in the code of the generated happy parser. It is absolutely rare that we must touch the parser anyway, and it is simple enough to check in the new code anyway. All the dog-fooding arguments still apply and we could reasonably just link I then wonder what we need the "Oracle" parser for... Would we still need the cabal flag in the first place then? |
The initial idea (in #170) was to avoid bootstrapping entirely, thus reducing the complexity of the build, and avoiding check-in of generated code. I still think it's a viable route. But then we decided to make it into an optional flag (in #175), and we actually ended up with more complexity, not less. And it wouldn't be so bad if we didn't start hitting Cabal limitations (#211, #255, #256, haskell/cabal#7189, and now haskell/cabal#10072). And, as far as I can see, there's no one stepping up to address these limitations. At this point let's just cut our losses and drop the |
Here we go: #277 |
Thanks so much, Vlad! Really looking forward to seeing your fix merged. |
#277 was a success; I'll close this issue. |
happy/doc/contributing.rst
Lines 36 to 43 in 535ce96
On a fresh working copy of
master
( 535ce96 ):ATTN: @Ericson2314 @int-index
The text was updated successfully, but these errors were encountered: