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 system | Assignee: | 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
*** 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. |