Problem configuring c2hs with Cabal-1.2
I just downloaded c2hs (HEAD version) and tried to run "runhaskell Setup.hs configure" using the ghc 6.8 release candidate (i.e., Cabal 1.2), and got the following error:
Configuring c2hs-0.15.0... Setup.hs: Error: Non-empty library, but empty exposed modules list. Cabal may not build this library correctly
The .cabal file is parseable by ghc-6.6.1 (with Cabal 1.1.6.2). It's unclear to me whether this counts as a c2hs bug or a Cabal bug (maybe the above message should only be a warning?), so I'm cc'ing both lists. Also note that regardless, c2hs will need to be updated to work with base-2.0; when I tried ghc-6.8 with Cabal-1.1.6, I got the following error:
base/state/CIO.hs:71:7: Could not find module `System.Cmd': it is a member of package process-1.0, which is hidden
Best, -Judah
On Thu, 2007-09-13 at 14:38 -0700, Judah Jacobson wrote:
I just downloaded c2hs (HEAD version) and tried to run "runhaskell Setup.hs configure" using the ghc 6.8 release candidate (i.e., Cabal 1.2), and got the following error:
Configuring c2hs-0.15.0... Setup.hs: Error: Non-empty library, but empty exposed modules list. Cabal may not build this library correctly
The .cabal file is parseable by ghc-6.6.1 (with Cabal 1.1.6.2). It's unclear to me whether this counts as a c2hs bug or a Cabal bug (maybe the above message should only be a warning?), so I'm cc'ing both lists.
Also note that regardless, c2hs will need to be updated to work with base-2.0; when I tried ghc-6.8 with Cabal-1.1.6, I got the following error:
base/state/CIO.hs:71:7: Could not find module `System.Cmd': it is a member of package process-1.0, which is hidden
Thanks for the report. The quick fix is to comment out the build-tools field. The other solution would be to use the sectionized format and move the build-tools and build-depends fields into the executable section, i.e., Executable c2hs Build-Depends: base, filepath Build-Tools: happy, alex -- ... The problem with this is, that this will require Cabal-1.2 and will not be backwards compatible to old versions of Cabal(!). (If you use an old Cabal on that same file you should actually get a warning about an unknown field during configure.) The error when using Cabal < 1.2, however, is most likely not related to Cabal, but to the base split-up, i.e., c2hs probably has to depend on 'process' if 'base >= 2.0'. Of course, the current dying of Cabal is not acceptable, I'm working on a patch. Thanks, / Thomas
participants (2)
-
Judah Jacobson -
Thomas Schilling