Using gcc-4.0.0, I tried to emerge aria: x86_64-pc-linux-gnu-g++ -DHAVE_CONFIG_H -I. -I. -I.. -I/usr/X11R6/include -O2 -Wall -DLOCALEDIR=\"/usr/share/locale\" -DDATADIR=\"/usr/share\" -I../intl -I/usr/include/gtk-1.2 -I/usr/include/glib-1.2 -I/usr/lib/glib/include -D_REENTRANT -I/usr/X11R6/include -c gui_download.cc In file included from /usr/lib/gcc/x86_64-pc-linux-gnu/4.0.0/include/g++-v4/backward/pair.h:59, from gui_download.cc:27: /usr/lib/gcc/x86_64-pc-linux-gnu/4.0.0/include/g++-v4/backward/backward_warning.h:32:2: warning: #warning This file includes at least one deprecated or antiquated header. Please consider using one of the 32 headers found in section 17.4.1.2 of the C++ standard. Examples include substituting the <X> header for the <X.h> header for C++ includes, or <iostream> instead of the deprecated header <iostream.h>. To disable this warning use -Wno-deprecated. gui_download.cc: In function
Using gcc-4.0.0, I tried to emerge aria: x86_64-pc-linux-gnu-g++ -DHAVE_CONFIG_H -I. -I. -I.. -I/usr/X11R6/include -O2 -Wall -DLOCALEDIR=\"/usr/share/locale\" -DDATADIR=\"/usr/share\" -I../intl -I/usr/include/gtk-1.2 -I/usr/include/glib-1.2 -I/usr/lib/glib/include -D_REENTRANT -I/usr/X11R6/include -c gui_download.cc In file included from /usr/lib/gcc/x86_64-pc-linux-gnu/4.0.0/include/g++-v4/backward/pair.h:59, from gui_download.cc:27: /usr/lib/gcc/x86_64-pc-linux-gnu/4.0.0/include/g++-v4/backward/backward_warning.h:32:2: warning: #warning This file includes at least one deprecated or antiquated header. Please consider using one of the 32 headers found in section 17.4.1.2 of the C++ standard. Examples include substituting the <X> header for the <X.h> header for C++ includes, or <iostream> instead of the deprecated header <iostream.h>. To disable this warning use -Wno-deprecated. gui_download.cc: In function void Backup_selection_list(GtkWidget*, std::list<int, std::allocator<int> >&): gui_download.cc:134: error: cast from void* to int loses precision make[3]: *** [gui_download.o] Error 1 make[3]: Leaving directory `/var/tmp/portage/aria-1.0.0/work/aria-1.0.0/src' make[2]: *** [all-recursive] Error 1 make[2]: Leaving directory `/var/tmp/portage/aria-1.0.0/work/aria-1.0.0/src' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/var/tmp/portage/aria-1.0.0/work/aria-1.0.0' make: *** [all-recursive-am] Error 2 gcc-3.4.3 compiles the code, but aria crashed right after start. The error is that int has 32 bit and pointers and long ints are 64bit on amd64. Reproducible: Always Steps to Reproduce: 1. $ emerge aria 2. 3. Actual Results: aria does not compile (gcc-4.0.0) or work (gcc-3.4.3) Expected Results: compile cleanly (warnings about deprecated headers are ok), and actually start up. Portage 2.0.51.20-r5 (default-linux/amd64/2004.3, gcc-4.0.0, glibc-2.3.5-r0, 2.6.11.7 x86_64) ================================================================= System uname: 2.6.11.7 x86_64 AMD Athlon(tm) 64 Processor 3400+ Gentoo Base System version 1.6.11 distcc 2.18.3 x86_64-pc-linux-gnu (protocols 1 and 2) (default port 3632) [disabled] dev-lang/python: 2.3.5 sys-apps/sandbox: 1.2.3 sys-devel/autoconf: 2.13, 2.59-r6 sys-devel/automake: 1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.5 sys-devel/binutils: 2.15.92.0.2-r8 sys-devel/libtool: 1.5.16 virtual/os-headers: 2.6.11 ACCEPT_KEYWORDS="amd64 ~amd64" AUTOCLEAN="yes" CBUILD="x86_64-pc-linux-gnu" CFLAGS="-O3 -pipe -march=athlon64 -mtune=athlon64 -fforce-addr -frename-registers -funit-at-a-time -maccumulate-outgoing-args" CHOST="x86_64-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3/share/config /usr/lib/X11/xkb /usr/share/config /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/texmf/web2c /etc/env.d" CXXFLAGS="-O3 -pipe -march=athlon64 -mtune=athlon64 -fforce-addr -frename-registers -funit-at-a-time -maccumulate-outgoing-args" DISTDIR="/usr/portage/distfiles" FEATURES="autoconfig distlocks sandbox strict userpriv usersandbox" GENTOO_MIRRORS="file:///mnt/usb/heute/ file:///mnt/data2/BrennerQueue/Linux/ http://distfiles.gentoo.org" LANG="german" LC_ALL="de_DE.UTF-8" LINGUAS="de eo en jp" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage" USE="amd64 3dnowext X aac acpi alsa audiofile avi bitmap-fonts bzip2 bzlib canna cdr cjk crypt cups curl dga dvd dvdr emul-linux-x86 encode exif fam flac font-server freewnn ftp gdbm gif gimpprint gmp gtk gtk2 gtkhtml iconv imagemagick imlib ipv6 ithreads java jp2 jpeg junit lesstif libwww lzw lzw-tiff mad maildir matroska mbox mikmod mime mmap mng motif mozsvg mp3 mpeg multilib ncurses nls nobcel nolog4j norhino nptl nptlonly objc ogg oggvorbis openal opengl pcre pdflib perl pic pie png posix python quicktime readline real rtc ruby sdl slang sndfile sockets spell ssl svg tcltk tcpd tetex theora tiff truetype truetype-fonts type1-fonts uim unicode userlocales vorbis xml xml2 xmms xpm xrandr xsl xv xvid zlib linguas_de linguas_eo linguas_en linguas_jp userland_GNU kernel_linux elibc_glibc" Unset: ASFLAGS, CTARGET, LDFLAGS, MAKEOPTS, PORTDIR_OVERLAY
Retried with gcc-3.4.3: terminate called after throwing an instance of 'std::out_of_range' what(): basic_string::substr Aborted
The problem appears to be with configure not including proper headers when testing, which results in gcc failing on some tests, which results in HAVE_ macros not set that should be set. My guess is that a newer version of automake/autoconf is necessary to handle this, but that's an upstream issue.
closing per comment #2
*** Bug 138395 has been marked as a duplicate of this bug. ***