freecnc-0.2.0 fails to build with the following errors: g++ -Wall -I./include `sdl-config --cflags` -O2 -march=athlon-xp -momit-leaf-frame-pointer -pipe -c misc/args.cpp -o misc/args.o In file included from /usr/include/stdlib.h:43, from misc/args.cpp:7: /usr/include/bits/waitstatus.h:80: error: declaration of `unsigned int wait::<anonymous struct>::__w_retcode' /usr/include/bits/waitstatus.h:75: error: conflicts with previous declaration ` unsigned int wait::<anonymous struct>::__w_retcode' /usr/include/bits/waitstatus.h:81: error: declaration of `unsigned int wait::<anonymous struct>::__w_coredump' /usr/include/bits/waitstatus.h:74: error: conflicts with previous declaration ` unsigned int wait::<anonymous struct>::__w_coredump' /usr/include/bits/waitstatus.h:82: error: declaration of `unsigned int wait::<anonymous struct>::__w_termsig' /usr/include/bits/waitstatus.h:73: error: conflicts with previous declaration ` unsigned int wait::<anonymous struct>::__w_termsig' /usr/include/bits/waitstatus.h:94: error: declaration of `unsigned int wait::<anonymous struct>::__w_stopsig' /usr/include/bits/waitstatus.h:89: error: conflicts with previous declaration ` unsigned int wait::<anonymous struct>::__w_stopsig' /usr/include/bits/waitstatus.h:95: error: declaration of `unsigned int wait::<anonymous struct>::__w_stopval' /usr/include/bits/waitstatus.h:88: error: conflicts with previous declaration ` unsigned int wait::<anonymous struct>::__w_stopval' In file included from /usr/include/stdlib.h:43, from freecnc.cpp:8: /usr/include/bits/waitstatus.h:80: error: declaration of `unsigned int wait::<anonymous struct>::__w_retcode' /usr/include/bits/waitstatus.h:75: error: conflicts with previous declaration ` unsigned int wait::<anonymous struct>::__w_retcode' /usr/include/bits/waitstatus.h:81: error: declaration of `unsigned int wait::<anonymous struct>::__w_coredump' /usr/include/bits/waitstatus.h:74: error: conflicts with previous declaration ` unsigned int wait::<anonymous struct>::__w_coredump' /usr/include/bits/waitstatus.h:82: error: declaration of `unsigned int wait::<anonymous struct>::__w_termsig' /usr/include/bits/waitstatus.h:73: error: conflicts with previous declaration ` unsigned int wait::<anonymous struct>::__w_termsig' /usr/include/bits/waitstatus.h:94: error: declaration of `unsigned int wait::<anonymous struct>::__w_stopsig' /usr/include/bits/waitstatus.h:89: error: conflicts with previous declaration ` unsigned int wait::<anonymous struct>::__w_stopsig' /usr/include/bits/waitstatus.h:95: error: declaration of `unsigned int wait::<anonymous struct>::__w_stopval' /usr/include/bits/waitstatus.h:88: error: conflicts with previous declaration ` unsigned int wait::<anonymous struct>::__w_stopval' make[1]: *** [misc/args.o] Error 1 make[1]: *** Waiting for unfinished jobs.... make[1]: *** [freecnc.o] Error 1 make[1]: Leaving directory `/var/tmp/portage/freecnc-0.2.0/work/freecnc++/src' make: *** [all] Error 2 !!! ERROR: games-strategy/freecnc-0.2.0 failed. !!! Function src_compile, Line 45, Exitcode 2 !!! (no error message) The indicated pairs of lines in waitstatus.h appear to be conflicting because BYTE_ORDER is not checked correctly; they should be mutually exclusive. However, a simple program that includes stdlib.h and performs a similar test works correctly, so I can't assume that this is a bug in stdlib. Reproducible: Always Steps to Reproduce: 1. emerge freecnc 2. watch it bail with the above errors Actual Results: freecnc failed to build Expected Results: built correctly Portage 2.0.51.19 (default-linux/x86/2005.0, gcc-3.3.5-20050130, glibc-2.3.4.20041102-r1, 2.6.12-rc1-love1 i686) ================================================================= System uname: 2.6.12-rc1-love1 i686 AMD Athlon(tm) XP 1800+ Gentoo Base System version 1.4.16 Python: dev-lang/python-2.3.5 [2.3.5 (#1, Apr 28 2005, 11:18:13)] dev-lang/python: 2.3.5 sys-apps/sandbox: [Not Present] sys-devel/autoconf: 2.13, 2.59-r6 sys-devel/automake: 1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.4 sys-devel/binutils: 2.15.92.0.2-r7 sys-devel/libtool: 1.5.16 virtual/os-headers: 2.6.8.1-r2 ACCEPT_KEYWORDS="x86" AUTOCLEAN="yes" CFLAGS="-O2 -march=athlon-xp -momit-leaf-frame-pointer -pipe" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3/share/config /usr/lib/X11/xkb /usr/share/config /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d" CXXFLAGS="-O2 -march=athlon-xp -momit-leaf-frame-pointer -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="autoaddcvs autoconfig ccache distlocks sandbox sfperms strict" GENTOO_MIRRORS="http://gentoo.mirrors.tds.net/gentoo" LDFLAGS="-Wl,-O1" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage" SYNC="rsync://rsync.us.gentoo.org/gentoo-portage" USE="x86 3dnow X alsa apm avi berkdb bitmap-fonts cdr cjk crypt cups dvd dvdr emboss encode foomaticdb fortran gdbm gif gpm gtk gtk2 imlib ipv6 java jpeg libg++ libwww mad mikmod mmx motif mp3 mpeg ncurses nls nptl nptlonly oggvorbis opengl oss pam pdflib perl png python qt quicktime readline sdl spell sse ssl tcpd tiff truetype truetype-fonts type1-fonts unicode xml2 xv zlib" Unset: ASFLAGS, CBUILD, CTARGET, LANG, LC_ALL, LINGUAS
Sorry, that's __BYTE_ORDER, not BYTE_ORDER.
the only way that could be was if both __BYTE_ORDER and __LITTLE_ENDIAN and __BIG_ENDIAN were undefined if they're undefined, it sounds like your headers are broken ... try upgrading linux-headers to 2.6.8.1-r4 or 2.6.11
I have not upgraded linux-headers since installation. It has built all of my packages. The test program I wrote seems to indicate that the endianness constants are defined correctly. freecnc-0.2.1.31072003 does not exhibit this problem (just tested). I have only seen this problem with freecnc-0.2.0. I'm not trying to be difficult, but under the circumstances I'm not especially inclined to muck with my headers.
like i said, the BYTE/ENDIAN macro's werent being defined fixed in cvs