It would appear that there are some bad conventions knocking about in certain ebuilds, which is why I've stuck this here rather than finding each of the relevant ebuilds. Openoffice, for example, compiles fine with GCC 3.3.1, as long as you edit the ebuild to remove the GCC checks. However, you get an error saying that Openoffice "requires GCC 3.2 or newer" - which *should* include GCC 3.3*. The check appears to be, if GCC major version != 3.2, die. It should be, if GCC major version < 3.2, die. Maybe we need a new function in portage to allow proper implementation of this? Reproducible: Always Steps to Reproduce: 1. Ensure GCC version is 3.3* 2. emerge openoffice Actual Results: Portage tells me GCC 3.3.1 is older than GCC 3.2. Expected Results: Compilation should continue, and it should do the same with other packages. Portage 2.0.49-r7 (default-x86-1.4, gcc-3.3.1, glibc-2.3.2-r1, 2.4.20-gentoo-r7)================================================================= System uname: 2.4.20-gentoo-r7 i686 AMD Athlon(tm) XP 1600+ ACCEPT_KEYWORDS="x86 ~x86" AUTOCLEAN="yes" CFLAGS="-O3 -march=athlon-xp -msse -mmmx -m3dnow -fforce-addr -fomit-frame-pointer -funroll-loops -falign-functions=64 -falign-jumps=4 -falign-loops=4 -pipe" CHOST="i686-pc-linux-gnu" COMPILER="gcc3" CONFIG_PROTECT="/etc /var/qmail/control /usr/share/config /usr/kde/2/share/config /usr/kde/3/share/config /usr/X11R6/lib/X11/xkb" CONFIG_PROTECT_MASK="/etc/gconf /etc/env.d" CXXFLAGS="-O3 -march=athlon-xp -msse -mmmx -m3dnow -fforce-addr -fomit-frame-pointer -funroll-loops -falign-functions=64 -falign-jumps=4 -falign-loops=4 -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="autoaddcvs sandbox ccache fixpackages" GENTOO_MIRRORS="ftp://mirror.ac.uk/sites/www.ibiblio.org/gentoo" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage" SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage" USE="x86 3dnow aalib apache2 apm avi bonobo cdr crypt cups dga dvd encode esd ethereal faad gdbm gif gnome gnomedb gpm gstreamer gtk gtk2 gtkhtml imap imlib innodb ipv6 jpeg ldap memlimit mikmod mmx mozilla moznocompose moznoirc moznomail mozsvg mpeg mysql ncurses nls nptl oav odbc ofx oggvorbis opengl oss pam pda pdflib png quicktime readline samba sasl sdl slang slp spell sse ssl svga tiff truetype usb vim-with-x wavelan wmf X Xaw3d xml xml2 xmms xv xvid zlib"
the check is in the openoffice ebuild, it checks for gcc 3.2, the message there is wrong. Nothing to do with portage itself.
Ah, sorry, I should probably have made this clearer. The issue is that there isn't (as far as I can tell) a portage-based check. You can only use shell scripting to check, which is just horrible. Is that portable code? I think not. Hopefully I'm wrong, in which case I'll close this, but as far as I can tell, this simple compiler version check *should* be a feature of portage, which it doesn't appear to be.
it isnt a portage thing, it's something that developers do themselves
Riiight... this still doesn't solve the issue. As far as I can tell, there's no way for portage to check the GCC version. Obviously you can't make it depend on >=sys-devel/gcc-3.2* as that breaks things. Surely this is a major shortcoming?
`man 5 gcc` ... portage has access to gcc version information
The openoffice builds are extremely complex. As such there are explicit compiler checks built in. Support for gcc-3.3 has been added somewhere later in the rc series. I'll be creating an ebuild soon for the rc5b sources. In this ebuild I will change the check to allow gcc-3.3.
Move deprecated ebuild still being marked as LATER to Fixed.