Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 65742 - net-p2p/mutella-0.4.3 fails to compile with gcc 3.4.2
Summary: net-p2p/mutella-0.4.3 fails to compile with gcc 3.4.2
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] GCC Porting (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: Gentoo net-p2p team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2004-09-28 16:58 UTC by Thomas Cort (RETIRED)
Modified: 2004-12-07 10:16 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments
Patch to make mutella-0.4.3 sources compile with gcc 3.4.2 (mutella-gcc34-fix,4.99 KB, patch)
2004-10-05 21:24 UTC, Thomas Cort (RETIRED)
Details | Diff
New ebuild to apply gcc34 patch to mutella-0.4.3 (mutella-0.4.3.ebuild,772 bytes, application/octet-stream)
2004-10-05 21:24 UTC, Thomas Cort (RETIRED)
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Thomas Cort (RETIRED) gentoo-dev 2004-09-28 16:58:36 UTC
When I try to "emerge mutella", I get a compile error because the syntax is wrong for the templated operators. See actual results below.

Reproducible: Always
Steps to Reproduce:
1. emerge mutella

Actual Results:  
source='gnuwordhash.cpp' object='gnuwordhash.o' libtool=no \
depfile='.deps/gnuwordhash.Po' tmpdepfile='.deps/gnuwordhash.TPo' \
depmode=gcc3 /bin/sh ../depcomp \
g++ -DHAVE_CONFIG_H -I. -I. -I..  -I/usr/include  -D_REENTRANT
-D_MIT_POSIX_THREADS -fno-exceptions -fno-check-new     -fomit-frame-pointer
-fpermissive -O0 -c -o gnuwordhash.o `test -f 'gnuwordhash.cpp' || echo
'./'`gnuwordhash.cpp
In file included from mutella.h:83,
                 from gnuwordhash.cpp:29:
tstring.h:532: error: declaration of `operator==' as non-function
tstring.h:532: error: expected `;' before '<' token
tstring.h:533: error: declaration of `operator==' as non-function
tstring.h:533: error: expected `;' before '<' token
tstring.h:534: error: declaration of `operator==' as non-function
tstring.h:534: error: expected `;' before '<' token
tstring.h:535: error: declaration of `operator==' as non-function
tstring.h:535: error: expected `;' before '<' token
tstring.h:536: error: declaration of `operator==' as non-function
tstring.h:536: error: expected `;' before '<' token
tstring.h:537: error: declaration of `operator!=' as non-function
tstring.h:537: error: expected `;' before '<' token
tstring.h:538: error: declaration of `operator!=' as non-function
tstring.h:538: error: expected `;' before '<' token
tstring.h:539: error: declaration of `operator!=' as non-function
tstring.h:539: error: expected `;' before '<' token
tstring.h:540: error: declaration of `operator!=' as non-function
tstring.h:540: error: expected `;' before '<' token
tstring.h:541: error: declaration of `operator!=' as non-function
tstring.h:541: error: expected `;' before '<' token
tstring.h:542: error: declaration of `operator>' as non-function
tstring.h:542: error: expected `;' before '<' token
tstring.h:543: error: declaration of `operator>' as non-function
tstring.h:543: error: expected `;' before '<' token
tstring.h:544: error: declaration of `operator>' as non-function
tstring.h:544: error: expected `;' before '<' token
tstring.h:545: error: declaration of `operator>' as non-function
tstring.h:545: error: expected `;' before '<' token
tstring.h:546: error: declaration of `operator>' as non-function
tstring.h:546: error: expected `;' before '<' token
tstring.h:547: error: declaration of `operator<' as non-function
tstring.h:547: error: expected `;' before '<' token
tstring.h:548: error: declaration of `operator<' as non-function
tstring.h:548: error: expected `;' before '<' token
tstring.h:549: error: declaration of `operator<' as non-function
tstring.h:549: error: expected `;' before '<' token
tstring.h:550: error: declaration of `operator<' as non-function
tstring.h:550: error: expected `;' before '<' token
tstring.h:551: error: declaration of `operator<' as non-function
tstring.h:551: error: expected `;' before '<' token
tstring.h:552: error: declaration of `operator+' as non-function
tstring.h:552: error: expected `;' before '<' token
tstring.h:553: error: declaration of `operator+' as non-function
tstring.h:553: error: expected `;' before '<' token
tstring.h:554: error: declaration of `operator+' as non-function
tstring.h:554: error: expected `;' before '<' token
tstring.h:555: error: declaration of `operator+' as non-function
tstring.h:555: error: expected `;' before '<' token
tstring.h:556: error: declaration of `operator+' as non-function
tstring.h:556: error: expected `;' before '<' token
tstring.h:557: error: declaration of `operator<<' as non-function
tstring.h:557: error: expected `;' before '<' token
tstring.h:558: error: declaration of `operator>>' as non-function
tstring.h:558: error: expected `;' before '<' token
tstring.h: In function `bool operator>(T, const TString<T>&)':
tstring.h:632: error: `cLhs' undeclared (first use this function)
tstring.h:632: error: (Each undeclared identifier is reported only once for each
function it appears in.)
tstring.h: In function `bool operator<(T, const TString<T>&)':
tstring.h:643: error: `cLhs' undeclared (first use this function)
tstring.h: In function `TString<T> operator+(const TString<T>&, typename
TString<T>::LPCT) [with T = char]':
gnuwordhash.cpp:226:   instantiated from here
tstring.h:517: error: `static int TString<T>::_strlen(const T*) [with T = char]'
is protected
tstring.h:656: error: within this context
gnuwordhash.cpp:226:   instantiated from here
tstring.h:530: error: `int TString<char>::m_nLength' is protected
tstring.h:657: error: within this context
tstring.h:403: error: `void TString<T>::_reallocNreplace(int, const T*) [with T
= char]' is protected
tstring.h:657: error: within this context
gnuwordhash.cpp:226:   instantiated from here
tstring.h:530: error: `int TString<char>::m_nLength' is protected
tstring.h:658: error: within this context
tstring.h:528: error: `char*TString<char>::m_pBuffer' is protected
tstring.h:658: error: within this context
tstring.h:403: error: `void TString<T>::_reallocNreplace(int, const T*) [with T
= char]' is protected
tstring.h:658: error: within this context
gnuwordhash.cpp:226:   instantiated from here
tstring.h:385: error: `void TString<T>::_reallocNtail(int, const T*) [with T =
char]' is protected
tstring.h:659: error: within this context
tstring.h: In function `bool operator==(const TString<T>&, const TString<T>&)
[with T = char]':
gnuwordhash.cpp:240:   instantiated from here
tstring.h:530: error: `int TString<char>::m_nLength' is protected
tstring.h:563: error: within this context
tstring.h:530: error: `int TString<char>::m_nLength' is protected
tstring.h:563: error: within this context
tstring.h:528: error: `char*TString<char>::m_pBuffer' is protected
tstring.h:565: error: within this context
tstring.h:528: error: `char*TString<char>::m_pBuffer' is protected
tstring.h:565: error: within this context
tstring.h:522: error: `static int TString<T>::_strcmp(const T*, const T*) [with
T = char]' is protected
tstring.h:565: error: within this context
tstring.h: In function `TString<T> operator+(typename TString<T>::LPCT, const
TString<T>&) [with T = char]':
gnuwordhash.cpp:370:   instantiated from here
tstring.h:517: error: `static int TString<T>::_strlen(const T*) [with T = char]'
is protected
tstring.h:665: error: within this context
gnuwordhash.cpp:370:   instantiated from here
tstring.h:530: error: `int TString<char>::m_nLength' is protected
tstring.h:666: error: within this context
tstring.h:403: error: `void TString<T>::_reallocNreplace(int, const T*) [with T
= char]' is protected
tstring.h:666: error: within this context
gnuwordhash.cpp:370:   instantiated from here
tstring.h:403: error: `void TString<T>::_reallocNreplace(int, const T*) [with T
= char]' is protected
tstring.h:667: error: within this context
gnuwordhash.cpp:370:   instantiated from here
tstring.h:530: error: `int TString<char>::m_nLength' is protected
tstring.h:668: error: within this context
tstring.h:528: error: `char*TString<char>::m_pBuffer' is protected
tstring.h:668: error: within this context
tstring.h:385: error: `void TString<T>::_reallocNtail(int, const T*) [with T =
char]' is protected
tstring.h:668: error: within this context
tstring.h: In function `TString<T> operator+(const TString<T>&, const
TString<T>&) [with T = char]':
gnuwordhash.cpp:632:   instantiated from here
tstring.h:530: error: `int TString<char>::m_nLength' is protected
tstring.h:648: error: within this context
tstring.h:530: error: `int TString<char>::m_nLength' is protected
tstring.h:648: error: within this context
tstring.h:403: error: `void TString<T>::_reallocNreplace(int, const T*) [with T
= char]' is protected
tstring.h:648: error: within this context
gnuwordhash.cpp:632:   instantiated from here
tstring.h:530: error: `int TString<char>::m_nLength' is protected
tstring.h:649: error: within this context
tstring.h:528: error: `char*TString<char>::m_pBuffer' is protected
tstring.h:649: error: within this context
tstring.h:403: error: `void TString<T>::_reallocNreplace(int, const T*) [with T
= char]' is protected
tstring.h:649: error: within this context
gnuwordhash.cpp:632:   instantiated from here
tstring.h:530: error: `int TString<char>::m_nLength' is protected
tstring.h:650: error: within this context
tstring.h:528: error: `char*TString<char>::m_pBuffer' is protected
tstring.h:650: error: within this context
tstring.h:385: error: `void TString<T>::_reallocNtail(int, const T*) [with T =
char]' is protected
tstring.h:650: error: within this context
In file included from mutella.h:83,
                 from sha1thread.cpp:25:
tstring.h:532: error: declaration of `operator==' as non-function
tstring.h:532: error: expected `;' before '<' token
tstring.h:533: error: declaration of `operator==' as non-function
tstring.h:533: error: expected `;' before '<' token
tstring.h:534: error: declaration of `operator==' as non-function
tstring.h:534: error: expected `;' before '<' token
tstring.h:535: error: declaration of `operator==' as non-function
tstring.h:535: error: expected `;' before '<' token
tstring.h:536: error: declaration of `operator==' as non-function
tstring.h:536: error: expected `;' before '<' token
tstring.h:537: error: declaration of `operator!=' as non-function
tstring.h:537: error: expected `;' before '<' token
tstring.h:538: error: declaration of `operator!=' as non-function
tstring.h:538: error: expected `;' before '<' token
tstring.h:539: error: declaration of `operator!=' as non-function
tstring.h:539: error: expected `;' before '<' token
tstring.h:540: error: declaration of `operator!=' as non-function
tstring.h:540: error: expected `;' before '<' token
tstring.h:541: error: declaration of `operator!=' as non-function
tstring.h:541: error: expected `;' before '<' token
tstring.h:542: error: declaration of `operator>' as non-function
tstring.h:542: error: expected `;' before '<' token
tstring.h:543: error: declaration of `operator>' as non-function
tstring.h:543: error: expected `;' before '<' token
tstring.h:544: error: declaration of `operator>' as non-function
tstring.h:544: error: expected `;' before '<' token
tstring.h:545: error: declaration of `operator>' as non-function
tstring.h:545: error: expected `;' before '<' token
tstring.h:546: error: declaration of `operator>' as non-function
tstring.h:546: error: expected `;' before '<' token
tstring.h:547: error: declaration of `operator<' as non-function
tstring.h:547: error: expected `;' before '<' token
tstring.h:548: error: declaration of `operator<' as non-function
tstring.h:548: error: expected `;' before '<' token
tstring.h:549: error: declaration of `operator<' as non-function
tstring.h:549: error: expected `;' before '<' token
tstring.h:550: error: declaration of `operator<' as non-function
tstring.h:550: error: expected `;' before '<' token
tstring.h:551: error: declaration of `operator<' as non-function
tstring.h:551: error: expected `;' before '<' token
tstring.h:552: error: declaration of `operator+' as non-function
tstring.h:552: error: expected `;' before '<' token
tstring.h:553: error: declaration of `operator+' as non-function
tstring.h:553: error: expected `;' before '<' token
tstring.h:554: error: declaration of `operator+' as non-function
tstring.h:554: error: expected `;' before '<' token
tstring.h:555: error: declaration of `operator+' as non-function
tstring.h:555: error: expected `;' before '<' token
tstring.h:556: error: declaration of `operator+' as non-function
tstring.h:556: error: expected `;' before '<' token
tstring.h:557: error: declaration of `operator<<' as non-function
tstring.h:557: error: expected `;' before '<' token
tstring.h:558: error: declaration of `operator>>' as non-function
tstring.h:558: error: expected `;' before '<' token
tstring.h: In function `bool operator>(T, const TString<T>&)':
tstring.h:632: error: `cLhs' undeclared (first use this function)
tstring.h:632: error: (Each undeclared identifier is reported only once for each
function it appears in.)
tstring.h: In function `bool operator<(T, const TString<T>&)':
tstring.h:643: error: `cLhs' undeclared (first use this function)
tstring.h: In function `TString<T> operator+(typename TString<T>::LPCT, const
TString<T>&) [with T = char]':
sha1thread.h:45:   instantiated from here
tstring.h:517: error: `static int TString<T>::_strlen(const T*) [with T = char]'
is protected
tstring.h:665: error: within this context
sha1thread.h:45:   instantiated from here
tstring.h:530: error: `int TString<char>::m_nLength' is protected
tstring.h:666: error: within this context
tstring.h:403: error: `void TString<T>::_reallocNreplace(int, const T*) [with T
= char]' is protected
tstring.h:666: error: within this context
sha1thread.h:45:   instantiated from here
tstring.h:403: error: `void TString<T>::_reallocNreplace(int, const T*) [with T
= char]' is protected
tstring.h:667: error: within this context
sha1thread.h:45:   instantiated from here
tstring.h:530: error: `int TString<char>::m_nLength' is protected
tstring.h:668: error: within this context
tstring.h:528: error: `char*TString<char>::m_pBuffer' is protected
tstring.h:668: error: within this context
tstring.h:385: error: `void TString<T>::_reallocNtail(int, const T*) [with T =
char]' is protected
tstring.h:668: error: within this context
tstring.h: In function `TString<T> operator+(const TString<T>&, typename
TString<T>::LPCT) [with T = char]':
sha1thread.h:45:   instantiated from here
tstring.h:517: error: `static int TString<T>::_strlen(const T*) [with T = char]'
is protected
tstring.h:656: error: within this context
sha1thread.h:45:   instantiated from here
tstring.h:530: error: `int TString<char>::m_nLength' is protected
tstring.h:657: error: within this context
tstring.h:403: error: `void TString<T>::_reallocNreplace(int, const T*) [with T
= char]' is protected
tstring.h:657: error: within this context
sha1thread.h:45:   instantiated from here
tstring.h:530: error: `int TString<char>::m_nLength' is protected
tstring.h:658: error: within this context
tstring.h:528: error: `char*TString<char>::m_pBuffer' is protected
tstring.h:658: error: within this context
tstring.h:403: error: `void TString<T>::_reallocNreplace(int, const T*) [with T
= char]' is protected
tstring.h:658: error: within this context
sha1thread.h:45:   instantiated from here
tstring.h:385: error: `void TString<T>::_reallocNtail(int, const T*) [with T =
char]' is protected
tstring.h:659: error: within this context
tstring.h: In function `bool operator<(const TString<T>&, const TString<T>&)
[with T = char]':
sha1thread.cpp:65:   instantiated from here
tstring.h:528: error: `char*TString<char>::m_pBuffer' is protected
tstring.h:635: error: within this context
tstring.h:528: error: `char*TString<char>::m_pBuffer' is protected
tstring.h:635: error: within this context
tstring.h:522: error: `static int TString<T>::_strcmp(const T*, const T*) [with
T = char]' is protected
tstring.h:635: error: within this context
tstring.h: In function `bool operator>(const TString<T>&, const TString<T>&)
[with T = char]':
sha1thread.cpp:67:   instantiated from here
tstring.h:528: error: `char*TString<char>::m_pBuffer' is protected
tstring.h:624: error: within this context
tstring.h:528: error: `char*TString<char>::m_pBuffer' is protected
tstring.h:624: error: within this context
tstring.h:522: error: `static int TString<T>::_strcmp(const T*, const T*) [with
T = char]' is protected
tstring.h:624: error: within this context
make[3]: *** [gnuwordhash.o] Error 1
make[3]: *** Waiting for unfinished jobs....
make[3]: *** [sha1thread.o] Error 1
make[3]: Leaving directory
`/var/tmp/portage/mutella-0.4.3/work/mutella-0.4.3/mutella'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory
`/var/tmp/portage/mutella-0.4.3/work/mutella-0.4.3/mutella'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/var/tmp/portage/mutella-0.4.3/work/mutella-0.4.3'
make: *** [all] Error 2

Expected Results:  
I expected it to successfully compile.

Portage 2.0.51_rc6 (default-x86-2004.0, gcc-3.4.2, glibc-2.3.4.20040808-r0,
2.6.8-ck8 i686)
=================================================================
System uname: 2.6.8-ck8 i686 Intel(R) Celeron(R) CPU 2.70GHz
Gentoo Base System version 1.5.3
Autoconf: sys-devel/autoconf-2.59-r4
Automake: sys-devel/automake-1.8.5-r1
Binutils: sys-devel/binutils-2.15.90.0.1.1-r3
Headers:  sys-kernel/linux-headers-2.4.22
Libtools: sys-devel/libtool-1.5.2-r5
ACCEPT_KEYWORDS="x86 ~x86"
AUTOCLEAN="yes"
CFLAGS="-O2 -fomit-frame-pointer"
CHOST="i686-pc-linux-gnu"
COMPILER=""
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/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="-O2 -fomit-frame-pointer -fpermissive"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoaddcvs ccache distlocks sandbox"
GENTOO_MIRRORS="ftp://cs.ubishops.ca:2121/pub/gentoo
ftp://cs.ubishops.ca/pub/gentoo"
MAKEOPTS="-j2"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY=""
SYNC="rsync://rsync.ca.gentoo.org/gentoo-portage"
USE="X aim alsa apm arts audiofile avi berkdb bitmap-fonts bzlib calendar
cdinstall cdr cdrom chroot cpdflib crypt cups dba directfb divx4linux dv dvdread
encode esd f77 faac faad fbcon fbdev ffmpeg flac flash foomaticdb ftp gcj gcl gd
gdbm gif gnome gphoto2 gpm gtk gtk2 gtkhtml i8x0 imlib jabber java javascript
jikes jpeg kde libdsk libg++ libwww lzw-tiff mad md5sum mhash mikmod motif
mozaccess mozcalendar mozctl mozdomi mozilla moznocompose moznoirc moznomail
mpeg mpeg4 mplayer msn music mysql nas native ncurses net nethack nls nocd
noexperimental nojoystick nomac noreiserfs ntlm oav offensive oggvorbis opengl
oscar oss pam pdflib perl php png posix postgres pthreads python qt quicktime
readline ruby sdl slang sndfile snmp sockets spell ssl svga tcltk tcpd tetex
threads truetype usb vanilla x86 xml xml2 xmms xprint xv xvid yahoo zlib"

---------------------

There is a fix for this error in the mutella cvs on source forge.
Lastly, there is a new version (mutella 0.4.5) that compiles with the new gcc
Comment 1 Thomas Cort (RETIRED) gentoo-dev 2004-09-29 11:24:49 UTC
I made an ebuild for the new version (0.4.5) and it compiles with gcc 3.4.2. It's <a href="http://bugs.gentoo.org/show_bug.cgi?id=65834">bug 65834</a>.
Comment 2 Thomas Cort (RETIRED) gentoo-dev 2004-10-05 21:24:08 UTC
Created attachment 41197 [details, diff]
Patch to make mutella-0.4.3 sources compile with gcc 3.4.2
Comment 3 Thomas Cort (RETIRED) gentoo-dev 2004-10-05 21:24:47 UTC
Created attachment 41198 [details]
New ebuild to apply gcc34 patch to mutella-0.4.3
Comment 4 Jon Hood (RETIRED) gentoo-dev 2004-12-07 10:16:43 UTC
As mutella-0.4.5 is stable in portage, I see no reason to apply this patch. If you have reason to, please let me know. Thanks for your work on the patch, but it doesn't seem to be needed now.