[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-devel
Subject:    Re: Problem building KDEMultimedia
From:       James Richard Tyrer <tyrerj () acm ! org>
Date:       2003-07-12 1:54:28
[Download RAW message or body]

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 <<
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic