regression in ghc / cabal integration in 9.2.1

George Colpitts george.colpitts at gmail.com
Sat Oct 30 19:23:26 UTC 2021


Thanks for the quick response Mikolaj. Sorry for the confusion, with cabal
install I did use --lib but accidentally omitted that in my original email.
In 9.0.1 this results in a successful compilation but in 9.2.1 it does not
thus I believe this is a regression.

Here's the output I got in 9.2.1:

bash-3.2$ cabal install vector --lib
Warning: Unknown/unsupported 'ghc' version detected (Cabal 3.4.0.0 supports
'ghc' version < 9.1): /usr/local/bin/ghc is version 9.2.1
Warning: Unknown/unsupported 'ghc' version detected (Cabal 3.4.0.0 supports
'ghc' version < 9.1): /usr/local/bin/ghc is version 9.2.1
Resolving dependencies...
Up to date
bash-3.2$ ghc buggc.hs
[1 of 1] Compiling Main             ( buggc.hs, buggc.o )


buggc.hs:2:1: error:
    Could not find module ‘Data.Vector’
    Perhaps you meant Data.Functor (from base-4.16.0.0)
    Use -v (or `:set -v` in ghci) to see a list of the files searched for.
  |
2 | import Data.Vector


However I did figure out a workaround: cabal v1-install.

As far as I can tell cabal (v2-) install breaks ghc-pkg and compilation.
With cabal (v2-) install the workaround for ghc-pkg is to add the option "-f
$HOME/.cabal/store/ghc-9.2.1/package.db" to the end of the command "ghc-pkg
list". For compilation the workaround is to add "-package-db
$HOME/.cabal/store/ghc-9.2.1/package.db" to the ghc-pkg. I don't understand
why it was necessary for  cabal v2-install to be incompatible with cabal
v1-install. Is there a link to any documentation and justification for
these incompatible changes?

Thanks again,
George



On Sat, Oct 30, 2021 at 3:38 PM Mikolaj Konarski <mikolaj at well-typed.com>
wrote:

> Hi George,
>
> Since many versions of cabal, `install` only installs executables, not
> libraries, so if that worked for you, you must have had an old version
> of cabal.
>
> Please see https://github.com/haskell/cabal/issues/6481 for some
> context and to help you find a new workflow that works for you
> (ideally, a standard one).
>
> Kind regards,
> Mikolaj
>
> On Sat, Oct 30, 2021 at 5:40 PM George Colpitts
> <george.colpitts at gmail.com> wrote:
> >
> > Thanks Ben!
> >
> > There seems to be a regression in ghc / cabal integration in 9.2.1.
> >
> > In 9.2.1 if I do
> >
> > cabal install vector
> >
> > Compilation of a file containing
> >
> >
> > import Data.Vector
> >
> >
> > main = undefined
> >
> >
> > fails with
> >
> >  Could not find module ‘Data.Vector’
> >     Perhaps you meant Data.Functor (from base-4.16.0.0)
> >     Use -v (or `:set -v` in ghci) to see a list of the files searched
> for.
> >   |
> > 2 | import Data.Vector
> >   | ^^^^^^^^^^^^^^^^^^
> >
> > The preceding works on ghc 9.0.1
> >
> > Should I file a bug against Cabal?
> >
> > Thanks
> > George
> >
> > On Fri, Oct 29, 2021 at 12:54 PM Ben Gamari <ben at well-typed.com> wrote:
> >>
> >> Hi all,
> >>
> >> The GHC developers are very happy to at long last announce the
> >> availability of GHC 9.2.1. Binary distributions, source distributions,
> >> and documentation are available at
> >>
> >>     https://downloads.haskell.org/ghc/9.2.1
> >>
> >> GHC 9.2 brings a number of exciting features including:
> >>
> >>  * A native code generation backend for AArch64, significantly speeding
> >>    compilation time on ARM platforms like the Apple M1.
> >>
> >>  * Many changes in the area of records, including the new
> >>    `RecordDotSyntax` and `NoFieldSelectors` language extensions, as well
> >>    as Support for `DuplicateRecordFields` with `PatternSynonyms`.
> >>
> >>  * Introduction of the new `GHC2021` language extension set, giving
> >>    users convenient access to a larger set of language extensions which
> >>    have been long considered stable.
> >>
> >>  * Merging of `ghc-exactprint` into the GHC tree, providing
> >>    infrastructure for source-to-source program rewriting out-of-the-box.
> >>
> >>  * Introduction of a `BoxedRep` `RuntimeRep`, allowing for polymorphism
> >>    over levity of boxed objects (#17526)
> >>
> >>  * Implementation of the `UnliftedDataTypes` extension, allowing users
> >>    to define types which do not admit lazy evaluation ([proposal])
> >>
> >>  * The new [`-hi` profiling] mechanism which provides significantly
> >>    improved insight into thunk leaks.
> >>
> >>  * Support for the `ghc-debug` out-of-process heap inspection library
> >>    [ghc-debug]
> >>
> >>  * Significant improvements in the bytecode interpreter, allowing more
> >>    programs to be efficently run in GHCi and Template Haskell splices.
> >>
> >>  * Support for profiling of pinned objects with the cost-centre profiler
> >>    (#7275)
> >>
> >>  * Faster compilation and a smaller memory footprint
> >>
> >>  * Introduction of Haddock documentation support in TemplateHaskell
> (#5467)
> >>
> >> Finally, thank you to Microsoft Research, GitHub, IOHK, the Zw3rk stake
> >> pool, Tweag I/O, Serokell, Equinix, SimSpace, and other anonymous
> >> contributors whose on-going financial and in-kind support has
> >> facilitated GHC maintenance and release management over the years.
> >> Moreover, this release would not have been possible without the hundreds
> >> of open-source contributors whose work comprise this release.
> >>
> >> As always, do open a [ticket] if you see anything amiss.
> >>
> >> Happy testing,
> >>
> >> - Ben
> >>
> >>
> >> [apple-m1]:
> https://www.haskell.org/ghc/blog/20210309-apple-m1-story.html
> >> [proposal]:
> https://github.com/ghc-proposals/ghc-proposals/blob/master/proposals/0265-unlifted-datatypes.rst
> >> [-hi profiling]:
> https://well-typed.com/blog/2021/01/first-look-at-hi-profiling-mode/
> >> [ghc-debug]: http://ghc.gitlab.haskell.org/ghc-debug/
> >> [ticket]: https://gitlab.haskell.org/ghc/ghc/-/issues/new
> >> _______________________________________________
> >> ghc-devs mailing list
> >> ghc-devs at haskell.org
> >> http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs
> >
> > _______________________________________________
> > ghc-devs mailing list
> > ghc-devs at haskell.org
> > http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.haskell.org/pipermail/ghc-devs/attachments/20211030/3db6321a/attachment.html>


More information about the ghc-devs mailing list