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

Cabal fails to install/uprade #6615

Closed
mouse07410 opened this issue Mar 25, 2020 · 20 comments
Closed

Cabal fails to install/uprade #6615

mouse07410 opened this issue Mar 25, 2020 · 20 comments

Comments

@mouse07410
Copy link
Collaborator

Describe the bug

Cabal upgrade (aka cabal install cabal-install) fails.

To Reproduce
Steps to reproduce the behavior - as per your README:

$ cabal install cabal-install
Warning: Unknown/unsupported 'ghc' version detected (Cabal 3.0.0.0 supports
'ghc' version < 8.10): /Users/ur20980/.ghcup/bin/ghc is version 8.10.1
Warning: Unknown/unsupported 'ghc' version detected (Cabal 3.0.0.0 supports
'ghc' version < 8.10): /Users/ur20980/.ghcup/bin/ghc is version 8.10.1
Resolving dependencies...
Build profile: -w ghc-8.10.1 -O1
In order, the following will be built (use -v for more details):
 - cabal-install-3.0.0.0 (exe:cabal) (requires build)
Starting     cabal-install-3.0.0.0 (all, legacy fallback)
Building     cabal-install-3.0.0.0 (all, legacy fallback)

Failed to build cabal-install-3.0.0.0.
Build log (
/Users/ur20980/.cabal/logs/ghc-8.10.1/cbl-nstll-3.0.0.0-604f306e.log ):
[1 of 1] Compiling Main             ( /var/folders/c6/lnc_0m093ys8w16md_fm1mnxhtfnj8/T/cabal-install.-68428/dist-newstyle/tmp/src-68428/cabal-install-3.0.0.0/dist/setup/setup.hs, /var/folders/c6/lnc_0m093ys8w16md_fm1mnxhtfnj8/T/cabal-install.-68428/dist-newstyle/tmp/src-68428/cabal-install-3.0.0.0/dist/setup/Main.o )
Linking /var/folders/c6/lnc_0m093ys8w16md_fm1mnxhtfnj8/T/cabal-install.-68428/dist-newstyle/tmp/src-68428/cabal-install-3.0.0.0/dist/setup/setup ...
Configuring cabal-install-3.0.0.0...
Preprocessing executable 'cabal' for cabal-install-3.0.0.0..
Building executable 'cabal' for cabal-install-3.0.0.0..

on the commandline: warning:
    -Wnoncanonical-monadfail-instances is deprecated: fail is no longer a method of Monad
