regression in ghc / cabal integration in 9.2.1

Brandon Allbery allbery.b at gmail.com
Sat Oct 30 19:43:45 UTC 2021


Wasn't there specifically a new cabal version released to deal with
9.2.1? 3.4.1.0 / 3.6.2.0?

On Sat, Oct 30, 2021 at 3:24 PM George Colpitts
<george.colpitts at gmail.com> wrote:
>
> 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
>
> _______________________________________________
> ghc-devs mailing list
> ghc-devs at haskell.org
> http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs



-- 
brandon s allbery kf8nh
allbery.b at gmail.com


More information about the ghc-devs mailing list