The Byte Order & ANSI problem strikes again.

James Richard Tyrer tyrerj at acm.org
Wed Jun 30 04:17:37 CEST 2004


Building kdeedu 3.3.0 BETA 1 I encountered the byte order problem again:

Making all in webcam
make[5]: Entering directory 
`/usr/CVS-unstable/kde-head/kdeedu/kstars/kstars/indi/webcam'
if /bin/sh ../../../../libtool --silent --mode=compile /usr/local/bin/gcc 
-DHAVE_CONFIG_H -I. -I. -I../../../..   -DQT_THREAD_SUPPORT 
-I/usr/local/ssl/include -I/usr/gnome2/include -D_REENTRANT  -ansi -W -Wall 
-Wchar-subscripts -Wshadow -Wpointer-arith -Wmissing-prototypes -Wwrite-strings 
-D_XOPEN_SOURCE=500 -D_BSD_SOURCE -DNDEBUG -O2  -march=k6-3 -mcpu=k6-3 -O2 
-Wformat-security -Wmissing-format-attribute -MT ccvt_c2.lo -MD -MP -MF 
".deps/ccvt_c2.Tpo" \
   -c -o ccvt_c2.lo `test -f 'ccvt_c2.c' || echo './'`ccvt_c2.c; \
then mv -f ".deps/ccvt_c2.Tpo" ".deps/ccvt_c2.Plo"; \
else rm -f ".deps/ccvt_c2.Tpo"; exit 1; \
fi
In file included from ccvt_types.h:25,
                  from ccvt_c2.c:8:
/usr/include/asm/byteorder.h:38: error: parse error before "__u64"
/usr/include/asm/byteorder.h:38: error: parse error before "val"
/usr/include/asm/byteorder.h: In function `___arch__swab64':
/usr/include/asm/byteorder.h:42: error: parse error before "__u64"
/usr/include/asm/byteorder.h: At top level:
/usr/include/asm/byteorder.h:44: error: parse error before '.' token
/usr/include/asm/byteorder.h:52: error: parse error before string constant
In file included from /usr/include/linux/byteorder/little_endian.h:11,
                  from /usr/include/asm/byteorder.h:65,
                  from ccvt_types.h:25,
                  from ccvt_c2.c:8:
/usr/include/linux/byteorder/swab.h:199: error: parse error before "__fswab64"
/usr/include/linux/byteorder/swab.h:199: error: parse error before "x"
/usr/include/linux/byteorder/swab.h: In function `__fswab64':
/usr/include/linux/byteorder/swab.h:206: error: `x' undeclared (first use in 
this function)
/usr/include/linux/byteorder/swab.h:206: error: (Each undeclared identifier is 
reported only once
/usr/include/linux/byteorder/swab.h:206: error: for each function it appears in.)
/usr/include/linux/byteorder/swab.h: At top level:
/usr/include/linux/byteorder/swab.h:209: error: parse error before "__swab64p"
/usr/include/linux/byteorder/swab.h:209: error: parse error before '*' token
/usr/include/linux/byteorder/swab.h: In function `__swab64p':
/usr/include/linux/byteorder/swab.h:211: error: `x' undeclared (first use in 
this function)
/usr/include/linux/byteorder/swab.h: At top level:
/usr/include/linux/byteorder/swab.h:213: error: parse error before '*' token
/usr/include/linux/byteorder/swab.h: In function `__swab64s':
/usr/include/linux/byteorder/swab.h:215: error: `addr' undeclared (first use in 
this function)
ccvt_c2.c: In function `ccvt_420p_bgr32':
ccvt_c2.c:101: warning: declaration of `v' shadows a global declaration
/usr/include/asm/byteorder.h:43: warning: shadowed declaration is here
ccvt_c2.c: In function `ccvt_420p_bgr24':
ccvt_c2.c:106: warning: declaration of `v' shadows a global declaration
/usr/include/asm/byteorder.h:43: warning: shadowed declaration is here
ccvt_c2.c: In function `ccvt_420p_rgb32':
ccvt_c2.c:111: warning: declaration of `v' shadows a global declaration
/usr/include/asm/byteorder.h:43: warning: shadowed declaration is here
ccvt_c2.c: In function `ccvt_420p_rgb24':
ccvt_c2.c:116: warning: declaration of `v' shadows a global declaration
/usr/include/asm/byteorder.h:43: warning: shadowed declaration is here
make[5]: *** [ccvt_c2.lo] Error 1

This is a mess.  It appears that the 2.4.26 headers are generating errors with 
GCC-3.3.3. :-(

However, the problem is that: "-ansi" parameter.  Remove it and it compiles fine.

--
JRT


More information about the kde-quality mailing list