Subj : How to overcome compilation errors? To : comp.os.linux From : Occam Date : Tue Aug 24 2004 10:22 am On Tue, 24 Aug 2004 09:08:51 +1000, Occam wrote: >I have had a new experience - when compiling kdemultimedia-3.3.0 I got >compilation errors that "should not" occur. >I am running Skackware 10 with kernel 2.6.7, and have compiled several programs >that are not included in Slack 10 - no problems. >However, when compiling the new KDE 3.3 the compile process has failed for the >module kdemultimedia - but not in the KDE code, but in files included from the >kernel (via /usr/include..) as shown below. >I have >* checked the included modules from the kernel: they look correct to the naked >eye (and in one case identical (except for '64' being another number) to the >proceeding function) >* checked the KDE code (correct MD5 sum) >* re-untarred the kdemultimedia archive and recompiled (same errors). > >What should and can I do next? >* move to the 2.6.8.1 kernel? >* find some other code (which??) that uses the same #include chain as >kdemultimedia and see if it compiles ok? >* give up on getting KDE3.3 with eg the gphoto software integrated, and be >satisfied with the precompiled packages for Slack 10? >* wait until KDE 3.3.1 and see if the compilation works there? >* any ideas??? > >Since I have not done any complicated programming for a long time, I hesitate to >try to write code that uses the long include chains, parts within kdemultimedia, >myself - but as a last resort I may have to do it. Sorry, forgot the error list - here it is: In file included from /usr/include/linux/cdrom.h:14, from cdromAccess_Linux.cpp:17, from cdromAccess.cpp:33: /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. /usr/include/asm/byteorder.h:43: error: parse error before `}' token /usr/include/asm/byteorder.h:44: error: syntax error before `.' token /usr/include/asm/byteorder.h:50: error: syntax error before `.' token /usr/include/asm/byteorder.h:51: error: syntax error before `.' token /usr/include/asm/byteorder.h:52: error: parse error before `:' token In file included from /usr/include/linux/byteorder/little_endian.h:11, from /usr/include/asm/byteorder.h:65, from /usr/include/linux/cdrom.h:14, from cdromAccess_Linux.cpp:17, from cdromAccess.cpp:33: /usr/include/linux/byteorder/swab.h:199: error: syntax error before `(' token /usr/include/linux/byteorder/swab.h:209: error: syntax error before `(' token /usr/include/linux/byteorder/swab.h:213: error: `__u64' was not declared in this scope /usr/include/linux/byteorder/swab.h:213: error: `addr' was not declared in this scope /usr/include/linux/byteorder/swab.h:214: error: variable or field `__swab64s' declared void /usr/include/linux/byteorder/swab.h:214: error: `__swab64s' declared as an `inline' variable /usr/include/linux/byteorder/swab.h:214: error: syntax error before `{' token make[4]: *** [cdromAccess.lo] Error 1 make[3]: *** [all-recursive] Error 1 make[2]: *** [all-recursive] Error 1 make[1]: *** [all-recursive] Error 1 make: *** [all] Error 2 ==================================================== .