[  1 of 156] Compiling Distribution.Client.Compat.Directory ( Distribution/Client/Compat/Directory.hs, dist/build/cabal/cabal-tmp/Distribution/Client/Compat/Directory.dyn_o )
[  2 of 156] Compiling Distribution.Client.Compat.ExecutablePath ( Distribution/Client/Compat/ExecutablePath.hs, dist/build/cabal/cabal-tmp/Distribution/Client/Compat/ExecutablePath.dyn_o )
[  3 of 156] Compiling Distribution.Client.Compat.FileLock ( dist/build/cabal/cabal-tmp/Distribution/Client/Compat/FileLock.hs, dist/build/cabal/cabal-tmp/Distribution/Client/Compat/FileLock.dyn_o )
[  4 of 156] Compiling Distribution.Client.Compat.FilePerms ( Distribution/Client/Compat/FilePerms.hs, dist/build/cabal/cabal-tmp/Distribution/Client/Compat/FilePerms.dyn_o )
[  5 of 156] Compiling Distribution.Client.Compat.Prelude ( Distribution/Client/Compat/Prelude.hs, dist/build/cabal/cabal-tmp/Distribution/Client/Compat/Prelude.dyn_o )
[  6 of 156] Compiling Distribution.Client.Compat.Process ( Distribution/Client/Compat/Process.hs, dist/build/cabal/cabal-tmp/Distribution/Client/Compat/Process.dyn_o )
[  7 of 156] Compiling Distribution.Client.Compat.Semaphore ( Distribution/Client/Compat/Semaphore.hs, dist/build/cabal/cabal-tmp/Distribution/Client/Compat/Semaphore.dyn_o )
[  8 of 156] Compiling Distribution.Client.GZipUtils ( Distribution/Client/GZipUtils.hs, dist/build/cabal/cabal-tmp/Distribution/Client/GZipUtils.dyn_o )
[  9 of 156] Compiling Distribution.Client.Haddock ( Distribution/Client/Haddock.hs, dist/build/cabal/cabal-tmp/Distribution/Client/Haddock.dyn_o )
[ 10 of 156] Compiling Distribution.Client.Init.Licenses ( Distribution/Client/Init/Licenses.hs, dist/build/cabal/cabal-tmp/Distribution/Client/Init/Licenses.dyn_o )
[ 11 of 156] Compiling Distribution.Client.JobControl ( Distribution/Client/JobControl.hs, dist/build/cabal/cabal-tmp/Distribution/Client/JobControl.dyn_o )
[ 12 of 156] Compiling Distribution.Client.PackageUtils ( Distribution/Client/PackageUtils.hs, dist/build/cabal/cabal-tmp/Distribution/Client/PackageUtils.dyn_o )
[ 13 of 156] Compiling Distribution.Client.SavedFlags ( Distribution/Client/SavedFlags.hs, dist/build/cabal/cabal-tmp/Distribution/Client/SavedFlags.dyn_o )
[ 14 of 156] Compiling Distribution.Client.Security.DNS ( Distribution/Client/Security/DNS.hs, dist/build/cabal/cabal-tmp/Distribution/Client/Security/DNS.dyn_o )
[ 15 of 156] Compiling Distribution.Client.Tar ( Distribution/Client/Tar.hs, dist/build/cabal/cabal-tmp/Distribution/Client/Tar.dyn_o )
[ 16 of 156] Compiling Distribution.Client.Utils ( Distribution/Client/Utils.hs, dist/build/cabal/cabal-tmp/Distribution/Client/Utils.dyn_o )
[ 17 of 156] Compiling Distribution.Client.Utils.Assertion ( Distribution/Client/Utils/Assertion.hs, dist/build/cabal/cabal-tmp/Distribution/Client/Utils/Assertion.dyn_o )
[ 18 of 156] Compiling Distribution.Client.Utils.Json ( Distribution/Client/Utils/Json.hs, dist/build/cabal/cabal-tmp/Distribution/Client/Utils/Json.dyn_o )

Distribution/Client/Utils/Json.hs:22:8: warning: [-Wcompat-unqualified-imports]
    To ensure compatibility with future core libraries changes
    imports to Data.List should be
    either qualified or have an explicit import list.
   |
22 | import Data.List
   |        ^^^^^^^^^
[ 19 of 156] Compiling Distribution.Client.Utils.Parsec ( Distribution/Client/Utils/Parsec.hs, dist/build/cabal/cabal-tmp/Distribution/Client/Utils/Parsec.dyn_o )
[ 20 of 156] Compiling Distribution.Client.Check ( Distribution/Client/Check.hs, dist/build/cabal/cabal-tmp/Distribution/Client/Check.dyn_o )

Distribution/Client/Check.hs:48:56: error:
    • Couldn't match expected type ‘[Distribution.Parsec.Error.PError]’
                  with actual type ‘NonEmpty Distribution.Parsec.Error.PError’
    • In the third argument of ‘renderParseError’, namely ‘errors’
      In the second argument of ‘($)’, namely
        ‘renderParseError fpath bs errors warnings’
      In a stmt of a 'do' block:
        hPutStr stderr $ renderParseError fpath bs errors warnings
   |
48 |             hPutStr stderr $ renderParseError fpath bs errors warnings
   |                                                        ^^^^^^
cabal: Failed to build cabal-install-3.0.0.0. See the build log above for
details.

$ 

Expected behavior

Successful upgrade.

System information

  • MacOS Catalina 10.15.3
  • Cabal 3.0.0.0
  • cabal-install 3.0.0.0
  • GHC 8.10.1 (also observed this problem with 8.8.3 and earlier)

