Summary: | graphviz-1.16 fails to build | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | f5d8fd51ed1e804c9e8d0357e8614e0493b06e96 |
Component: | [OLD] Unspecified | Assignee: | Gentoo Graphics Project <graphics+disabled> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | centic, flameeyes, gentoo-bugs2, gentoo, jlp.bugs, ka0ttic, ladanyi, lavish, leroutier, michael.kiermaier, motaboy, patrick, sebastian, weeve |
Priority: | High | ||
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Attachments: | Patch to compile with gcc 3.4.3 |
Description
f5d8fd51ed1e804c9e8d0357e8614e0493b06e96
2004-12-14 09:13:12 UTC
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 |