-
Notifications
You must be signed in to change notification settings - Fork 91
Quickcheck does not work out of the box. #285
Comments
The shadowed dependencies issue is intermittent and hard to track down. We think this is upstream and not platform specific, likely tracked by: haskell/cabal#4728 |
No this is totally specific to some builds of Haskell Platform. I don't have Mac, but I have Linux, and you should try the following with the Mac version: Use the full (not core) version, perhaps best with a fresh install for minimum doubt:
The hexstring is an ABI hash; "base-...=hexstring" means the hexstring is the ABI hash of base that Cabal found when building vector. If vector's abi-depends has this entry, then during use-time, GHC will actually check it against the current actual hash ( "inplace" is supposed to refer to an intermediate Cabal state. Normal default Cabal operations don't leak it out into final products. I know a manual way of going out of your way to achieve it, but it sounds crazy that you guys would do it at all; however I can't think of a better explanation. The Windows full version doesn't have this problem, but only because it doesn't even have the abi-depends field for GHC to check. This is probably because the Windows version was built by Cabal 1.x which didn't make this field. |
I do see you've verified this on the linux tarball. @dagit can you comment? |
(I suspect that the linux tarball may have been built with the cabal with the bug in the linked ticket, which could account for this...) |
Whoops. deleted an above misinformed comment. I cracked open the pkg directly and see some =inplace registrations. I will investigate further. |
The (or a) problem is indeed with some builds of the platform, created with cabal 2.0. In particular this generated, as @treblacy pointed out, inplace abis where they should not have been. This is because, for reasons obscure to me, we did exactly what @treblacy thought was nuts, which is explicitly asked to use them! I think this must have made some sense some time ago when inplace things had no abi hash generated, but of course broke terribly with cabal 2.0. See commit 669e8ab which appears to fix this. This issue should only have affected full builds of the platform on mac and linux. I'll try to have some new builds out soon. |
A new mac build is out. New linux build hopefully soon. |
The new release indeed came out shortly after, just didn't close this issue. The underlying cause should be fixed properly by #293 |
Installed through: brew cask install haskell-platform.
import Test.QuickCheck
does not work out of the box. GHC shows the following error:
When executed with -v5, it shows:
and
Is there any reason why so many packages are shadowed? Including QuichCheck, which I am unable to use despite being installed.
The list of installed packages:
Only the default packages of the Haskell Platform should be there.
The text was updated successfully, but these errors were encountered: