[Nix-dev] can't share a store between i686-linux and i686-darwin (was: Nix 0.13pre17232 doesn't work on i386-apple-darwin9.7.0)

Eelco Dolstra e.dolstra at tudelft.nl
Thu Oct 8 10:44:46 CEST 2009


Hi,

Peter Simons wrote:

>  > Why did you have this impression? If there was an error, can you
>  > reproduce it?
> 
>  1) Compile Nix on i686-linux with --disable-old-db-compat, then bootstrap the
>     store with "./nix-env -i nix".
> 
>  2) Rsync that store to i686-darwin.

This is lossy because Darwin is case-insensitive.  For instance, the
linux-headers package contains a bunch of files that only differ in case, e.g.

/nix/store/k4c2wq1nkjb69jnnkcjrjrfc10iih06x-linux-headers-2.6.28.5/include/linux/netfilter/xt_connmark.h
/nix/store/k4c2wq1nkjb69jnnkcjrjrfc10iih06x-linux-headers-2.6.28.5/include/linux/netfilter/xt_CONNMARK.h

So if you rsync this to Darwin you will lose a file.  Obviously this can break
packages.

Not sure how this explain nix-env collisions though.

-- 
Eelco Dolstra | http://www.st.ewi.tudelft.nl/~dolstra/



More information about the nix-dev mailing list