lastfm / lastfm-desktop

The official Last.fm desktop application suite
http://www.last.fm
GNU General Public License v3.0
465 stars 95 forks source link

Compilation errors on Debian Jessie #54

Open martijnboers opened 10 years ago

martijnboers commented 10 years ago

Hi!

After running make -j4 I get an ambiguous overload in RadioService.cpp;


Services/RadioService/RadioService.cpp: In member function ‘void RadioService::onPhononStateChanged(Phonon::State, Phonon::State)’:
Services/RadioService/RadioService.cpp:310:14: error: ambiguous overload for ‘operator<<’ (operand types are ‘StampedDebug’ and ‘Phonon::State’)
     qDebug() << oldstate << " -> " << newstate;
              ^
Services/RadioService/RadioService.cpp:310:14: note: candidates are:
In file included from /usr/include/qt4/QtCore/QtDebug:1:0,
                 from /usr/include/qt4/phonon/objectdescription.h:29,
                 from /usr/include/qt4/phonon/path.h:27,
                 from /usr/include/qt4/phonon/medianode.h:29,
                 from /usr/include/qt4/phonon/mediaobject.h:25,
                 from Services/RadioService/RadioService.cpp:26:
/usr/include/qt4/QtCore/qdebug.h:95:20: note: QDebug& QDebug::operator<<(QChar)
     inline QDebug &operator<<(QChar t) { stream->ts << '\'' << t << '\''; return maybeSpace(); }
                    ^
/usr/include/qt4/QtCore/qdebug.h:97:20: note: QDebug& QDebug::operator<<(bool)
     inline QDebug &operator<<(bool t) { stream->ts << (t ? "true" : "false"); return maybeSpace(); }
                    ^
/usr/include/qt4/QtCore/qdebug.h:98:20: note: QDebug& QDebug::operator<<(char)
     inline QDebug &operator<<(char t) { stream->ts << t; return maybeSpace(); }
                    ^
/usr/include/qt4/QtCore/qdebug.h:99:20: note: QDebug& QDebug::operator<<(short int)
     inline QDebug &operator<<(signed short t) { stream->ts << t; return maybeSpace(); }
                    ^
/usr/include/qt4/QtCore/qdebug.h:100:20: note: QDebug& QDebug::operator<<(short unsigned int)
     inline QDebug &operator<<(unsigned short t) { stream->ts << t; return maybeSpace(); }
                    ^
/usr/include/qt4/QtCore/qdebug.h:101:20: note: QDebug& QDebug::operator<<(int)
     inline QDebug &operator<<(signed int t) { stream->ts << t; return maybeSpace(); }
                    ^
/usr/include/qt4/QtCore/qdebug.h:102:20: note: QDebug& QDebug::operator<<(unsigned int)
     inline QDebug &operator<<(unsigned int t) { stream->ts << t; return maybeSpace(); }
                    ^
/usr/include/qt4/QtCore/qdebug.h:103:20: note: QDebug& QDebug::operator<<(long int)
     inline QDebug &operator<<(signed long t) { stream->ts << t; return maybeSpace(); }
                    ^
/usr/include/qt4/QtCore/qdebug.h:104:20: note: QDebug& QDebug::operator<<(long unsigned int)
     inline QDebug &operator<<(unsigned long t) { stream->ts << t; return maybeSpace(); }
                    ^
/usr/include/qt4/QtCore/qdebug.h:105:20: note: QDebug& QDebug::operator<<(qint64)
     inline QDebug &operator<<(qint64 t)
                    ^
/usr/include/qt4/QtCore/qdebug.h:107:20: note: QDebug& QDebug::operator<<(quint64)
     inline QDebug &operator<<(quint64 t)
                    ^
/usr/include/qt4/QtCore/qdebug.h:109:20: note: QDebug& QDebug::operator<<(float)
     inline QDebug &operator<<(float t) { stream->ts << t; return maybeSpace(); }
                    ^
/usr/include/qt4/QtCore/qdebug.h:110:20: note: QDebug& QDebug::operator<<(double)
     inline QDebug &operator<<(double t) { stream->ts << t; return maybeSpace(); }
                    ^
In file included from /usr/include/qt4/QtCore/qlocale.h:45:0,
                 from /usr/include/qt4/QtCore/qtextstream.h:48,
                 from /usr/include/qt4/QtCore/qdebug.h:50,
                 from /usr/include/qt4/QtCore/QtDebug:1,
                 from /usr/include/qt4/phonon/objectdescription.h:29,
                 from /usr/include/qt4/phonon/path.h:27,
                 from /usr/include/qt4/phonon/medianode.h:29,
                 from /usr/include/qt4/phonon/mediaobject.h:25,
                 from Services/RadioService/RadioService.cpp:26:
/usr/include/qt4/QtCore/qvariant.h:606:22: note: QDebug operator<<(QDebug, const QVariant&)
 Q_CORE_EXPORT QDebug operator<<(QDebug, const QVariant &);
                      ^
In file included from /usr/include/qt4/QtGui/qpixmap.h:46:0,
                 from /usr/include/qt4/QtGui/qicon.h:48,
                 from /usr/include/qt4/QtGui/qsystemtrayicon.h:49,
                 from /usr/include/qt4/QtGui/QSystemTrayIcon:1,
                 from Services/RadioService/../../Application.h:26,
                 from Services/RadioService/RadioService.cpp:33:
/usr/include/qt4/QtGui/qcolor.h:60:21: note: QDebug operator<<(QDebug, const QColor&)
 Q_GUI_EXPORT QDebug operator<<(QDebug, const QColor &);
                     ^
