During emerge mozilla-1.4-r4 this error occurs: make[3]: warning: -jN forced in submake: disabling jobserver mode. gcc -o now.o -c -march=athlon-xp -pipe -s -fforce-addr -pipe -ansi -Wall -pthread -O2 -fPIC -UDEBUG -DMOZILLA_CLIENT=1 -DNDEBUG=1 -DXP_UNIX=1 -D_POSIX_SOURCE=1 -D_BSD_SOURCE=1 -D_SVID_SOURCE=1 -D_LARGEFILE64_SOURCE=1 -DHAVE_FCNTL_FILE_LOCKING=1 -DLINUX=1 -Di386=1 -DHAVE_LCHOWN=1 -DHAVE_STRERROR=1 -D_REENTRANT=1 -DFORCE_PR_LOG -D_PR_PTHREADS -UHAVE_CVAR_BUILT_ON_SEM -D_PR_INET6 now.c In file included from /usr/include/sys/types.h:219, from /usr/include/stdlib.h:416, from now.c:36: /usr/include/sys/sysmacros.h:29: error: syntax error before "gnu_dev_major" /usr/include/sys/sysmacros.h:31: error: syntax error before "gnu_dev_minor" /usr/include/sys/sysmacros.h:33: error: syntax error before "gnu_dev_makedev" /usr/include/sys/sysmacros.h:38: error: syntax error before "unsigned" /usr/include/sys/sysmacros.h:40: error: conflicting types for `gnu_dev_major' /usr/include/sys/sysmacros.h:30: error: previous declaration of `gnu_dev_major' /usr/include/sys/sysmacros.h:44: error: syntax error before "unsigned" /usr/include/sys/sysmacros.h:46: error: conflicting types for `gnu_dev_minor' /usr/include/sys/sysmacros.h:32: error: previous declaration of `gnu_dev_minor' /usr/include/sys/sysmacros.h:50: error: syntax error before "unsigned" /usr/include/sys/sysmacros.h:52: error: conflicting types for `gnu_dev_makedev' /usr/include/sys/sysmacros.h:35: error: previous declaration of `gnu_dev_makedev' make[3]: *** [now.o] Error 1 make[3]: Leaving directory `/var/tmp/portage/mozilla-1.4-r4/work/mozilla/nsprpub/config' make[2]: *** [export] Error 2 make[2]: Leaving directory `/var/tmp/portage/mozilla-1.4-r4/work/mozilla/nsprpub' make[1]: *** [nspr] Error 2 make[1]: Leaving directory `/var/tmp/portage/mozilla-1.4-r4/work/mozilla' make: *** [default] Error 2 !!! ERROR: net-www/mozilla-1.4-r4 failed. !!! Function src_compile, Line 360, Exitcode 2 !!! (no error message) my emerge info: Portage 2.0.49-r7 (default-x86-1.4, gcc-3.3.1, glibc-2.3.2-r6, 2.6.0-test6-mm1) ================================================================= System uname: 2.6.0-test6-mm1 i686 AMD Athlon(tm) XP 3000+ ACCEPT_KEYWORDS="x86 ~x86" AUTOCLEAN="yes" CFLAGS="-march=athlon-xp -O3 -pipe -fomit-frame-pointer" CHOST="i686-pc-linux-gnu" COMPILER="gcc3" CONFIG_PROTECT="/etc /var/qmail/control /usr/kde/2/share/config /usr/kde/3/share/config /usr/X11R6/lib/X11/xkb /usr/share/config" CONFIG_PROTECT_MASK="/etc/gconf /etc/env.d" CXXFLAGS="-march=athlon-xp -O3 -pipe -fomit-frame-pointer" DISTDIR="/usr/portage/distfiles" FEATURES="autoaddcvs sandbox ccache nostrip" GENTOO_MIRRORS="http://trumpetti.atm.tut.fi/gentoo" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="x86 oss avi crypt cups encode foomaticdb gif jpeg libg++ libwww mad mikmod mpeg ncurses nls pdflib png quicktime spell truetype xml2 xmms xv zlib gdbm berkdb slang readline svga java X sdl gpm tcpd pam ssl perl python esd imlib oggvorbis gnome gtk motif opengl 3dnow sse mmx -apm -kde -qt acpi bonobo cdr dvd gtk2 tiff wmf jikes mozilla apache2 ipv6 alsa -arts cscope dga flash jack -tetex nptl" Reproducible: Always Steps to Reproduce: I emerge gcc-3.3.1-r4, then glibc-2.3.2-r6, then binutils and gcc again. Actual Results: mozilla-1.4-r4 ebuild failed to compile Expected Results: Should compile witout errors.
*** Bug 29919 has been marked as a duplicate of this bug. ***
i had this with a completely different package ... forget what though ...
kdemultimedia ... many configure tests fail while trying to emerge it ...
xfree (all versions in portage) also fails with this error
the compile fails because in every case -ansi is given to gcc ... mozilla uses it, kdemultimedia uses it, and xfree uses it ... simple test case: root@vapier 0 imake # cat << EOF > test.c #include <sys/sysmacros.h> int main(){return 0;} EOF root@vapier 0 imake # gcc -ansi test.c In file included from test.c:1: /usr/include/sys/sysmacros.h:29: error: syntax error before "gnu_dev_major" /usr/include/sys/sysmacros.h:31: error: syntax error before "gnu_dev_minor" /usr/include/sys/sysmacros.h:33: error: syntax error before "gnu_dev_makedev" /usr/include/sys/sysmacros.h:38: error: syntax error before "unsigned" /usr/include/sys/sysmacros.h:40: error: conflicting types for `gnu_dev_major' /usr/include/sys/sysmacros.h:30: error: previous declaration of `gnu_dev_major' /usr/include/sys/sysmacros.h:44: error: syntax error before "unsigned" /usr/include/sys/sysmacros.h:46: error: conflicting types for `gnu_dev_minor' /usr/include/sys/sysmacros.h:32: error: previous declaration of `gnu_dev_minor' /usr/include/sys/sysmacros.h:50: error: syntax error before "unsigned" /usr/include/sys/sysmacros.h:52: error: conflicting types for `gnu_dev_makedev' /usr/include/sys/sysmacros.h:35: error: previous declaration of `gnu_dev_makedev'
as a quick hack so you guys can compile stuff still, just remove the keyword 'inline' from the 6 definitions of the gnu dev stuff in the header file
actually, the less quick hack is to copy an older version of the header file ... removing inline doesnt do it at all ;) i'll let someone who is less of a tool figure out the real solution
here is a thread from the glibc ml: http://sources.redhat.com/ml/libc-alpha/2003-09/msg00248.html http://sources.redhat.com/ml/libc-alpha/2003-09/msg00251.html and heres the kicker: http://sources.redhat.com/ml/libc-alpha/2003-09/msg00254.html
My suggesstion, find all affected packages and run their Makefile through 'sed' in the src_unpack phase of the ebuild to strip out any -ansi flags. (After reading the libc-alpha threads and making a BugZilla mid-air collision on this bug)
"You are not allowed to include this header when using -ansi. Only ISO C headers are allowed." LOL Looks like a few dev teams will have to change their makefiles! Ah well, I got it fixed today and got Xfree 4.3.99.13 compiled with IGP340M support :)
Erm, this was fixed ages ago ? ---- 30 Sep 2003; Martin Schlemmer <azarah@gentoo.org> glibc-2.3.2-r6.ebuild, files/2.3.2/sysmacros.h: Quick fix for last changes to sysmacros.h that breaks a few things like sys-libs/pwdb and xfree among others. ---- Sorry, did not see this until now.