Comment 0 for bug 845716

Revision history for this message
Per Kristian Hove (perhov) wrote :

"apt-get install <package>" fails when trying to install packages larger than approximately 2 GB.

The reason is that APT uses incorrect data types - it counts bytes in floating point(!) as well as signed 32-bit variables, and uses atoi() to convert string representations of sizes to numbers.

The attached patch makes APT use ssize_t and atol().

Symptoms when installing from a private repository containing large packages:

# apt-get install matlab2011b
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following extra packages will be installed:
  matlab2011b-bin
The following NEW packages will be installed:
  matlab2011b matlab2011b-bin
0 upgraded, 2 newly installed, 0 to remove and 126 not upgraded.
2.2856e+09,-2.00936e+09
How odd.. The sizes didn't match, email <email address hidden>
Need to get 2,286MB/2,286MB of archives.
After this operation, 0B of additional disk space will be used.
Do you want to continue [Y/n]? y
Get:1 http://XXXXXXXX/ common/ matlab2011b-bin 1 [2,286MB]
Fetched 1B in 24s (0B/s)
Failed to fetch http://XXXXXXXX/common/matlab2011b-bin_1_amd64.deb Size mismatch
W: Bizarre Error - File size is not what the server reported 2285595598 18446744071700179918
E: Unable to fetch some archives, maybe run apt-get update or try with --fix-missing?