-
Edward Z. Yang authored
On the GHC 8.0 RCs, multiple users reported a very strange error whereby GHC would complain that the symbols names recorded in interface files did not match the expected name. The reason for this is that they were using an old version of Cabal which chose symbol names differently from the installed package ID ('id' field) which the package was to be installed with; GHC 8.0 now mandates that these coincides. This change adds a test to ghc-pkg to make sure that 'id' and 'key' (which is how Cabal previously reported what the symbol name was supposed to be) match; if they don't match or key is missing, we assume that the Cabal was too old. Bikeshed points: - Should we offer more information about how to upgrade Cabal correctly (i.e. specify a version?) - Should we allow for a missing 'key'? If we allow for 'key' to be missing, we lose the ability to detect Cabal from GHC 7.8 or earlier being used. If we requi...
d80caca1