../../dynagraph/common/LGraph-cdt.h: In member function `typename cdt::ordering<cdt::tree<cdt::disc<cdt::derived_accessor<LGraph<GraphDatum, NodeDatum, EdgeDatum, GraphIDat, NodeIDat, EdgeIDat>::Edge, LGraph<GraphDatum, NodeDatum, EdgeDatum, GraphIDat, NodeIDat, EdgeIDat>::intreelink>, LGraph<GraphDatum, NodeDatum, EdgeDatum, GraphIDat, NodeIDat, EdgeIDat>::SeqComp<LGraph<GraphDatum, NodeDatum, EdgeDatum, GraphIDat, NodeIDat, EdgeIDat>::Edge> >, true>, cdt::sequence<cdt::derived_accessor<LGraph<GraphDatum, NodeDatum, EdgeDatum, GraphIDat, NodeIDat, EdgeIDat>::Edge, LGraph<GraphDatum, NodeDatum, EdgeDatum, GraphIDat,NodeIDat, EdgeIDat>::inseqlink> > >::iterator LGraph<GraphDatum, NodeDatum, EdgeDatum, GraphIDat, NodeIDat, EdgeIDat>::nodeedge_iter::inIter()': ../../dynagraph/common/LGraph-cdt.h:235: error: there are no arguments to `head' that depend on a template parameter, so a declaration of `head' must be available ../../dynagraph/common/LGraph-cdt.h:235: error: (if you use `-fpermissive', G++ will accept your code, but allowing the use of an undeclared name is deprecated) ../../dynagraph/common/LGraph-cdt.h: In member function `typename cdt::ordering<cdt::tree<cdt::disc<cdt::derived_accessor<LGraph<GraphDatum, NodeDatum, EdgeDatum, GraphIDat, NodeIDat, EdgeIDat>::Edge, LGraph<GraphDatum, NodeDatum, EdgeDatum, GraphIDat, NodeIDat, EdgeIDat>::outtreelink>, LGraph<GraphDatum, NodeDatum, EdgeDatum, GraphIDat, NodeIDat, EdgeIDat>::SeqComp<LGraph<GraphDatum, NodeDatum, EdgeDatum, GraphIDat, NodeIDat, EdgeIDat>::Edge> >, true>, cdt::sequence<cdt::derived_accessor<LGraph<GraphDatum, NodeDatum, EdgeDatum, GraphIDat, NodeIDat, EdgeIDat>::Edge, LGraph<GraphDatum, NodeDatum, EdgeDatum, GraphIDat, NodeIDat, EdgeIDat>::outseqlink> > >::iterator LGraph<GraphDatum, NodeDatum, EdgeDatum, GraphIDat, NodeIDat, EdgeIDat>::nodeedge_iter::outIter()': ../../dynagraph/common/LGraph-cdt.h:238: error: there are no arguments to `tail' that depend on a template parameter, so a declaration of `tail' must be available In file included from Dynagraph.h:17, from ColorByAge.cpp:13: ../../dynagraph/common/traversal.h: In member function `DFS<G>& DFS<G>::operator++()': ../../dynagraph/common/traversal.h:81: error: `m_hitpos' undeclared (first use this function) ../../dynagraph/common/traversal.h:81: error: (Each undeclared identifier is reported only once for each function it appearsin.) ../../dynagraph/common/traversal.h: In member function `bool DFS<G>::outs(typename G::outedge_iter)': ../../dynagraph/common/traversal.h:146: error: `m_hitpos' undeclared (first use this function) ../../dynagraph/common/traversal.h: In member function `bool DFS<G>::ins(typename G::inedge_iter)': ../../dynagraph/common/traversal.h:159: error: `m_hitpos' undeclared (first use this function) ../../dynagraph/common/traversal.h: In member function `bool DFS<G>::next()': ../../dynagraph/common/traversal.h:183: error: `m_g' undeclared (first use this function) ../../dynagraph/common/traversal.h:184: error: `m_hitpos' undeclared (first use this function) ../../dynagraph/common/traversal.h: In member function `BFS<G>& BFS<G>::operator++()': ../../dynagraph/common/traversal.h:208: error: `m_hitpos' undeclared (first use this function) ../../dynagraph/common/traversal.h:230: error: `m_g' undeclared (first use this function) ../../dynagraph/common/traversal.h: In constructor `BFS<G>::BFS(G*, typename G::Node*, bool, bool)': ../../dynagraph/common/traversal.h:244: error: `m_hitpos' undeclared (first use this function) make[3]: *** [ColorByAge.lo] Error 1 make[3]: *** Waiting for unfinished jobs.... In file included from ../../dynagraph/common/Dynagraph.h:16, from Dynagraph.cpp:13: ../../dynagraph/common/LGraph-cdt.h: In member function `typename cdt::ordering<cdt::tree<cdt::disc<cdt::derived_accessor<LGraph<GraphDatum, NodeDatum, EdgeDatum, GraphIDat, NodeIDat, EdgeIDat>::Edge, LGraph<GraphDatum, NodeDatum, EdgeDatum, GraphIDat, NodeIDat, EdgeIDat>::intreelink>, LGraph<GraphDatum, NodeDatum, EdgeDatum, GraphIDat, NodeIDat, EdgeIDat>::SeqComp<LGraph<GraphDatum, NodeDatum, EdgeDatum, GraphIDat, NodeIDat, EdgeIDat>::Edge> >, true>, cdt::sequence<cdt::derived_accessor<LGraph<GraphDatum, NodeDatum, EdgeDatum, GraphIDat, NodeIDat, EdgeIDat>::Edge, LGraph<GraphDatum, NodeDatum, EdgeDatum, GraphIDat,NodeIDat, EdgeIDat>::inseqlink> > >::iterator LGraph<GraphDatum, NodeDatum, EdgeDatum, GraphIDat, NodeIDat, EdgeIDat>::nodeedge_iter::inIter()': ../../dynagraph/common/LGraph-cdt.h:235: error: there are no arguments to `head' that depend on a template parameter, so a declaration of `head' must be available ../../dynagraph/common/LGraph-cdt.h:235: error: (if you use `-fpermissive', G++ will accept your code, but allowing the use of an undeclared name is deprecated) ../../dynagraph/common/LGraph-cdt.h: In member function `typename cdt::ordering<cdt::tree<cdt::disc<cdt::derived_accessor<LGraph<GraphDatum, NodeDatum, EdgeDatum, GraphIDat, NodeIDat, EdgeIDat>::Edge, LGraph<GraphDatum, NodeDatum, EdgeDatum, GraphIDat, NodeIDat, EdgeIDat>::outtreelink>, LGraph<GraphDatum, NodeDatum, EdgeDatum, GraphIDat, NodeIDat, EdgeIDat>::SeqComp<LGraph<GraphDatum, NodeDatum, EdgeDatum, GraphIDat, NodeIDat, EdgeIDat>::Edge> >, true>, cdt::sequence<cdt::derived_accessor<LGraph<GraphDatum, NodeDatum, EdgeDatum, GraphIDat, NodeIDat, EdgeIDat>::Edge, LGraph<GraphDatum, NodeDatum, EdgeDatum, GraphIDat, NodeIDat, EdgeIDat>::outseqlink> > >::iterator LGraph<GraphDatum, NodeDatum, EdgeDatum, GraphIDat, NodeIDat, EdgeIDat>::nodeedge_iter::outIter()': ../../dynagraph/common/LGraph-cdt.h:238: error: there are no arguments to `tail' that depend on a template parameter, so a declaration of `tail' must be available In file included from ../../dynagraph/common/Dynagraph.h:17, from Dynagraph.cpp:13: ../../dynagraph/common/traversal.h: In member function `DFS<G>& DFS<G>::operator++()': ../../dynagraph/common/traversal.h:81: error: `m_hitpos' undeclared (first use this function) ../../dynagraph/common/traversal.h:81: error: (Each undeclared identifier is reported only once for each function it appearsin.) ../../dynagraph/common/traversal.h: In member function `bool DFS<G>::outs(typename G::outedge_iter)': ../../dynagraph/common/traversal.h:146: error: `m_hitpos' undeclared (first use this function) ../../dynagraph/common/traversal.h: In member function `bool DFS<G>::ins(typename G::inedge_iter)': ../../dynagraph/common/traversal.h:159: error: `m_hitpos' undeclared (first use this function) ../../dynagraph/common/traversal.h: In member function `bool DFS<G>::next()': ../../dynagraph/common/traversal.h:183: error: `m_g' undeclared (first use this function) ../../dynagraph/common/traversal.h:184: error: `m_hitpos' undeclared (first use this function) ../../dynagraph/common/traversal.h: In member function `BFS<G>& BFS<G>::operator++()': ../../dynagraph/common/traversal.h:208: error: `m_hitpos' undeclared (first use this function) ../../dynagraph/common/traversal.h:230: error: `m_g' undeclared (first use this function) ../../dynagraph/common/traversal.h: In constructor `BFS<G>::BFS(G*, typename G::Node*, bool, bool)': ../../dynagraph/common/traversal.h:244: error: `m_hitpos' undeclared (first use this function) make[3]: *** [Dynagraph.lo] Error 1 make[3]: Leaving directory `/var/tmp/portage/graphviz-1.16/work/graphviz-1.16/dynagraph/common' make[2]: *** [all-recursive] Error 1 make[2]: Leaving directory `/var/tmp/portage/graphviz-1.16/work/graphviz-1.16/dynagraph' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/var/tmp/portage/graphviz-1.16/work/graphviz-1.16' make: *** [all] Error 2 !!! ERROR: media-gfx/graphviz-1.16 failed. !!! Function src_compile, Line 42, Exitcode 2 !!! (no error message) root (pvpgn/src): emerge info Portage 2.0.51-r8 (default-linux/x86/2004.0, gcc-3.4.3, glibc-2.3.4.20041102-r0, 2.6.9-gentoo-r5 i686) ================================================================= System uname: 2.6.9-gentoo-r5 i686 Pentium III (Coppermine) Gentoo Base System version 1.6.7 Python: dev-lang/python-2.3.4 [2.3.4 (#1, Nov 18 2004, 20:54:34)] ccache version 2.3 [enabled] dev-lang/python: 2.3.4 sys-devel/autoconf: 2.59-r6, 2.13 sys-devel/automake: 1.8.5-r2, 1.4_p6, 1.9.3, 1.5, 1.6.3, 1.7.9 sys-devel/binutils: 2.15.92.0.2-r2 sys-devel/libtool: 1.5.10-r1 virtual/os-headers: 2.6.8.1-r1 ACCEPT_KEYWORDS="x86 ~x86" AUTOCLEAN="yes" CFLAGS="-O3 -march=i686 -funroll-loops -pipe" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/X11R6/lib/X11/xkb /usr/kde/2/share/config /usr/kde/3.3/env /usr/kde/3.3/share/config /usr/kde/3.3/shutdown /usr/kde/3/share/config /usr/share/config /usr/share/texmf/dvipdfm/config/ /usr/share/texmf/dvips/config/ /usr/share/texmf/tex/generic/config/ /usr/share/texmf/tex/platex/config/ /usr/share/texmf/xdvi/ /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d" CXXFLAGS="-O3 -march=i686 -funroll-loops -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="autoaddcvs autoconfig ccache distlocks sandbox sfperms" GENTOO_MIRRORS="ftp://ftp-stud.fht-esslingen.de/pub/Mirrors/gentoo/ ftp://ftp.tu-clausthal.de/pub/linux/gentoo/ ftp://ftp.easynet.nl/mirror/gentoo/" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="X acpi alsa apache2 arts avi berkdb bitmap-fonts boundschecking cdb cdr crypt cups dba devmap doc encode esd f77 fam fbcon flac foomaticdb fortran gd gd-external gdbm gif gphoto2 gpm gtk2 icc imagemagick imlib java jikes jpeg junit kde libg++ libwww mad mcal mikmod mmx motif mpeg mysql ncurses nls oggvorbis opengl oss pam pcmcia pdflib perl png pnp postgres python qtquicktime readline samba sdl slang spell sse ssl svga tcltk tcpd tetex tiff truetype usb winbind x86 xml2 xprint xv zlib linguas_de" Reproducible: Always Steps to Reproduce:
works on the exact same setup when I switch to gcc-3.3.4, so I'd presume it's a gcc-3.4.3 bug or incompability
same problem with gcc-3.4.3, builds with gcc-3.3.4 someone assign it to gcc-porting, please
as a side note: there are also graphviz-1.18 and graphviz-2.0 versions available via the official download page (and the graphviz-1.16.ebuild also suits fine for them), but they both also suffer from the same gcc-3.4.3 problems
Another note: graphviz-1.18 emerges fine with 3.3.4 but graphviz-2.0 won't compile at all. I haven't tested the earlier graphviz ebuild, but I would presume they won't build with 3.4.3, too. So what needs to be tested is: - does any 3.4.x version manage to compile graphviz ? - can any graphviz version be compiled with gcc 3.4.3 ?
same here Portage 2.0.51-r8 (default-linux/x86/2004.3, gcc-3.4.3, glibc-2.3.4.20041102-r0, 2.6.9-gentoo-r9 i686) ================================================================= System uname: 2.6.9-gentoo-r9 i686 AMD Athlon(tm) XP 1700+ Gentoo Base System version 1.6.7 Python: dev-lang/python-2.3.4 [2.3.4 (#1, Nov 13 2004, 11:42:07)] dev-lang/python: 2.3.4 sys-devel/autoconf: 2.59-r6, 2.13 sys-devel/automake: 1.8.5-r2, 1.9.3, 1.5, 1.6.3, 1.7.9, 1.4_p6 sys-devel/binutils: 2.15.92.0.2-r2 sys-devel/libtool: 1.5.10-r1 virtual/os-headers: 2.6.8.1-r1 ACCEPT_KEYWORDS="x86 ~x86" AUTOCLEAN="yes" CFLAGS="-O3 -march=athlon-xp -pipe" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/X11R6/lib/X11/xkb /usr/kde/2/share/config /usr/kde/3.3/env /usr/kde/3.3/share/config /usr/kde/3.3/shutdown /usr/kde/3/share/config /usr/share/config /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d" CXXFLAGS="-O3 -march=athlon-xp -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="autoaddcvs autoconfig ccache distlocks sandbox sfperms" GENTOO_MIRRORS="ftp://ftp.tu-clausthal.de/pub/linux/gentoo/ ftp://sunsite.informatik.rwth-aachen.de/pub/Linux/gentoo http://linux.rz.ruhr-uni-bochum.de/download/gentoo-mirror/ ftp://linux.rz.ruhr-uni-bochum.de/gentoo-mirror/ http://ftp.uni-erlangen.de/pub/mirrors/gentoo ftp://ftp.uni-erlangen.de/pub/mirrors/gentoo ftp://ftp.join.uni-muenster.de/pub/linux/distributions/gentoo ftp://ftp.wh2.tu-dresden.de/pub/mirrors/gentoo ftp://ftp.join.uni-muenster.de/pub/linux/distributions/gentoo ftp://ftp6.uni-muenster.de/pub/linux/distributions/gentoo http://mirrors.sec.informatik.tu-darmstadt.de/gentoo/ http://ftp-stud.fht-esslingen.de/pub/Mirrors/gentoo/ ftp://ftp-stud.fht-esslingen.de/pub/Mirrors/gentoo/ ftp://ftp.gentoo.mesh-solutions.com/gentoo/" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="3dnow X alsa apm arts avi berkdb bitmap-fonts caps cdr crypt cups debug doc dvd encode esd f77 fam flac foomaticdb fortran gdbm gif gnome gpm gtk gtk2 imagemagick imlib jack java joystick jpeg junit kde libg++ libwww mad mbox mikmod mmx motif mozilla mpeg mysql ncurses nls nptlnptlonly nvidia odbc oggvorbis opengl oss pam pdflib perl png python qt quicktime readline samba sdl slang spell sse ssl svga tcpd tiff truetype x86 xml2 xmms xv zlib linguas_de"
I also tried to compile graphviz with gcc 3.4.3 and failed. I poked at it a bit and discovered that graphviz is failing because of the tighter C++ standard compliance. This specifically: "In a template definition, unqualified names will no longer find members of a dependent base." -- http://gcc.gnu.org/gcc-3.4/changes.html Where it complained about not finding m_hitpos and m_g, placing a "this->" in front of m_hitpos and m_g fixed it. There were also a couple of problems caused by compiling code that was ignored before (it's never used), like the code in nodeedge_iter::inIter and a couple endl's without std::'s. Looks like the graphviz developers need to do some standards-compliance work on their code. Fortunately the necessary changes seem simple and small.
Created attachment 46021 [details, diff] Patch to compile with gcc 3.4.3 This is a trivial patch to make graphviz conformant with standards. Untested, but given its nature it should give no problem.
Graphics folks, tested here and fixes the problem. Patch content looks good as well.
*** Bug 74539 has been marked as a duplicate of this bug. ***
This is a /really/ trivial patch. Fixes my problem on amd64 too.
Same problem here and the supplied patch also works just fine for me on AMD64 system.
I got the same problem on my x86 with gcc-3.4.3 and the patch also worked fine for me.
This patch also seems to work fine on this machine: Gentoo Base System version 1.6.7 Portage 2.0.51-r8 (default-linux/x86/2004.3, gcc-3.4.3, glibc-2.3.4.20041102-r0, 2.6.9-gentoo-r9 i686) ================================================================= System uname: 2.6.9-gentoo-r9 i686 AMD Athlon(tm) processor Python: dev-lang/python-2.3.4 [2.3.4 (#1, Jun 21 2004, 23:50:32)] dev-lang/python: 2.3.4 sys-devel/autoconf: 2.13, 2.59-r6 sys-devel/automake: 1.4_p6, 1.5, 1.6.3, 1.7.9, 1.8.5-r2, 1.9.3 sys-devel/binutils: 2.15.92.0.2-r2 sys-devel/libtool: 1.5.10-r2 virtual/os-headers: 2.4.22 ACCEPT_KEYWORDS="x86 ~x86" AUTOCLEAN="yes" CFLAGS="-march=athlon-tbird -O3 -pipe -fforce-addr -fomit-frame-pointer -funroll -loops -falign-functions=4 -maccumulate-outgoing-args" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/X11R6/lib/X11/xkb /usr/kde/2/share/config /usr/kde/3.2 /share/config /usr/kde/3.3/env /usr/kde/3.3/share/config /usr/kde/3.3/shutdown / usr/kde/3/share/config /usr/share/config /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d" CXXFLAGS="-march=athlon-tbird -O3 -pipe -fforce-addr -fomit-frame-pointer -funro ll-loops -falign-functions=4 -maccumulate-outgoing-args" DISTDIR="/usr/portage/distfiles" FEATURES="autoaddcvs autoconfig ccache distlocks sandbox sfperms" GENTOO_MIRRORS="http://cudlug.cudenver.edu/gentoo/ http://gentoo.chem.wisc.edu/g entoo/ http://prometheus.cs.wmich.edu/gentoo http://mirror.datapipe.net/gentoo h ttp://mirror.usu.edu/mirrors/gentoo/" MAKEOPTS="-j3" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="3dnow X aim alsa apache2 apm arts avi berkdb bitmap-fonts bzlib calendar cd r crypt cscope ctype cups doc emacs emacs-w3 encode f77 fam flac foomaticdb fort ran gdbm gif gnutls gpm gtk gtk2 hpoj icq imlib ithreads java jpeg junit kde ker beros ldap libg++ libwww mad mikmod mmx motif mozilla mpeg mysql mysqli ncurses nis nls oav odbc offensive oggvorbis opengl oscar oss pam pcntl pcre pdflib perl plotutils png posix postgres ppds python qt quicktime readline samba sasl scann er sdl slang slp spell spl sse ssl svg svga tcltk tcpd threads tiff tokenizer tr uetype usb vhosts x86 xml xml2 xmms xv yahoo zlib"
I unfortunately don' t know how to apply this patch, so could anybody help me to do so? Thanks!
I put the ebuild in my pack at http://flameeyes.web.ctonet.it/ebuilds.html . Follow the instruction and then emerge graphviz as if it was in normal portage. It should work [for me at least it worked fine].
Hi flameeyes ;) I'm sorry but I'm not able to find any graphviz ebuild on your mirror... btw, what did u do? Did u just apply this patch or what? Cheers (The patch worked fine for me on an amd64)
The list is not updated since months. You should download the tarball as the instructions says. It also carries other ebuilds (see other bugs for these).
The patch is sane and fixes the compilation issue.
Committed