On Sat, Aug 24, 2013 at 09:55:35AM +0200, maximilian attems wrote: > On Tue, Aug 20, 2013 at 07:09:05AM +0200, maximilian attems wrote: > > Package: libklibc > > Version: 2.0.2-1 > > Severity: serious > > File: klibc > > > > new build failure on mips*: > > > > In file included from /«PKGBUILDDIR»/usr/klibc/../include/sys/md.h:30:0, > > from usr/kinit/do_mounts_md.c:19: > > /«PKGBUILDDIR»/linux/include/linux/raid/md_p.h:159:2: error: #error > > unspecified endianness > > #error unspecified endianness > > breakage has been fixed in newer linux-libc-dev containting linux commit > ca044f9a9ed492f0f7e52df999c10ca6f7cfc5c0 > > > Builds were using the faulty 3.9. >
This commit doesn't fix the real issue. The problem is that raid/md_p.h needs __BYTE_ORDER and/or __LITTLE_ENDIAN or __BIG_ENDIAN to be defined but that this header doesn't do it. On most of architectures it is done by <endian.h> included that way from usr/include/klibc/stathelp.h from usr/include/arch/$ARCH/klibc/archstat.h from usr/include/sys/stat.h. On MIPS, given struct stat is not endian dependent, stathelp.h is not included and thus <endian.h> is also not included. The right fix is to change the kernel headers. I have submitted a patch [1] that has been accepted. It will also be included in the next upload of the linux package to unstable. In the meantime, the following patch can be used: --- klibc-2.0.2.orig/usr/kinit/do_mounts_md.c +++ klibc-2.0.2/usr/kinit/do_mounts_md.c @@ -15,6 +15,7 @@ #include <string.h> #include <unistd.h> #include <inttypes.h> +#include <endian.h> #include <sys/sysmacros.h> #include <sys/md.h> #include <linux/major.h> [1] http://comments.gmane.org/gmane.linux.kernel/1586604 -- Aurelien Jarno GPG: 1024D/F1BCDB73 aurel...@aurel32.net http://www.aurel32.net -- To UNSUBSCRIBE, email to debian-bugs-rc-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org