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

Reply via email to