Package: apt
Version: 1.3~rc2
Severity: important
Tags: lfs
apt on i386 (and maybe other 32 bit architectures) is no longer built with LFS
support. Hence installing packages is no longer possible if
/var/cache/apt/archives is on a large partition:
$ apt upgrade
Reading package lists... Done
Building dependency tree
Reading state information... Done
Calculating upgrade... Done
The following package was automatically installed and is no longer required:
libusb-0.1-4
Use 'apt autoremove' to remove it.
The following NEW packages will be installed:
dirmngr gnupg-agent gnupg-l10n libassuan0 libffi6 libgnutls30 libhogweed4 libidn11 libksba8 libldap-2.4-2 libnettle6 libnpth0 libp11-kit0 libsasl2-2
libsasl2-modules libsasl2-modules-db libsqlite3-0 libssl1.0.2 libtasn1-6 pinentry-curses
The following packages will be upgraded:
apt base-passwd binutils bsdutils cpp-6 g++-6 gcc-6 gcc-6-base gnupg gpgv libapt-pkg5.0 libasan3 libatomic1 libaudit-common libaudit1 libblkid1 libcc1-0
libcilkrts5 libfdisk1 libgcc-6-dev libgcc1 libgcrypt20 libgomp1 libitm1 libmount1 libmpx2 libquadmath0 libsmartcols1 libstdc++-6-dev libstdc++6 libsystemd0
libubsan0 libudev1 libuuid1 mount util-linux
36 upgraded, 20 newly installed, 0 to remove and 0 not upgraded.
Need to get 112 MB of archives.
After this operation, 15.9 MB of additional disk space will be used.
W: Couldn't determine free space in /var/cache/apt/archives/ - statvfs (75: Value too large for defined data type)
E: Handler silently failed
The failure is consistent with a program calling statvfs once built with LFS and
once without:
$ cat test.c
#include <stdio.h>
#include <sys/statvfs.h>
int main(int argc, char* argv[])
{
struct statvfs vfs;
if (statvfs(argv[1], &vfs) == -1) {
perror("statvfs");
return -1;
}
printf("f_bsize (block size): %lu\n"
"f_frsize (fragment size): %lu\n"
"f_blocks (size of fs in f_frsize units): %lu\n"
"f_bfree (free blocks): %lu\n"
"f_bavail free blocks for unprivileged users): %lu\n"
"f_files (inodes): %lu\n"
"f_ffree (free inodes): %lu\n"
"f_favail (free inodes for unprivileged users): %lu\n"
"f_fsid (file system ID): %lu\n"
"f_flag (mount flags): %lu\n"
"f_namemax (maximum filename length)%lu\n",
vfs.f_bsize, vfs.f_frsize, vfs.f_blocks, vfs.f_bfree, vfs.f_bavail,
vfs.f_files, vfs.f_ffree, vfs.f_favail, vfs.f_fsid, vfs.f_flag,
vfs.f_namemax);
return 0;
}
$ gcc test.c -o no-lfs
$ gcc $(getconf LFS_CFLAGS) test.c -o lfs
# with LFS
$ ./lfs /var/cache/apt/archives/
f_bsize (block size): 131072
f_frsize (fragment size): 131072
f_blocks (size of fs in f_frsize units): 22620775
f_bfree (free blocks): 0
f_bavail free blocks for unprivileged users): 22616737
f_files (inodes): 0
f_ffree (free inodes): 22616737
f_favail (free inodes for unprivileged users): 0
f_fsid (file system ID): 1494930212
f_flag (mount flags): 1
f_namemax (maximum filename length)1494917568
# no without LFS
$ ./no-lfs /var/cache/apt/archives/
statvfs: Value too large for defined data type
Cheers
(System information below is from my amd64 system since it's a bit cumbersome to
track down all reportbug dependencies by hand.)
-- System Information:
Debian Release: stretch/sid
APT prefers unstable-debug
APT policy: (650, 'unstable-debug'), (650, 'buildd-unstable'), (650, 'unstable'), (601, 'testing'), (600, 'experimental-debug'), (600, 'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: i386
Kernel: Linux 4.6.0-1-amd64 (SMP w/8 CPU cores)
Locale: LANG=en_US.utf8, LC_CTYPE=en_US.utf8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
Versions of packages apt depends on:
ii adduser 3.115
ii debian-archive-keyring 2014.3
ii gpgv 2.1.14-5
ii init-system-helpers 1.42
ii libapt-pkg5.0 1.3~rc2
ii libc6 2.23-4
ii libgcc1 1:6.1.1-12
ii libstdc++6 6.1.1-12
Versions of packages apt recommends:
ii gnupg2 2.1.11-7
Versions of packages apt suggests:
pn apt-doc <none>
ii aptitude 0.8.3-1
ii dpkg-dev 1.18.10
ii powermgmt-base 1.31+nmu1
ii python-apt 1.1.0~beta4
-- no debconf information
--
Sebastian Ramacher
Attachment:
signature.asc
Description: PGP signature