Skip to content

build issues with 7.8 #1136

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

Closed
cartazio opened this issue Jan 31, 2014 · 13 comments
Closed

build issues with 7.8 #1136

cartazio opened this issue Jan 31, 2014 · 13 comments

Comments

@cartazio
Copy link

the current version on hackage seems to have some pre generated code that doesn't play nice with ghc 7.8, possibly due to alex / happy changes.

when i build from current master (todays), assuming a patched regex-pcre-builtin and a patched pandoc types, everything works.

@jgm
Copy link
Owner

jgm commented Jan 31, 2014

Yes, cabal sdist runs alex and happy and puts the generated parser
in the tarball.

This will be very problematic if there's not a single version
of the generated parser that worsk with GHC 7.8 and earlier versions.

Can you do 'cabal sdist' to generate a tarball using GHC 7.8, and
see if it will install with GHC 7.6?

+++ Carter Tazio Schonwald [Jan 30 14 16:05 ]:

the current version on hackage seems to have some pre generated code that doesn't play nice with ghc 7.8, possibly due to alex / happy changes.

when i build from current master (todays), assuming a patched regex-pcre-builtin and a patched pandoc types, everything works.


Reply to this email directly or view it on GitHub:
#1136

@cartazio
Copy link
Author

cartazio commented Feb 1, 2014

Alex / Happy for 7.8 generate incompatible code for 7.6 and earlier, this is a known breaking change. This has to do with Bool being Int# internally in in 7.8 (to allow branchless && and || codes more easily), whereas in 7.6 and earlier they dont.

GHC / Haskell platform both come with Alex and Happy by default (as best I understand it), what prevents the alex / happy invocation from being at user build time?

@cartazio
Copy link
Author

cartazio commented Feb 1, 2014

i'll dig deeper into this, maybe the right solution is to get alex / happy to generate CPP for handling the split, or perhaps it does alraedy.

Mind you i don't have 7.6 setup locally right now, i'll explore later

@cartazio
Copy link
Author

cartazio commented Feb 1, 2014

that said, what was the original reason for having the preprocessors run at sdist time?

@cartazio
Copy link
Author

cartazio commented Feb 1, 2014

heres links to a gist each of lex.x parse.y for the the SDIST https://gist.github.com/cartazio/8755770

heres the relevant piece that I think captures the main difference.

IF you can get these two modules to play nice with 7.6, i think things may be ok. I could be wrong though. (and may not have the time to test this weekend sadly)

@jgm
Copy link
Owner

jgm commented Feb 1, 2014

+++ Carter Tazio Schonwald [Feb 01 14 09:46 ]:

that said, what was the original reason for having the preprocessors run at sdist time?

I believe that is the default behavior of 'cabal sdist', not something
I added.

@cartazio
Copy link
Author

cartazio commented Feb 3, 2014

@jgm I'm told that you use the newest alex/ happy, the associated generated code will play nice with boht 7.8 and older ghc. (ie cabal update ; cabal install alex happy)

@jgm
Copy link
Owner

jgm commented Feb 3, 2014

OK, I regenerated the tarball using the latest alex and happy.
Let me know if this works with GHC 7.8.

+++ Carter Tazio Schonwald [Feb 02 14 16:06 ]:

[1]@jgm I'm told that you use the newest alex/ happy, the associated
generated code will play nice with boht 7.8 and older ghc. (ie cabal
update ; cabal install alex happy)


Reply to this email directly or [2]view it on GitHub.
[3044__eyJzY29wZSI6Ik5ld3NpZXM6QmVhY29uIiwiZXhwaXJlcyI6MTcwNjkxODgxOCwi
ZGF0YSI6eyJpZCI6MjQ2NDMzMDl9fQ==--e0d372242d1d27e10873ca1231fd3d43b5fef
7b7.gif]

References

  1. https://github.com/jgm
  2. build issues with 7.8 #1136 (comment)

@cartazio
Copy link
Author

cartazio commented Feb 3, 2014

is this the new version on hackage? testing it now. Looks like its built the haddock reader without a hitch! (though still in the proces of building mind you)

Btw, regex-tdfa is currently broken on hackge for 7.8, so i'm using a patched copy locally. (this is an issue upstream of you. also was the subject of a recent cafe thread.)

@cartazio
Copy link
Author

cartazio commented Feb 3, 2014

yup builds successfully. Thanks

@jgm
Copy link
Owner

jgm commented Feb 3, 2014

Great, thanks for your help.

+++ Carter Tazio Schonwald [Feb 03 14 15:08 ]:

yup builds successfully. Thanks


Reply to this email directly or [1]view it on GitHub.
[3044__eyJzY29wZSI6Ik5ld3NpZXM6QmVhY29uIiwiZXhwaXJlcyI6MTcwNzAwMTcwOSwi
ZGF0YSI6eyJpZCI6MjQ2NDMzMDl9fQ==--6ac39020207bd7a09817947f071c4b3aabec5
a92.gif]

References

  1. build issues with 7.8 #1136 (comment)

@cartazio
Copy link
Author

cartazio commented Feb 4, 2014

no, thank you for building great tools, being responsive, and super helpful! (its why i'm happy to do this debugging ever year or two :P )

btw, I"ll be in the berkeley / bay area feb 5-16, aren't you based in that area?

@jgm
Copy link
Owner

jgm commented Feb 4, 2014

+++ Carter Tazio Schonwald [Feb 03 14 16:05 ]:

btw, I"ll be in the berkeley / bay area feb 5-16, aren't you based in that area?

Yep, I'm in Berkeley. Send me an email if you like, when you're in town.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants