[Nix-dev] Big archive to be imported

Eelco Dolstra e.dolstra at tudelft.nl
Sun Mar 22 18:54:20 CET 2009


Hi,

Lluís Batlle wrote:

> Sorry, I planned to replace the XX before sending the letter. :)
> A 'du' of the store path shows 6.1GB, so I guess the nar archive must
> be of a similar size. I have it in lzma-packed now, 1.6GB big.

>>> When importing it (using the root account), I get from a "nix-store
>>> --import": error: implementation cannot deal with > 32-bit integers.
>> This actually means that you have a file in the archive greater than 2^32.  I
>> don't think there is a limitation on the size of the archive per se.
> A 'du path | sort -n' shows that there isn't any file bigger than 2^32
> in the path.

That's strange.  I've looked at the code, and there doesn't seem to be a
limitation on the size of the archive as a whole.  I did notice that when a
single file is larger than 2^32, it would actually only store the first size %
2^32 bytes instead of giving an error, which is obviously bad :-)  I've now
fixed it to support files larger than 2^32 bytes.

Another problem I fixed was that the error message when applying nix-store
--import or --restore to a wrong input wasn't helpful: it would say
"implementation cannot deal with > 32-bit integers", e.g.

  $ nix-store --import < /etc/passwd
  error: implementation cannot deal with > 32-bit integers

Now it says:

  $ ~/Dev/nix/src/nix-store/nix-store --import < /etc/passwd
  error: input doesn't look like something created by `nix-store --export'

Since you said you compressed it with lzma, did you remember to uncompress it?

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



More information about the nix-dev mailing list