Bug 82455 - Treeviewx doesn't compile on amd64
|
Bug#:
82455
|
Product: Gentoo Linux
|
Version: unspecified
|
Platform: AMD64
|
|
OS/Version: Linux
|
Status: RESOLVED
|
Severity: enhancement
|
Priority: P2
|
|
Resolution: FIXED
|
Assigned To: sci@gentoo.org
|
Reported By: daniel@molbio.su.se
|
|
Component: Applications
|
|
|
URL:
|
|
Summary: Treeviewx doesn't compile on amd64
|
|
Keywords:
|
|
Status Whiteboard:
|
|
Opened: 2005-02-18 05:57 0000
|
When I try to emerge treeviewx I get the following error:
In file included from /usr/lib/gcc/x86_64-pc-linux-gnu/3.4.3/include/g++-v3/backward/strstream:51,
from TreeLib.h:40,
from treereader.h:27,
from treereader.cpp:24:
/usr/lib/gcc/x86_64-pc-linux-gnu/3.4.3/include/g++-v3/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.
In file included from /usr/lib/gcc/x86_64-pc-linux-gnu/3.4.3/include/g++-v3/backward/strstream:51,
from TreeLib.h:40,
from treewriter.h:27,
from treewriter.cpp:24:
/usr/lib/gcc/x86_64-pc-linux-gnu/3.4.3/include/g++-v3/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.
In file included from treewriter.h:28,
from treewriter.cpp:24:
nodeiterator.h: In member function `virtual N* PreorderIterator<N>::begin()':
nodeiterator.h:131: error: `cur' undeclared (first use this function)
nodeiterator.h:131: error: (Each undeclared identifier is reported only once for each function it appears in.)
nodeiterator.h:131: error: `root' undeclared (first use this function)
nodeiterator.h: In member function `virtual N* PreorderIterator<N>::next()':
nodeiterator.h:137: error: `cur' undeclared (first use this function)
nodeiterator.h:139: error: `stk' undeclared (first use this function)
make[1]: *** [treewriter.o] Error 1
make: *** [all-recursive] Error 1
!!! ERROR: sci-biology/treeviewx-0.4 failed.
!!! Function src_compile, Line 41, Exitcode 2
!!! (no error message)
!!! If you need support, post the topmost build error, NOT this status message.
I've added x86 as a keyword for this app, but to med it doesn't look like it would compile on 32 bit x86 either.
Reproducible: Always
Steps to Reproduce:
1. Add "sci-biology/treeviewx x86" to package.keywords
2. emerge treeviewx
Actual Results:
Compilationan terminated with the error above.
Expected Results:
Compile cleanly.
emerge info:
Portage 2.0.51-r15 (default-linux/amd64/2004.3, gcc-3.4.3,
glibc-2.3.4.20041102-r0, 2.6.9-gentoo-r6 x86_64)
=================================================================
System uname: 2.6.9-gentoo-r6 x86_64 AMD Opteron(tm) Processor 246
Gentoo Base System version 1.4.16
Python: dev-lang/python-2.3.4-r1 [2.3.4 (#1, Feb 18 2005, 11:11:45)]
dev-lang/python: 2.3.4-r1
sys-devel/autoconf: 2.13, 2.59-r6
sys-devel/automake: 1.5, 1.6.3, 1.7.9-r1, 1.4_p6, 1.8.5-r3, 1.9.4
sys-devel/binutils: 2.15.92.0.2-r1
sys-devel/libtool: 1.5.10-r4
virtual/os-headers: 2.6.8.1-r2
ACCEPT_KEYWORDS="amd64"
AUTOCLEAN="yes"
CFLAGS="-march=opteron -mtune=opteron -O2 -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /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/lib/X11/xkb /usr/lib/mozilla/defaults/pref /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="-march=opteron -mtune=opteron -O2 -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoaddcvs autoconfig ccache distlocks sandbox"
GENTOO_MIRRORS="http://distfiles.gentoo.org
http://distro.ibiblio.org/pub/Linux/distributions/gentoo"
LC_ALL="sv_SE"
MAKEOPTS="-j3"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage"
USE="amd64 X acpi alsa arts berkdb bitmap-fonts cdr crypt cups curl emboss esd
f77 fam font-server foomaticdb fortran gdbm gif gnome gpm gstreamer gtk gtk2
imagemagick imap imlib ipv6 java jp2 jpeg junit kde libwww lzw lzw-tiff mad
mikmod motif mozilla mozsvg mpi multilib ncurses nls oggvorbis opengl oss pam
perl png postgres ppds python qt readline slang ssl tcltk tcpd tetex tiff tlctk
truetype truetype-fonts type1-fonts usb userlocales xml xml2 xmms xpm xrandr xv
zlib"
Unset: ASFLAGS, CBUILD, CTARGET, LANG, LDFLAGS, PORTDIR_OVERLAY
Thanks for reporting. TreeViewX does compile and run on 32 bit x86. I used it
last week and just recompiled it on two machines. The problem seems to be
specific to a certain configuration. (I was not able to reproduce it.)
If you look carefully at the output you provided, you will see that the
antiquated headers only produce warnings. The real problems are the undefined
identifiers. It might be a gcc 3.4 problem, so I added a patch that might help
you. Try to sync your Portage tree in an hour, and try to install again. I
expect there will still be (different) error messages; please paste them here.
cryos: You are a lot better than me at porting code to gcc 3.4. Could you try
compiling TreeViewX on amd64?
My dumb mistake. Please try again (in an hour).
Essentially the same error, but with new line numbers, after your patch:
In file included from treeorder.h:47,
from treeorder.cpp:24:
nodeiterator.h: In member function `virtual N* PreorderIterator<N>::next()':
nodeiterator.h:139: error: `cur' undeclared (first use this function)
nodeiterator.h:139: error: (Each undeclared identifier is reported only once for each function it appears in.)
nodeiterator.h:145: error: `stk' undeclared (first use this function)
treedrawer.cpp: In member function `virtual void PhylogramDrawer::CalcCoordinates()':
treedrawer.cpp:409: error: `fabs' is not a member of `std'
make[1]: *** [treeorder.o] Error 1
make[1]: *** [treedrawer.o] Error 1
make: *** [all-recursive] Error 1
I also tried compiling after setting gcc to 3.3.4, but that seems broken on my system. From configure:
checking for C++ compiler default output... configure: error: C++ compiler cannot create executables
I was able to compile TreeViewX using gcc 3.4 (on x86), so it is not a gcc 3.4
problem. I do not have access to an amd64 machine, so I will CC the amd64 team
on this bug. Sorry for wasting your time with that patch, Daniel.
It fails for me I am afraid,
In file included from /usr/lib/gcc/x86_64-pc-linux-gnu/3.4.3/include/g++-v3/backward/strstream:51,
from TreeLib.h:40,
from treewriter.h:27,
from treewriter.cpp:24:
/usr/lib/gcc/x86_64-pc-linux-gnu/3.4.3/include/g++-v3/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.
In file included from treewriter.h:28,
from treewriter.cpp:24:
nodeiterator.h: In member function `virtual N* PreorderIterator<N>::next()':
nodeiterator.h:139: error: `cur' undeclared (first use this function)
nodeiterator.h:139: error: (Each undeclared identifier is reported only once for each function it appears in.)
nodeiterator.h:145: error: `stk' undeclared (first use this function)
make[1]: *** [treewriter.o] Error 1
make[1]: *** Waiting for unfinished jobs....
In file included from /usr/lib/gcc/x86_64-pc-linux-gnu/3.4.3/include/g++-v3/backward/strstream:51,
from TreeLib.h:40,
from treedrawer.h:46,
from treedrawer.cpp:27:
/usr/lib/gcc/x86_64-pc-linux-gnu/3.4.3/include/g++-v3/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.
In file included from treedrawer.h:47,
from treedrawer.cpp:27:
nodeiterator.h: In member function `virtual N* PreorderIterator<N>::next()':
nodeiterator.h:139: error: `cur' undeclared (first use this function)
nodeiterator.h:139: error: (Each undeclared identifier is reported only once for each function it appears in.)
nodeiterator.h:145: error: `stk' undeclared (first use this function)
treedrawer.cpp: In member function `virtual void PhylogramDrawer::CalcCoordinates()':
treedrawer.cpp:409: error: `fabs' is not a member of `std'
make[1]: *** [treedrawer.o] Error 1
make[1]: Leaving directory `/var/tmp/portage/treeviewx-0.4/work/tv-0.4/TreeLib'
make: *** [all-recursive] Error 1
cryos ~ # emerge info
Portage 2.0.51-r15 (default-linux/amd64/2005.0, gcc-3.4.3, glibc-2.3.4.20050125-r0, 2.6.10-gentoo-r7 x86_64)
=================================================================
System uname: 2.6.10-gentoo-r7 x86_64 AMD Athlon(tm) 64 Processor 3200+
Gentoo Base System version 1.6.9
Python: dev-lang/python-2.3.4-r1 [2.3.4 (#1, Feb 17 2005, 19:58:23)]
distcc 2.18.3 x86_64-pc-linux-gnu (protocols 1 and 2) (default port 3632) [disabled]
ccache version 2.3 [enabled]
dev-lang/python: 2.3.4-r1
sys-devel/autoconf: 2.59-r6, 2.13
sys-devel/automake: 1.7.9-r1, 1.8.5-r3, 1.5, 1.4_p6, 1.6.3, 1.9.4
sys-devel/binutils: 2.15.92.0.2-r2, 2.15.92.0.2-r3
sys-devel/libtool: 1.5.10-r4
virtual/os-headers: 2.6.8.1-r4
ACCEPT_KEYWORDS="amd64"
AUTOCLEAN="yes"
CFLAGS="-march=k8 -O2 -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3.3/env /usr/kde/3.3/share/config /usr/kde/3.3/shutdown /usr/kde/3.4/env /usr/kde/3.4/share/config /usr/kde/3.4/shutdown /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="-march=k8 -O2 -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoaddcvs autoconfig buildpkg ccache collision-protect cvs digest distlocks sandbox sign"
GENTOO_MIRRORS="http://distfiles.gentoo.org http://distro.ibiblio.org/pub/Linux/distributions/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="amd64 X aalib acpi aim alsa apache2 audiofile avi bash-completion berkdb bitmap-fonts blas bootsplash cdparanoia cdr crypt cscope cups curl directfb divx4linux doc dvd dvdr encode esd ethereal evo f77 fam fbcon fftw flac flash foomaticdb fortran gb gd gdbm gif gimpprint ginac gmp gphoto2 gpm graphviz gstreamer gtk gtk2 gtkhtml icq imagemagick imap imlib innodb ipv6 jabber java jikes joystick jp2 jpeg junit kde lcms ldap libg++ libwww lzw lzw-tiff mad mcal motif mpeg mpi msn mysql ncurses netcdf nls nptl octave odbc offensive oggvorbis opengl oscar oss pam pdflib perl plotutils png postgres povray ppds python qt quicktime readline samba sasl scanner sdl slp snmp spell sqlite ssl svg tcltk tcpd tetex tiff truetype truetype-fonts type1-fonts unicode usb vhosts videos wmf wxwindows xine xinerama xml2 xmms xpm xrandr xscreensaver xv xvid yahoo zlib linguas_en_GB"
Unset: ASFLAGS, CBUILD, CTARGET, LANG, LC_ALL, LDFLAGS
I just added "sci-biology/treeviewx-0.4-r1" to Portage and "package.mask".
It might solve (some) compilation problems on amd64. Please sync (in an
hour or so), unmask the new version, and test it. Thanks.
Compiled, not without warnings, but works nicely. I've tested the basic
functionality and it seems OK. As far as I'm concerned this bug could be
closed. (Or am I supposed to do that?)
Thank you very much for your work!