Compiling ddd-3.3.1-r3 with gcc version 3.3.1 20030904 (Gentoo Linux 3.3.1-r1, propolice) fails, because strstream.h is missing. I found, that /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.1/include/g++-v3/backward/strstream should get a .h on the end. Another issue with this build is, that ddd uses ostrstream and istrstream without std::. I fixed this with two lines sed and editing three headers. cd /var/tmp/portage/ddd-3.3.1-r3/work/ddd-3.3.1/ find . -name *.C -exec sed -i -e 's/ostrstream/std\:\:ostrstream/g' {} \; find . -name *.C -exec sed -i -e 's/istrstream/std\:\:istrstream/g' {} \; then change in ddd/strclass.h (543, 555, 1049, 1083), ddd/Agent.h (417)and ddd/GraphNodeI.h (124) 'ostrstream' to 'std::ostrstream'. After that the build succeeds. As far as I tested till now, it works also. Reproducible: Always Steps to Reproduce: 1.emerge sys-devel/gcc-3.3.1-r1 2.emerge ddd-3.3.1-r3 3. pc /home/sb # emerge info Portage 2.0.49-r3 (default-x86-1.4, gcc-3.3.1, glibc-2.3.2-r1, 2.4.22) ================================================================= System uname: 2.4.22 i686 AMD Athlon(tm) Processor ACCEPT_KEYWORDS="x86 ~x86" AUTOCLEAN="yes" CFLAGS="-mcpu=athlon -march=athlon -O3 -fomit-frame-pointer -pipe" CHOST="i686-pc-linux-gnu" COMPILER="gcc3" CONFIG_PROTECT="/etc /var/qmail/control /usr/kde/2/share/config /usr/kde/3/share/config /var/bind /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" CXXFLAGS="-mcpu=athlon -march=athlon -O3 -fomit-frame-pointer -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="sandbox ccache autoaddcvs" GENTOO_MIRRORS="http://gentoo.inode.at/ ftp://ftp.uni-erlangen.de/pub/mirrors/gentoo ftp://ftp.tu-clausthal.de/pub/linux/gentoo/" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="" SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage" USE="x86 oss apm avi crypt cups encode foomaticdb gif jpeg libg++ mad mikmod mmx mpeg ncurses nls pdflib png quicktime spell truetype xml2 xmms xv zlib directfb gtkhtml alsa gdbm berkdb slang readline arts tetex aalib nas bonobo svga ggi tcltk java guile mysql X sdl gpm tcpd pam libwww ssl perl python esd imlib oggvorbis gnome gtk qt kde motif opengl mozilla ldap cdr scanner 3dnow ardour-ksi artswrappersuid dga dvd faad gd gd-external gtk2 imap jack maildir moznocompose moznoirc moznomail objc openal parse-clocks plotutils ppds samba sox tiff transcode usb vim-with-x wmf xml"
Another solution is to bump version to 3.3.7 which compiles fine with gcc-3.3.1. Markus
Created attachment 17738 [details, diff] ddd.diff .diff: ddd-3.3.1-r3.ebuild -> ddd-3.3.7.ebuild
3.3.7 doesn't compile on gcc 2.9x
The GNU Webpage on DDD states the following: # DDD 3.3.7 is now available.. DDD 3.3.7 brings debugging of bash scripts (together with bashdb) and improved conformity with ISO C++: in particular, G++-3.x is now the compiler recommended for DDD. They probably should have said gcc-3.x is the "required" compiler instead of the "recommended" compiler, but it seems they are pushing for gcc-3.x acceptance. I'll create an ebuild for ddd-3.3.7 shortly to resolve this issue.
Resolving as FIXED. ddd-3.3.7 is in CVS now and there is a note in the Changelog that it will not compile with gcc-2.95.x compilers. If a bug ever pops up about that, mark it invalid.