This is basically the result of an emerge -eb --deep world. Tried with glibc 2.3.2 both with and without NPTL as well as gcc-3.2.2-r1 and gcc-3.2.2-r2. The result is the same: make[5]: Entering directory `/var/tmp/portage/libwww-5.4.0-r1/work/w3c-libwww-5.4.0/Library/src/SSL' /bin/sh ../../../libtool --mode=compile gcc -DHAVE_CONFIG_H -I. -I. -I../../.. -I/usr/local/include -I../../../modules/md5 -I../../../modules/expat/xmlparse -I../../../Library/src -I/usr/include/openssl -march=i486 -Os -pipe -Wall -c HTSSL.c mkdir .libs gcc -DHAVE_CONFIG_H -I. -I. -I../../.. -I/usr/local/include -I../../../modules/md5 -I../../../modules/expat/xmlparse -I../../../Library/src -I/usr/include/openssl -march=i486 -Os -pipe -Wall -c HTSSL.c -fPIC -DPIC -o .libs/HTSSL.lo In file included from ../../../Library/src/wwwsys.h:1024, from HTSSL.c:29: /usr/include/libc.h:33: parse error before "Rune" /usr/include/libc.h:34: parse error before '*' token make[5]: *** [HTSSL.lo] Error 1 make[5]: Leaving directory `/var/tmp/portage/libwww-5.4.0-r1/work/w3c-libwww-5.4.0/Library/src/SSL' make[4]: *** [all-recursive] Error 1 make[4]: Leaving directory `/var/tmp/portage/libwww-5.4.0-r1/work/w3c-libwww-5.4.0/Library/src/SSL' make[3]: *** [all-recursive] Error 1 <SNIP> This started happening after the latest security updates to OpenSSL. Reproducible: Always Steps to Reproduce: 1. 2. 3. Portage 2.0.47-r10 (default-x86-1.4, gcc-3.2.2, glibc-2.3.2-r0) ================================================================= System uname: 2.5.66 i686 Pentium III (Coppermine) GENTOO_MIRRORS="ftp://ftp.sunet.se/pub/os/Linux/distributions/gentoo http://gentoo.oregonstate.edu/ http://www.ibiblio.org/pub/Linux/distributions/gentoo" CONFIG_PROTECT="/etc /var/qmail/control /usr/kde/2/share/config /usr/kde/3/share/config /usr/X11R6/lib/X11/xkb /usr/kde/3.1/share/config /usr/share/texmf/tex/generic/config/ /usr/share/texmf/tex/platex/config/ /usr/share/config" CONFIG_PROTECT_MASK="/etc/gconf /etc/env.d" PORTDIR="/usr/portage" DISTDIR="/usr/portage/distfiles" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR_OVERLAY="/home/portage" USE="x86 avi crypt encode gif jpeg libg++ mmx ncurses pdflib png truetype xml2 xmms gtkhtml slang readline tetex bonobo svga tcltk java guile postgres gpm libwww perl python imlib gnome gtk qt kde motif cdr 3dnow 3dfx aalib -afs alsa altivec -apm arts berkdb cjk cups curl dga directfb doc dvd esd ethereal evo fbcon flash freetds gb gd gdbm ggi gphoto2 gps gtk2 imap innodb ipv6 kerberos krb4 ldap lcms libgda mbox mikmod mozilla mozsvg mozcalendar mozaccess mozinterfaceinfo mozp3p mozxmlterm mpeg mpi mysql nas nls objc odbc oggvorbis opengl oss pam pcap pda pic quicktime ruby samba sasl scanner sdl slp snmp spell sse ssl -static tcpd tiff X xml xv -zlib nptl" COMPILER="gcc3" CHOST="i486-pc-linux-gnu" CFLAGS="-march=i486 -Os -pipe" CXXFLAGS="-march=i486 -Os -pipe" ACCEPT_KEYWORDS="x86 ~x86" MAKEOPTS="" AUTOCLEAN="yes" SYNC="rsync://rsync.no.gentoo.org/gentoo-portage" FEATURES="sandbox buildpkg ccache"
Now after trying a bunch of stuff such as replacing -Os with O1 and disabling ccache I finally got the brilliant idea to check where /usr/include/libc.h actually comes from. It turns out that it is from dev-libs/9libs which is a bunch of libraries to emulate a Plan 9 programming environment. I unmerged 9libs and now libwww compiles with all bells and whistles on. I bounced the severity rating down a bit. When finding a resolution remember that this is a compile time conflict and most likely not a conflict at runtime.
how about adding DEPEND=" !dev-libs/9libs " ?
Thanks for this. I tried it, and 9libs seems to cause problems with PHP as well. So i'm putting the ! depend in there as well.
I've added Martin's fix to libwww after confirming all of it. Thanks. Alternatively, do we want to change 9libs to install it's headers elsewhere? (I don't think so).