In file included from /usr/include/qt4/QtGui/qmatrix.h:45:0,
                 from /usr/include/qt4/QtGui/qtransform.h:44,
                 from /usr/include/qt4/QtGui/qimage.h:45,
                 from /usr/include/qt4/QtGui/qpixmap.h:50,
                 from /usr/include/qt4/QtGui/qicon.h:48,
                 from /usr/include/qt4/QtGui/qsystemtrayicon.h:49,
                 from /usr/include/qt4/QtGui/QSystemTrayIcon:1,
                 from Services/RadioService/../../Application.h:26,
                 from Services/RadioService/RadioService.cpp:33:
/usr/include/qt4/QtGui/qpolygon.h:102:21: note: QDebug operator<<(QDebug, const QPolygon&)
 Q_GUI_EXPORT QDebug operator<<(QDebug, const QPolygon &);
                     ^
/usr/include/qt4/QtGui/qpolygon.h:168:21: note: QDebug operator<<(QDebug, const QPolygonF&)
 Q_GUI_EXPORT QDebug operator<<(QDebug, const QPolygonF &);
                     ^
In file included from /usr/include/qt4/QtGui/qtransform.h:44:0,
                 from /usr/include/qt4/QtGui/qimage.h:45,
                 from /usr/include/qt4/QtGui/qpixmap.h:50,
                 from /usr/include/qt4/QtGui/qicon.h:48,
                 from /usr/include/qt4/QtGui/qsystemtrayicon.h:49,
                 from /usr/include/qt4/QtGui/QSystemTrayIcon:1,
                 from Services/RadioService/../../Application.h:26,
                 from Services/RadioService/RadioService.cpp:33:
/usr/include/qt4/QtGui/qmatrix.h:193:21: note: QDebug operator<<(QDebug, const QMatrix&)
 Q_GUI_EXPORT QDebug operator<<(QDebug, const QMatrix &);
                     ^
In file included from /usr/include/qt4/QtGui/qimage.h:45:0,
                 from /usr/include/qt4/QtGui/qpixmap.h:50,
                 from /usr/include/qt4/QtGui/qicon.h:48,
                 from /usr/include/qt4/QtGui/qsystemtrayicon.h:49,
                 from /usr/include/qt4/QtGui/QSystemTrayIcon:1,
                 from Services/RadioService/../../Application.h:26,
                 from Services/RadioService/RadioService.cpp:33:
/usr/include/qt4/QtGui/qtransform.h:360:21: note: QDebug operator<<(QDebug, const QTransform&)
 Q_GUI_EXPORT QDebug operator<<(QDebug, const QTransform &);
                     ^
In file included from /usr/include/qt4/QtGui/qwidget.h:58:0,
                 from /usr/include/qt4/QtGui/qmainwindow.h:45,
                 from /usr/include/qt4/QtGui/QMainWindow:1,
                 from ../../../lastfm-desktop/lib/unicorn/UnicornApplication.h:30,
                 from Services/RadioService/../../Application.h:32,
                 from Services/RadioService/RadioService.cpp:33:
/usr/include/qt4/QtGui/qkeysequence.h:222:21: note: QDebug operator<<(QDebug, const QKeySequence&)
 Q_GUI_EXPORT QDebug operator<<(QDebug, const QKeySequence &);
                     ^
In file included from Services/RadioService/RadioService.cpp:34:0:
Services/RadioService/RadioService.h:140:15: note: QDebug operator<<(QDebug, Phonon::State)
 inline QDebug operator<<( QDebug d, Phonon::State s )
               ^
In file included from /usr/include/qt4/phonon/mediasource.h:27:0,
                 from /usr/include/qt4/phonon/mediaobject.h:26,
                 from Services/RadioService/RadioService.cpp:26:
/usr/include/qt4/phonon/phononnamespace.h:307:26: note: QDebug Phonon::operator<<(QDebug, const Phonon::State&)
     PHONON_EXPORT QDebug operator <<(QDebug dbg, const Phonon::State &);
                          ^
Makefile:1276: recipe for target '_build/RadioService.o' failed
make[1]: *** [_build/RadioService.o] Error 1
make[1]: *** Waiting for unfinished jobs....
make[1]: Leaving directory '/home/martijn/packages/lastfm-desktop/app/client'
Makefile:188: recipe for target 'sub-app-client-make_default-ordered' failed
make: *** [sub-app-client-make_default-ordered] Error 2

I couldn't find in the issues if this was an old problem, but I wont let me finish compiling.

3.14-2-rt-amd64 Debian Jessie

woodsb02 commented 8 years ago

The following patch should help:

--- app/client/Services/RadioService/RadioService.cpp.orig      2016-06-16 20:32:08 UTC
+++ app/client/Services/RadioService/RadioService.cpp
@@ -307,7 +307,7 @@ RadioService::mute()
 void
 RadioService::onPhononStateChanged( Phonon::State newstate, Phonon::State oldstate )
 {
-    qDebug() << oldstate << " -> " << newstate;
+    qDebug() << (int)oldstate << " -> " << (int)newstate;
     if (m_mediaObject == 0) {
         qDebug() << "m_mediaObject is null!";
         return;
woodsb02 commented 8 years ago

This is pull request #52

ben-xo commented 7 years ago

Thanks for the patch.

There's very little point to compiling the app on Linux - it won't give you Last.fm Radio (as that no longer exists) and it won't scrobble from iTunes or WinAmp / FooBar / WMP (as those don't exist on Linux), so there's not much to go for.

Interested to know what use-case you had in mind.