Problem configuring c2hs with Cabal-1.2
Thomas Schilling
nominolo at googlemail.com
Thu Sep 13 18:38:55 EDT 2007
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
More information about the cabal-devel
mailing list