[Nix-dev] GHC pointed at the wrong package

Mateusz Kowalczyk fuuzetsu at fuuzetsu.co.uk
Sat Aug 23 15:15:53 CEST 2014


On 08/23/2014 01:29 PM, Peter Simons wrote:
> Hi Mateusz,
> 
>  > There are problems in package regex-tdfa-1.2.0:
>  >   dependency "parsec-3.1.5-ca5ed8f175b69e1a085cfeaf3b95f424" doesn't exist
>  > There are problems in package regex-tdfa-rc-1.1.8.3:
>  >   dependency "parsec-3.1.5-ca5ed8f175b69e1a085cfeaf3b95f424" doesn't exist
> 
> the process that generates those IDs in GHC is non-deterministic. Two
> people can compile the same library with the same version of GHC on the
> same type of machine yet end up with two distinct IDs. It doesn't happen
> often, but it does happen.
> 
> I'd recommend running
> 
>  $ nix-store --delete /nix/store/*-haskell-parsec-ghc7.8.3-3.1.5-shared
> 
> on all your machines. Then the next build will download these packages
> from Hydra, and you'll have a consistent build again. Note that you may
> have to remove packages from your active profiles to make that deletion
> process succeed.
> 
> I hope this helps,
> Peter
> 

It's very unfortunate to hear about the package ID stuff. Is there a bug
open?

I managed to resolve the issue by getting rid of my parsec package as
you advised. Unluckily it was depended on all the way from
xmonad-extras. In the end I was able to remove -extras from my system as
my config only needs -contrib, reboot, garbage collect and it works. I
fear if this ever hits something xmonad directly depends on because I'll
have to get rid of my WM to fix the issue…

Perhaps a --force-overwrite flag should be created in nix-store as long
as two hashes match?

Thanks for help!

-- 
Mateusz K.


More information about the nix-dev mailing list