Since we've received multiple bug reports on
this, and there are many people suffering from it reporting on the
cabal issue, Neil and I decided a more public announcement was
warranted.
There is an as-yet undiagnosed bug in cabal which causes some
packages to fail to install. Packages known to be affected are
blaze-builder-enumerator, data-default-instances-old-locale,
vector-binary-instances, and data-default-instances-containers. The
output looks something like:
Resolving dependencies...
Configuring data-default-instances-old-locale-0.0.1...
Building data-default-instances-old-locale-0.0.1...
Failed to install data-default-instances-old-locale-0.0.1
Build log ( C:\Users\gl67\AppData\Roaming\cabal\logs\data-default-instances-old-locale-0.0.1.log ):
Building data-default-instances-old-locale-0.0.1...
Preprocessing library data-default-instances-old-locale-0.0.1...
[1 of 1] Compiling Data.Default.Instances.OldLocale ( Data\Default\Instances\OldLocale.hs, dist\build\Data\Default\Instances\OldLocale.o )
C:\Users\gl67\repos\MinGHC\7.10.1\ghc-7.10.1\mingw\bin\ar.exe: dist\build\libHSdata-default-instances-old-locale-0.0.1-6jcjjaR25tK4x3nJhHHjFM.a-11336\libHSdata-default-instances-old-locale-0.0.1-6jcjjaR25tK4x3nJhHHjFM.a: No such file or directory
cabal.exe: Error: some packages failed to install:
data-default-instances-old-locale-0.0.1 failed during the building phase. The
exception was:
ExitFailure 1
There are two workarounds I know of at this time:
-
You can manually unpack and install the package which seems to
work, e.g.:
cabal unpack data-default-instances-old-locale-0.0.1
cabal install .\data-default-instances-old-locale-0.0.1
-
Drop down to GHC 7.8.4 until the cabal bug is fixed
For normal users, you can stop reading here. If you're
interested in more details and may be able to help fix it, here's a
summary of the research I've done so far:
As far as I can tell, this is a bug in cabal-install, not
the Cabal library. Despite reports to the contrary, it does not
seem to be that the parallelization level (-j option) has any
impact. The only thing that seems to affect the behavior is whether
cabal-install
unpacks and installs in one step, or
does it in two steps. That's why unpacking and then installing
works around the bug.
I've stared at cabal logs on this quite a bit, but don't see a
rhyme or reason to what's happening here. The bug is easily
reproducible, so hopefully someone with more cabal expertise will
be able to look at this soon, as this bug has high severity and has
been affecting Windows users for almost two months.
Subscribe to our blog via email
Email subscriptions come from our Atom feed and are handled by Blogtrottr. You will only receive notifications of blog posts, and can unsubscribe any time.
Do you like this blog post and need help with Next Generation Software Engineering, Platform Engineering or Blockchain & Smart Contracts? Contact us.