Skip to content
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

jukebox-0.5.4 lack proper bounds for its dependencies #6

Closed
andreasabel opened this issue Feb 25, 2024 · 4 comments
Closed

jukebox-0.5.4 lack proper bounds for its dependencies #6

andreasabel opened this issue Feb 25, 2024 · 4 comments

Comments

@andreasabel
Copy link

Trying to build jukebox with recent compilers I get into a cabal hell, since bounds are not specified.

  • it needs transformers < 0.6
  • adding this bound make cabal pick async-1.4 for minisat which is too old

Seems like jukebox and minisat need revisions on hackage to fix their build plans. I recommend the hackage-cli tool for doing bulk revisions...

@andreasabel
Copy link
Author

I fixed the lower bound for minisat on hackage:

So now trying to build jukebox-0.5.4 with GHC 9.4 or up (and transformers < 0.6) gives this build error in the generated Lexer.hs:

src/Jukebox/TPTP/Lexer.x:100:71: error:
    Ambiguous occurrence ‘Symbol’
    It could refer to
       either ‘Data.Symbol.Symbol’,
              imported from ‘Data.Symbol’ at src/Jukebox/TPTP/Lexer.x:21:1-18
              (and originally defined in ‘Data.Symbol.Unsafe’)
           or ‘GHC.Exts.Symbol’,
              imported from ‘GHC.Exts’ at dist-newstyle/build/x86_64-osx/ghc-9.4.8/jukebox-0.5.4/build/Jukebox/TPTP/Lexer.hs:35:1-15
              (and originally defined in ‘ghc-prim-0.9.1:GHC.Types’)

It must be that GHC.Exts exports Symbol from base >= 4.17 and alex produces code with unqualified imports:

#if __GLASGOW_HASKELL__ >= 503
import Data.Array.Base (unsafeAt)
import GHC.Exts

This is unfortunate, because blame for this breakage actually goes to alex and is unpleasant to work around here on the client side.

@andreasabel
Copy link
Author

When alex-3.5.1.0 is out, this problem could presumably be fixed by constraining alex >= 3.5.1.0 here:

Build-tools: alex

This can be done in a Hackage revision.

@nick8325
Copy link
Owner

Thanks for the investigation! Now I uploaded jukebox-0.5.5 which works also with newer versions of transformers and alex.

@andreasabel
Copy link
Author

I added bound transformers < 0.6 on Hackage to keep older versions out of the cabal constraint solver:

2024-03-05T07:03:28Z AndreasAbel jukebox-0.5-r1
2024-03-05T07:03:27Z AndreasAbel jukebox-0.5.3-r1
2024-03-05T07:03:26Z AndreasAbel jukebox-0.5.2-r1
2024-03-05T07:03:26Z AndreasAbel jukebox-0.5.1-r1
2024-03-05T07:03:25Z AndreasAbel jukebox-0.4-r1
2024-03-05T07:03:24Z AndreasAbel jukebox-0.4.5-r1
2024-03-05T07:03:24Z AndreasAbel jukebox-0.4.4-r1
2024-03-05T07:03:23Z AndreasAbel jukebox-0.4.3-r1
2024-03-05T07:03:22Z AndreasAbel jukebox-0.4.2-r1
2024-03-05T07:03:22Z AndreasAbel jukebox-0.4.1-r1
2024-03-05T07:03:21Z AndreasAbel jukebox-0.3-r1
2024-03-05T07:03:21Z AndreasAbel jukebox-0.3.7-r1
2024-03-05T07:03:20Z AndreasAbel jukebox-0.3.6-r1
2024-03-05T07:03:20Z AndreasAbel jukebox-0.3.5-r1
2024-03-05T07:03:20Z AndreasAbel jukebox-0.3.4-r1
2024-03-05T07:03:20Z AndreasAbel jukebox-0.3.3-r1
2024-03-05T07:03:19Z AndreasAbel jukebox-0.3.2-r1
2024-03-05T07:03:18Z AndreasAbel jukebox-0.3.1-r1
2024-03-05T06:54:49Z AndreasAbel jukebox-0.5.4-r1

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