Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 29918

Summary: glibc-2.3.2-r6 installs unhappy w/-ansi /usr/include/sys/sysmacros.h file
Product: Gentoo Linux Reporter: Wojciech Milkowski <wmilkowski>
Component: [OLD] Core systemAssignee: Martin Schlemmer (RETIRED) <azarah>
Status: RESOLVED FIXED    
Severity: major CC: gcc-porting, vapier
Priority: High    
Version: unspecified   
Hardware: All   
OS: Linux   
URL: http://sources.redhat.com/ml/libc-alpha/2003-09/msg00248.html
Whiteboard:
Package list:
Runtime testing required: ---
Bug Depends on:    
Bug Blocks: 30207    

Description Wojciech Milkowski 2003-09-29 08:38:19 UTC
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.
Comment 1 SpanKY gentoo-dev 2003-09-29 08:41:08 UTC
*** Bug 29919 has been marked as a duplicate of this bug. ***
Comment 2 SpanKY gentoo-dev 2003-09-29 08:42:36 UTC
i had this with a completely different package ... forget what though ...
Comment 3 SpanKY gentoo-dev 2003-09-29 09:21:15 UTC
kdemultimedia ... many configure tests fail while trying to emerge it ...
Comment 4 Roy Marples (RETIRED) gentoo-dev 2003-10-01 05:52:36 UTC
xfree (all versions in portage) also fails with this error
Comment 5 SpanKY gentoo-dev 2003-10-01 10:40:21 UTC
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'
Comment 6 SpanKY gentoo-dev 2003-10-01 10:44:47 UTC
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
Comment 7 SpanKY gentoo-dev 2003-10-01 11:24:31 UTC
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
Comment 9 Joshua Kinard gentoo-dev 2003-10-01 22:33:24 UTC
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)
Comment 10 Roy Marples (RETIRED) gentoo-dev 2003-10-02 04:53:12 UTC
"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 :)
Comment 11 Martin Schlemmer (RETIRED) gentoo-dev 2003-10-27 11:38:59 UTC
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.