2.4.21 byteorder.h problem with__u64

Rick Warner (rick@sapphire.no-ip.com)
Tue, 24 Jun 2003 19:48:33 -0400


Hello all,
I am in the process of building a LFS system using gcc 3.2.3, glibc 2.3.2, and
linux 2.4.21. I have the full system built short of kde. In building the
kdemultimedia package from kde-3.1.2, I get errors regarding __u64 being
undefined in byteorder.h on the swab64 function. This function is dependent
on _GNU_ being defined, while the __u64 type is only defined when _GNU_ is
defined and _STRICT_ANSI_ is not.

I found some references to this from 5/6/03 timeframe for 2.4.21-rc1 with a
patch included, but this patch was not included into 2.4.21! The error is
still there! The messages in the thread were just arguments about userland
progs including kernel headers.... if userland isn't supposed to use kernel
headers.. why are they copied into /usr/include !? It is perfectly normal
for a userland app to include cdrom.h.. which in turn includes the
problematic file......

I have used the patch which removes the swab64 function when _STRICT_ANSI_ is
defined on my byteorder.h... this has resolved my problem....

My real question is why this hasn't been included in the 2.4.21 release.
Having a type be used with _STRICT_ANSI_ defined when the type isn't defined
when _STRICT_ANSI_ is defined is definately wrong. It can't stay the way it
is. If people want to argue about the "correct" solution (either defining
__u64 regardless of _STRICT_ANSI_ or not defining the swab64 function if
_STRICT_ANSI_ is defined), that's fine... as long as SOME solution is put in
place.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/