Package: e2fsprogs Version: 1.40.4-1 Severity: serious Tags: patch Justification: no longer builds from source
Hi, Ted! Your recent switch to dietlibc for e2fsprogs-static had the unfortunate side effect of breaking amd64 builds, as dietlibc (unlike glibc) doesn't bother providing either llseek or lseek64 on 64-bit architectures. As a consequence, llseek.c consults an incomplete list of 64-bit architectures, incorrectly concludes that amd64 doesn't count, and tries to include <linux/unistd.h>, which dietlibc also lacks. (FTR, you can find a full build log at http://buildd.debian.org/fetch.cgi?pkg=e2fsprogs;ver=1.40.4-1;arch=amd64;stamp=1199555656 .) I am attaching a patch that replaces the hardcoded architecture list with a generic sizeof comparison; could you please apply it, or otherwise address the breakage? Thanks! -- System Information: Debian Release: lenny/sid APT prefers unstable APT policy: (500, 'unstable'), (500, 'testing'), (500, 'stable') Architecture: amd64 (x86_64) Kernel: Linux 2.6.23.10 (SMP w/2 CPU cores) Locale: LANG=en_US, LC_CTYPE=en_US (charmap=ISO-8859-1) Shell: /bin/sh linked to /bin/bash
--- e2fsprogs-1.40.4.orig/lib/blkid/llseek.c +++ e2fsprogs-1.40.4/lib/blkid/llseek.c @@ -45,11 +45,11 @@ #else /* ! HAVE_LLSEEK */ -#if defined(__alpha__) || defined(__ia64__) +#if SIZEOF_LONG == SIZEOF_LONG_LONG #define llseek lseek -#else /* !__alpha__ && !__ia64__*/ +#else /* SIZEOF_LONG != SIZEOF_LONG_LONG */ #include <linux/unistd.h> --- e2fsprogs-1.40.4.orig/lib/ext2fs/llseek.c +++ e2fsprogs-1.40.4/lib/ext2fs/llseek.c @@ -46,11 +46,11 @@ #else /* ! HAVE_LLSEEK */ -#if defined(__alpha__) || defined (__ia64__) +#if SIZEOF_LONG == SIZEOF_LONG_LONG #define llseek lseek -#else /* !__alpha__ && !__ia64__*/ +#else /* SIZEOF_LONG != SIZEOF_LONG_LONG */ #include <linux/unistd.h>