(To be fair, this package is masked on amd64, but the error seems to be gcc3 related, not amd64-related.) icewm's configure.in has this: dnl ----------- If both CC and CXX are GNU compilers, it is better to use CC --- dnl ---- for linking. Also check how to turn off RTTI and exception handling --- if test x"$ac_cv_prog_gxx" != x; then AC_PROG_CC if test x"$ac_cv_prog_gcc" != x; then CXX_LINK=${CC} fi ...this is an incorrect assumption. GCC 3 needs to link C++ programs through g++ and not gcc. Commenting out the test for gcc and CXX_LINK assignment fixed it here, and is possibly a universally good idea. Reproducible: Always Steps to Reproduce: 1. Add amd64 to KEYWORDS in ebuild (may happen on other arches, too) 2. "emerge icewm" Actual Results: Compiled fine, some warnings, crashes at link time with unresolved "operator new" and such, since it doesn't link the C++ runtime. Expected Results: Used g++ to link, not gcc. Gentoo Base System version 1.4.3.10 Portage 2.0.49-r15 (default-amd64-1.4, gcc-3.3.2, glibc-2.3.2-r9, 2.6.0-test11) ================================================================= System uname: 2.6.0-test11 x86_64 5 ccache version 2.2 [enabled] ACCEPT_KEYWORDS="amd64" AUTOCLEAN="yes" CFLAGS="-O3 -funroll-loops -pipe -fomit-frame-pointer" CHOST="x86_64-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="" DISTDIR="/usr/portage/distfiles" FEATURES="sandbox ccache autoaddcvs" GENTOO_MIRRORS="http://gentoo.mirrors.pair.com/" MAKEOPTS="-j3" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="amd64 oss apm avi crypt -cups encode foomaticdb gif -java jpeg libg++ libwww mikmod mpeg ncurses nls pdflib png -qt quicktime spell truetype xml2 xmms xv zlib gdbm berkdb slang readline mysql sdl gpm tcpd pam ssl perl python imlib oggvorbis motif opengl mozilla X gtk2 gtk gnome qt kde alsa sse 3dnow mmx multilib -arts -esd"
(Moved this to "Applications" because it's actually more than a gcc3 issue, now.) I took some initiative and fixed this and a few other issues with the x11-wm/icewm- ebuild. First, the linking issue is fixed. Second, the configure script fails to find xft-config, since it's not in the PATH by default, fixed that, too. Third, the configure script fails to find kde-config, since it's not in the PATH by default, fixed. Fourth, added "amd64" to the KEYWORDS, since it's working fine here (using it while typing this information, actually). This needs an updated icewm-1.2.13.ebuild (patch attached) and some patches to configure.in added to the portage tree (patch also attached). This is the first time I've messed around with the portage tree's internals, so hopefully I did this right... --ryan.
Created attachment 22881 [details, diff] Patches to icewm-1.2.13 configure.in to make it Gentoo-friendly. - Fixed linking - Fixed xft detection - Fixed kde detection
Created attachment 22883 [details, diff] icewm-1.2.13.ebuild fixes - Applies configure.in patch when unpacking. - Explicitly runs ./autogen.sh to regenerate configure script. - Adds "amd64" to KEYWORDS (it works, honest!).
CC'ing Brad House for amd64 stuff as he requests at: http://dev.gentoo.org/~brad_mssw/amd64-tech-notes.html (Plus, gcc-porting@gentoo.org isn't really the people that should be looking at this at this point...) --ryan.
Reassigning to amd64@gentoo.org, where I've come to understand this bug should have been assigned in the first place if I knew what I was doing. :) --ryan.
Since there are changes here that aren't strictly speaking amd64-related, bouncing it over to bcowan (icewm maintainer)
hi did this change make it into the icewm ebuild now? if yes, could we close the bug, mark it as fixed or whatever you like to do that it does not "hang around" in the sky any more? thanks in advance, Alex
Patches don't look like they've been applied yet... What is the status? Will they be? icewm is currently masked for amd64 and we would like to unmask the 1.2.13 stable release.
I've applied the changes to my CVS checkout and tested this on amd64. Compiles fine. Mind if I commit?
Please do. If you are interested in this package, it is currently lacking a real maintainer.
done
(Did an rsync and emerged it, works great! Thanks!) --ryan.