From kde-devel Sat Jul 12 01:54:28 2003 From: James Richard Tyrer Date: Sat, 12 Jul 2003 01:54:28 +0000 To: kde-devel Subject: Re: Problem building KDEMultimedia X-MARC-Message: https://marc.info/?l=kde-devel&m=105797508129790 Martin Habbecke wrote: > Hi all, > > >>Using: Linux 2.4.21 Kernel built from source GCC-3.3 built from source. >> >>I get an error here: >> > > [...] > >>In file included from /usr/include/linux/cdrom.h:14, >> from cdconfigimp.cpp:78: >>/usr/include/asm/byteorder.h:38: error: syntax error before `(' token >>/usr/include/asm/byteorder.h:42: error: '__u64' is used as a type, but is >>not defined as a type. > > > The problem is (as others stated) that __u64 is not defined as it should be. A > quick look in /usr/include/asm/types.h shows: > __u64 > #if defined(__GNUC__) && !defined(__STRICT_ANSI__) > typedef __signed__ long long __s64; > typedef unsigned long long __u64; > #endif > > Obviously __GNUC__ should be defined if you use g++, so the second variable > causes the trouble. The solution that worked for me: simply remove the > "-ansi" from the CFLAGS / CXXFLAGS (I just removed it from every Makefile by > some simple script). That way g++ doesn't seem to define the second variable. Thank you for pointing out the exact problem sinc Kernel hacking isn't my thing at the moment. This suggests a better HACK. Put this Kernel-2.4.21 header in: "kdemultimedia/asm" and make s slight change in it: #if defined(__GNUC__) typedef __signed__ long long __s64; typedef unsigned long long __u64; #endi WARNING: I haven't tried this yet. -- JRT >> Visit http://mail.kde.org/mailman/listinfo/kde-devel#unsub to unsubscribe <<