Comment 3 for bug 25009

Revision history for this message
In , Josh Metzler (joshdeb) wrote : Re: Bug#337423: kdelibs4-dev: Ambigous overload for 'operator+' error in kresources/manager.h

On Friday 04 November 2005 06:26 am, Xavier FACQ wrote:
> Package: kdelibs4-dev
> Version: 4:3.4.2-4
> Severity: serious
> Justification: no longer builds from source
>
> When i try to build kopete from svn or using sources from apt-get
> source, it always failed with this error :
>
> /usr/include/kde/kresources/manager.h: In member function 'QStringList
> KRES::Manager<T>::resourceTypeDescriptions() const':
> /usr/include/kde/kresources/manager.h:338: error: ambiguous overload for
> 'operator+' in '" (" + ((const
> KRES::Manager<T>*)this)->KRES::Manager<T>::mFactory->.KRES::Factory::typeDe
>scription((* it))'
> /usr/share/qt3/include/qstring.h:1072: note: candidates are: const
> QString operator+(QChar, const QString&) <near match>
> /usr/share/qt3/include/qstring.h:1080: note: const
> QString operator+(char, const QString&) <near match>
> make[2]: *** [addresseeitem.lo] Erreur 1
> make[2]: Leaving directory
> `/home/xfacq/tmp/Dev/svndir/kdenetwork/kopete/libkopete/ui'
> make[1]: *** [all-recursive] Erreur 1
> make[1]: Leaving directory
> `/home/xfacq/tmp/Dev/svndir/kdenetwork/kopete/libkopete'
> make: *** [all-recursive] Erreur 1

Could you somehow have QT_NO_CAST_ASCII defined while building? Looking in
qstring.h, it should be using this operator+ on line 1050:
inline const QString operator+( const char *s1, const QString &s2 )

Your build doesn't appear to be finding that, though. Since the definition is
wrapped in a #ifndef QT_NO_CAST_ASCII, it seems like having that defined
while building could cause your build failure.

...

A quick grep -r through the kdenetwork sources shows that this appears to be
defined in all the kopete Makefile.am's and Makefile.in's, but not in any
other kdenetwork packages. So, I wonder how the buildd's built it?

Josh