Additional context
Log file (probably doesn't add much beyond what I copied above from the terminal): cabal-build-fails.txt

@phadej
Copy link
Collaborator

phadej commented Mar 25, 2020

Cannot reproduce, I get:

Resolving dependencies...
cabal: Could not resolve dependencies:
[__0] trying: cabal-install-3.0.0.0 (user goal)
[__1] trying: cabal-install:+native-dns
[__2] trying: resolv-0.1.1.3 (dependency of cabal-install +native-dns)
[__3] next goal: unix (dependency of cabal-install)
[__3] rejecting: unix-2.7.2.2/installed-2.7.2.2 (conflict: cabal-install =>
base>=4.8 && <4.13, unix => base==4.14.0.0/installed-4.14.0.0)
[__3] trying: unix-2.7.2.2
[__4] next goal: base (dependency of cabal-install)
[__4] rejecting: base-4.14.0.0/installed-4.14.0.0 (conflict: cabal-install =>
base>=4.8 && <4.13)
[__4] rejecting: base-4.12.0.0, base-4.11.1.0, base-4.11.0.0, base-4.10.1.0,
base-4.10.0.0, base-4.9.1.0, base-4.9.0.0, base-4.8.2.0, base-4.8.1.0,
base-4.8.0.0, base-4.7.0.2, base-4.7.0.1, base-4.7.0.0, base-4.6.0.1,
base-4.6.0.0, base-4.5.1.0, base-4.5.0.0, base-4.4.1.0, base-4.4.0.0,
base-4.3.1.0, base-4.3.0.0, base-4.2.0.2, base-4.2.0.1, base-4.2.0.0,
base-4.1.0.0, base-4.0.0.0, base-3.0.3.2, base-3.0.3.1 (constraint from
non-upgradeable package requires installed instance)
[__4] fail (backjumping, conflict set: base, cabal-install)
After searching the rest of the dependency tree exhaustively, these were the
goals I've had most trouble fulfilling: base, unix, cabal-install, HTTP,
resolv, cabal-install:lib, cabal-install:native-dns
Try running with --minimize-conflict-set to improve the error message.

@phadej
Copy link
Collaborator

phadej commented Mar 25, 2020

... which is because cabal-install-3.0 is not buildable with GHC-8.10. (Very likely, that neither will be the next cabal-install-3.2.0.0, you have to use older compiler to build it).

@mouse07410
Copy link
Collaborator Author

Thank you for the quick response.

Cannot reproduce

Yeah, I was getting what you were, until enabled allow-newer: True in ~/.cabal/config.

you have to use older compiler to build it...

It did not work for me with GHC 8.8.3 either:

$ time cabal install cabal-install
Resolving dependencies...
cabal: Could not resolve dependencies:
[__0] trying: cabal-install-3.0.0.0 (user goal)
[__1] next goal: time (dependency of cabal-install)
[__1] rejecting: time-1.9.3/installed-1.9... (conflict: cabal-install =>
base>=4.8 && <4.13, time => base==4.13.0.0/installed-4.1...)
[__1] rejecting: time-1.10 (conflict: cabal-install => time>=1.5.0.1 && <1.10)
[__1] trying: time-1.9.3
[__2] next goal: stm (dependency of cabal-install)
[__2] rejecting: stm-2.5.0.0/installed-2.5... (conflict: cabal-install =>
base>=4.8 && <4.13, stm => base==4.13.0.0/installed-4.1...)
[__2] trying: stm-2.5.0.0
[__3] next goal: process (dependency of cabal-install)
[__3] rejecting: process-1.6.8.0/installed-1.6... (conflict: cabal-install =>
base>=4.8 && <4.13, process => base==4.13.0.0/installed-4.1...)
[__3] trying: process-1.6.8.2
[__4] next goal: pretty (dependency of cabal-install)
[__4] rejecting: pretty-1.1.3.6/installed-1.1... (conflict: cabal-install =>
base>=4.8 && <4.13, pretty => base==4.13.0.0/installed-4.1...)
[__4] trying: pretty-1.1.3.6
[__5] trying: network-3.1.1.1 (dependency of cabal-install)
[__6] next goal: hackage-security (dependency of cabal-install)
[__6] rejecting: hackage-security-0.6.0.0 (conflict: cabal-install =>
hackage-security>=0.5.2.2 && <0.6)
[__6] trying: hackage-security-0.5.3.0
[__7] next goal: template-haskell (dependency of hackage-security)
[__7] rejecting: template-haskell-2.15.0.0/installed-2.1... (conflict:
cabal-install => base>=4.8 && <4.13, template-haskell =>
base==4.13.0.0/installed-4.1...)
[__7] rejecting: template-haskell-2.15.0.0, template-haskell-2.14.0.0,
template-haskell-2.13.0.0, template-haskell-2.12.0.0,
template-haskell-2.11.1.0, template-haskell-2.11.0.0,
template-haskell-2.10.0.0, template-haskell-2.9.0.0, template-haskell-2.8.0.0,
template-haskell-2.7.0.0, template-haskell-2.6.0.0, template-haskell-2.5.0.0,
template-haskell-2.4.0.1, template-haskell-2.4.0.0, template-haskell-2.3.0.1,
template-haskell-2.3.0.0, template-haskell-2.2.0.0 (constraint from
non-upgradeable package requires installed instance)
[__7] fail (backjumping, conflict set: cabal-install, hackage-security,
template-haskell)
After searching the rest of the dependency tree exhaustively, these were the
goals I've had most trouble fulfilling: base, cabal-install, directory,
template-haskell, network, process, time, hackage-security, pretty, deepseq,
HTTP, stm, cabal-install:lib
Try running with --minimize-conflict-set to improve the error message.


real	0m4.697s
user	0m3.913s
sys	0m0.567s

Does it mean one cannot use Cabal with GHC 8.10.1??? And cannot upgrade it under GHC 8.8.3?

With GHC 8.6.5 it appears to be downgrading Cabal to 2.4.1.0 - which is not desirable.

@phadej
Copy link
Collaborator

phadej commented Mar 25, 2020

No :( We unfortunately hadn't GHC-8.8 compatible cabal-install-3.0 release yet (In general, you need "previous" GHC to compile "next" cabal). Our release manager is busy...

@mouse07410
Copy link
Collaborator Author

In general, you need "previous" GHC to compile "next" cabal

Ah. I didn't realize that. So, for 8.8.3 I need to build Cabal with 8.6.5 (which worked).

And for 8.10.1 I need to build it with 8.8.3, but that isn't ready yet. Right?

If you don't mind - what does the following mean from practical point of view:

Warning: Unknown/unsupported 'ghc' version detected (Cabal 3.0.0.0 supports
'ghc' version < 8.10): /Users/ur20980/.ghcup/bin/ghc is version 8.10.1

and when in your opinion it could be remedied?

@phadej
Copy link
Collaborator

phadej commented Mar 25, 2020

Cabal-3.0 doesn't know about GHC-8.10 functionality. Say there is something changed which needs adoptation from a build tool: Cabal-3.0 is "old", so doesn't know about "newer" compilers. It's unluckily that wrong binaries would be produced, but it might be that it just don't work (so you'll get some weird compilation errors).

@mouse07410
Copy link
Collaborator Author

Still, it would be great if at least 3.2.0.0 become compatible with 8.10.1...

Thanks!

@mouse07410
Copy link
Collaborator Author

Also, not quite a problem - it looks like libHSCabal-3.2.0.0-ghc8.10.1.dylib is included, but not Cabal executable itself that could use that level of the library.

Again, what does it mean from practical point of view? (sorry for the layman's question)

@phadej
Copy link
Collaborator

phadej commented Mar 25, 2020

There is Cabal the library, and there is cabal-install executable, often called just cabal.

cabal-install just happens to have the same (similar) name as the library. But they are still separate "components".

GHC only bundles the Cabal library. In theory it's enough to build all the libraries. In practice, it's not convinient, therefore there are tools, like cabal (or stack or ...) which automate some bits of development workflow.

@mouse07410
Copy link
Collaborator Author

Ah, thank you! So, for the GHC's internal needs there is that Cabal library 3.2.0.0.

For a user who wants a tool to automate his workflow, the cabal tool is not provided; or, at least, not at that version level.

I can only ask that hopefully it would become available rather sooner than later.

Oh, and what is cabal-install? Is it also a library? Or a tool to automate builds...?

@phadej
Copy link
Collaborator

phadej commented Mar 25, 2020

cabal-install is the full name of the cabal tool.

@mouse07410
Copy link
Collaborator Author

I see. And cabal-install is not included, alas...

@mouse07410
Copy link
Collaborator Author

This problem impacts other projects/packages that use Cabal. For example, https://github.com/haskell/haskell-ide-engine (see issue haskell/haskell-ide-engine#1712).

It would be great if you guys could help.

@jneira
Copy link
Member

jneira commented Mar 30, 2020

@mouse07410 I've built succesful cabal-install with support for ghc-8.10.1 (aka using the library Cabal-3.2) from source, checking out the 3.2 branch.
For building i used a previous cabal executable (3.0.0.0) downloaded from the official cabal download page and ghc-8.6.5:

> git clone https://github.com/haskell/cabal.git
> cd cabal
> git checkout 3.2
> cabal --version
cabal-install version 3.0.0.0
compiled using version 3.0.0.0 of the Cabal library
> cabal install -w ghc-8.6.5 --install-dir D:\bin\cabals\3.2 cabal-install
....
> D:\bin\cabals\3.2\cabal -version
cabal-install version 3.2.0.0
compiled using version 3.2.0.0 of the Cabal library
> cd ..
> cd cabal-test
> D:\bin\cabals\3.2\cabal -w ghc-8.10.1 build
..... (Succesfully build a simple project)

@mouse07410
Copy link
Collaborator Author

@jneira thank you - great work!

  1. So, if I want to switch everything to cabal-install 3.2.0.0 that supports ghc-8.10.1, where should I install cabal-install that we build using ghc-8.6.5? Would ~/.cabal/bin/ or ~/.ghcup/bin/ be OK?

  2. After the build/installation above succeeds (assuming it does), do I need to rebuild cabal-install 3.2.0.0 that was build with ghc-8.6.5, now using ghc-8.10.1? Or does it automatically support ghc-8.10.1 now, so no need to rebuild it?

  3. When I return to building HIE with ghc-8.10.1 support, what do I do for cabal.project-8.10.1? Do I keep the commit numbers specified in cabal.project-8.8.3, or do I comment them out to just use the master branches...?

@jneira
Copy link
Member

jneira commented Mar 30, 2020

I try to answer 1 y 2 (3 is hie specific):

  1. You can put cabal-install-3.2.0.0 where you wish while the location is in $PATH. But it is from a somewhat cutting-edge branch and it can contain bugs or trigger them so i would keep the cabal released version (3.0.0.0) and a ghc compatible with it somewhere. I would replace it with a release 3.2.0.0 as soon as it is available. In my case i dont usually use newest ghc features so i am fine with ghc-8.6.5.
  2. Afaik a rebuild should not be needed, if there is no cpp conditions (or conditional .cabal stanzas) over ghc version (and they are not, i think)

@mouse07410
Copy link
Collaborator Author

mouse07410 commented Apr 3, 2020

@phadej Tried to build/install from the master branch. Fails miserably:

$ pwd
/Users/ur20980/src/cabal/Cabal
$ time cabal install
Wrote tarball sdist to
/Users/ur20980/Src/cabal/dist-newstyle/sdist/Cabal-3.3.0.0.tar.gz
Wrote tarball sdist to
/Users/ur20980/Src/cabal/dist-newstyle/sdist/cabal-testsuite-3.tar.gz
Wrote tarball sdist to
/Users/ur20980/Src/cabal/dist-newstyle/sdist/cabal-install-3.3.0.0.tar.gz
Wrote tarball sdist to
/Users/ur20980/Src/cabal/dist-newstyle/sdist/solver-benchmarks-3.tar.gz
Wrote tarball sdist to
/Users/ur20980/Src/cabal/dist-newstyle/sdist/Cabal-quickcheck-3.3.0.0.tar.gz
cabal: filepath wildcard 'README.md' does not match any files.


real	0m3.796s
user	0m2.991s
sys	0m0.540s
$ li
Cabal-quickcheck/ Distribution/     Makefile          doc/              tests/
Cabal.cabal       LICENSE           README.md         misc/
ChangeLog.md      Language/         Setup.hs          prologue.txt
$ cd ../cabal-install/
$ time cabal install
Wrote tarball sdist to
/Users/ur20980/Src/cabal/dist-newstyle/sdist/Cabal-3.3.0.0.tar.gz
Wrote tarball sdist to
/Users/ur20980/Src/cabal/dist-newstyle/sdist/cabal-testsuite-3.tar.gz
Wrote tarball sdist to
/Users/ur20980/Src/cabal/dist-newstyle/sdist/cabal-install-3.3.0.0.tar.gz
Wrote tarball sdist to
/Users/ur20980/Src/cabal/dist-newstyle/sdist/solver-benchmarks-3.tar.gz
Wrote tarball sdist to
/Users/ur20980/Src/cabal/dist-newstyle/sdist/Cabal-quickcheck-3.3.0.0.tar.gz
cabal: filepath wildcard 'README.md' does not match any files.


real	0m1.162s
user	0m1.027s
sys	0m0.108s
$ 

I expected some errors, but not even an attempt to build...? I did exactly what's in the top-level README.md...

Update

Trying ./bootstrap.sh in cabal-install subdir gave

$ time ./bootstrap.sh 
mktemp: illegal option -- p
usage: mktemp [-d] [-q] [-t prefix] [-u] template ...
       mktemp [-d] [-q] [-u] -t prefix 
Using clang for C compiler. If this is not what you want, set CC.
Using /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld instead.
Checking installed packages for ghc-8.8.3...
deepseq is already installed and the version is ok.
binary is already installed and the version is ok.
time is already installed and the version is ok.
transformers is already installed and the version is ok.
mtl is already installed and the version is ok.
text is already installed and the version is ok.
parsec is already installed and the version is ok.
network-uri-2.6.1.0 will be downloaded and installed.
network-2.7.0.0 will be downloaded and installed.
HTTP-4000.3.14 will be downloaded and installed.
zlib-0.6.2.1 will be downloaded and installed.
random-1.1 will be downloaded and installed.
. . . . .
lukko-0.1.1 will be downloaded and installed.
hackage-security-0.6.0.0 will be downloaded and installed.
Cabal-3.3.0.0 will be installed from the local Git clone.
Loaded package environment from /Users/ur20980/.ghc/x86_64-darwin-8.8.3/environments/default
[  1 of 242] Compiling Distribution.Compat.Async ( Distribution/Compat/Async.hs, Distribution/Compat/Async.o )
[  2 of 242] Compiling Distribution.Compat.Binary ( Distribution/Compat/Binary.hs, Distribution/Compat/Binary.o )
[  3 of 242] Compiling Distribution.Compat.Directory ( Distribution/Compat/Directory.hs, Distribution/Compat/Directory.o )
[  4 of 242] Compiling Distribution.Compat.Exception ( Distribution/Compat/Exception.hs, Distribution/Compat/Exception.o )
[  5 of 242] Compiling Distribution.Compat.FilePath ( Distribution/Compat/FilePath.hs, Distribution/Compat/FilePath.o )
[  6 of 242] Compiling Distribution.Compat.Internal.TempFile ( Distribution/Compat/Internal/TempFile.hs, Distribution/Compat/Internal/TempFile.o )
[  7 of 242] Compiling Distribution.Compat.MonadFail ( Distribution/Compat/MonadFail.hs, Distribution/Compat/MonadFail.o )
[  8 of 242] Compiling Distribution.Compat.Newtype ( Distribution/Compat/Newtype.hs, Distribution/Compat/Newtype.o )
[  9 of 242] Compiling Distribution.Compat.Process ( Distribution/Compat/Process.hs, Distribution/Compat/Process.o )
[ 10 of 242] Compiling Distribution.Compat.Stack ( Distribution/Compat/Stack.hs, Distribution/Compat/Stack.o )
[ 11 of 242] Compiling Distribution.Compat.Typeable ( Distribution/Compat/Typeable.hs, Distribution/Compat/Typeable.o )
[ 12 of 242] Compiling Distribution.PackageDescription.Utils ( Distribution/PackageDescription/Utils.hs, Distribution/PackageDescription/Utils.o )
[ 13 of 242] Compiling Distribution.Simple.Utils.Json ( Distribution/Simple/Utils/Json.hs, Distribution/Simple/Utils/Json.o )
[ 14 of 242] Compiling Distribution.Utils.Base62 ( Distribution/Utils/Base62.hs, Distribution/Utils/Base62.o )
[ 15 of 242] Compiling Distribution.Utils.MD5 ( Distribution/Utils/MD5.hs, Distribution/Utils/MD5.o )
[ 16 of 242] Compiling Distribution.Utils.String ( Distribution/Utils/String.hs, Distribution/Utils/String.o )
[ 17 of 242] Compiling Distribution.Utils.Structured ( Distribution/Utils/Structured.hs, Distribution/Utils/Structured.o )
[ 18 of 242] Compiling Distribution.Compat.Semigroup ( Distribution/Compat/Semigroup.hs, Distribution/Compat/Semigroup.o )
[ 19 of 242] Compiling Distribution.Compat.Prelude ( Distribution/Compat/Prelude.hs, Distribution/Compat/Prelude.o )
[ 20 of 242] Compiling Distribution.Utils.ShortText ( Distribution/Utils/ShortText.hs, Distribution/Utils/ShortText.o )
[ 21 of 242] Compiling Distribution.Utils.Progress ( Distribution/Utils/Progress.hs, Distribution/Utils/Progress.o )
[ 22 of 242] Compiling Distribution.Utils.MapAccum ( Distribution/Utils/MapAccum.hs, Distribution/Utils/MapAccum.o )
[ 23 of 242] Compiling Distribution.Utils.IOData ( Distribution/Utils/IOData.hs, Distribution/Utils/IOData.o )
[ 24 of 242] Compiling Distribution.Utils.Generic ( Distribution/Utils/Generic.hs, Distribution/Utils/Generic.o )
[ 25 of 242] Compiling Distribution.Utils.CharSet ( Distribution/Utils/CharSet.hs, Distribution/Utils/CharSet.o )
[ 26 of 242] Compiling Distribution.Utils.Regex ( Distribution/Utils/Regex.hs, Distribution/Utils/Regex.o )
[ 27 of 242] Compiling Distribution.Types.Condition ( Distribution/Types/Condition.hs, Distribution/Types/Condition.o )
[ 28 of 242] Compiling Distribution.TestSuite ( Distribution/TestSuite.hs, Distribution/TestSuite.o )
[ 29 of 242] Compiling Distribution.Simple.Program.Internal ( Distribution/Simple/Program/Internal.hs, Distribution/Simple/Program/Internal.o )
[ 30 of 242] Compiling Distribution.Simple.PreProcess.Unlit ( Distribution/Simple/PreProcess/Unlit.hs, Distribution/Simple/PreProcess/Unlit.o )
[ 31 of 242] Compiling Distribution.Simple.InstallDirs.Internal ( Distribution/Simple/InstallDirs/Internal.hs, Distribution/Simple/InstallDirs/Internal.o )
[ 32 of 242] Compiling Distribution.Simple.Flag ( Distribution/Simple/Flag.hs, Distribution/Simple/Flag.o )
[ 33 of 242] Compiling Distribution.Simple.CCompiler ( Distribution/Simple/CCompiler.hs, Distribution/Simple/CCompiler.o )
[ 34 of 242] Compiling Distribution.Parsec.Position ( Distribution/Parsec/Position.hs, Distribution/Parsec/Position.o )
[ 35 of 242] Compiling Distribution.Parsec.Warning ( Distribution/Parsec/Warning.hs, Distribution/Parsec/Warning.o )
[ 36 of 242] Compiling Distribution.Parsec.FieldLineStream ( Distribution/Parsec/FieldLineStream.hs, Distribution/Parsec/FieldLineStream.o )

Distribution/Parsec/FieldLineStream.hs:20:1: error:
    Could not load module ‘Text.Parsec’
    It is a member of the hidden package ‘parsec-3.1.14.0’.
    You can run ‘:set -package parsec’ to expose it.
    (Note: this unloads all the modules in the current scope.)
    Use -v (or `:set -v` in ghci) to see a list of the files searched for.
   |
20 | import qualified Text.Parsec     as Parsec
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Error during cabal-install bootstrap:
Compiling the Setup script failed.

real	0m9.734s
user	0m4.316s
sys	0m2.239s

Default GHC is set to 8.8.3. Installed GHC: 8.6.5, 8.8.3, 8.10.1.

@phadej phadej closed this as completed in 8a4b091 Apr 3, 2020
@mouse07410
Copy link
Collaborator Author

@phadej thanks - the master builds now using cabal-install/bootstrap.sh. What the README.md suggests - doesn't work:

$ cd Cabal; cabal install
. . . . .
$ cd cabal-install; cabal install

Also, I don't think that it's the "Update copyright years" #8a4b091 commit that fixes this issue? ;-)

@phadej
Copy link
Collaborator

phadej commented Apr 3, 2020

It does fix cabal install cabal-install from the root. I have to check what README.md says. Probably it's outdated as our copyright years were...

@mouse07410
Copy link
Collaborator Author

@phadej current master builds Cabal-3.3.0.0. I could only build it with GHC up to 8.8.3, but not 8.10.1.

Is it likely to cause any problems if I use this cabal-3.3.0.0 (or cabal-install 3.3.0.0 ;) in/with a project that based on/employs GHC-8.10.1?

Same question for cabal-install 3.2.0.0 that's currently released - is it OK to use with GHC-8.10.1 projects?

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

3 participants