Building gpsbabel fails with some errors: tef_xml.cc: In function 'void tef_start(xg_string, const QXmlStreamAttributes*)': tef_xml.cc:75:59: error: call of overloaded 'compare(const char [8], Qt::CaseSensitivity)' is ambiguous if (attr.name().compare("Comment", Qt::CaseInsensitive) == 0) { ^ In file included from /usr/include/qt5/QtCore/qobject.h:47:0, from /usr/include/qt5/QtCore/qiodevice.h:45, from /usr/include/qt5/QtCore/qxmlstream.h:43, from /usr/include/qt5/QtCore/QXmlStreamAttributes:1, from tef_xml.cc:26: /usr/include/qt5/QtCore/qstring.h:1583:12: note: candidate: int QStringRef::compare(const QString&, Qt::CaseSensitivity) const inline int QStringRef::compare(const QString &s, Qt::CaseSensitivity cs) const Q_DECL_NOTHROW ^~~~~~~~~~ /usr/include/qt5/QtCore/qstring.h:1514:9: note: candidate: int QStringRef::compare(const QByteArray&, Qt::CaseSensitivity) const int compare(const QByteArray &s, Qt::CaseSensitivity cs = Qt::CaseSensitive) const ^~~~~~~ tef_xml.cc:76:73: error: call of overloaded 'compare(const char [19], Qt::CaseSensitivity)' is ambiguous if (attr.value().compare("TourExchangeFormat", Qt::CaseInsensitive) == 0) { ^ In file included from /usr/include/qt5/QtCore/qobject.h:47:0, from /usr/include/qt5/QtCore/qiodevice.h:45, from /usr/include/qt5/QtCore/qxmlstream.h:43, from /usr/include/qt5/QtCore/QXmlStreamAttributes:1, from tef_xml.cc:26: /usr/include/qt5/QtCore/qstring.h:1583:12: note: candidate: int QStringRef::compare(const QString&, Qt::CaseSensitivity) const inline int QStringRef::compare(const QString &s, Qt::CaseSensitivity cs) const Q_DECL_NOTHROW ^~~~~~~~~~ /usr/include/qt5/QtCore/qstring.h:1514:9: note: candidate: int QStringRef::compare(const QByteArray&, Qt::CaseSensitivity) const int compare(const QByteArray &s, Qt::CaseSensitivity cs = Qt::CaseSensitive) const ^~~~~~~ tef_xml.cc:79:66: error: call of overloaded 'compare(const char [8], Qt::CaseSensitivity)' is ambiguous } else if (attr.name().compare("Version", Qt::CaseInsensitive) == 0) { ^ In file included from /usr/include/qt5/QtCore/qobject.h:47:0, from /usr/include/qt5/QtCore/qiodevice.h:45, from /usr/include/qt5/QtCore/qxmlstream.h:43, from /usr/include/qt5/QtCore/QXmlStreamAttributes:1, from tef_xml.cc:26: /usr/include/qt5/QtCore/qstring.h:1583:12: note: candidate: int QStringRef::compare(const QString&, Qt::CaseSensitivity) const inline int QStringRef::compare(const QString &s, Qt::CaseSensitivity cs) const Q_DECL_NOTHROW ^~~~~~~~~~ /usr/include/qt5/QtCore/qstring.h:1514:9: note: candidate: int QStringRef::compare(const QByteArray&, Qt::CaseSensitivity) const int compare(const QByteArray &s, Qt::CaseSensitivity cs = Qt::CaseSensitive) const ^~~~~~~ tef_xml.cc: In function 'void tef_header(xg_string, const QXmlStreamAttributes*)': tef_xml.cc:98:56: error: call of overloaded 'compare(const char [5], Qt::CaseSensitivity)' is ambiguous if (attr.name().compare("Name", Qt::CaseInsensitive) == 0) { ^ In file included from /usr/include/qt5/QtCore/qobject.h:47:0, from /usr/include/qt5/QtCore/qiodevice.h:45, from /usr/include/qt5/QtCore/qxmlstream.h:43, from /usr/include/qt5/QtCore/QXmlStreamAttributes:1, from tef_xml.cc:26: /usr/include/qt5/QtCore/qstring.h:1583:12: note: candidate: int QStringRef::compare(const QString&, Qt::CaseSensitivity) const inline int QStringRef::compare(const QString &s, Qt::CaseSensitivity cs) const Q_DECL_NOTHROW ^~~~~~~~~~ /usr/include/qt5/QtCore/qstring.h:1514:9: note: candidate: int QStringRef::compare(const QByteArray&, Qt::CaseSensitivity) const int compare(const QByteArray &s, Qt::CaseSensitivity cs = Qt::CaseSensitive) const ^~~~~~~ tef_xml.cc:100:67: error: call of overloaded 'compare(const char [9], Qt::CaseSensitivity)' is ambiguous } else if (attr.name().compare("Software", Qt::CaseInsensitive) == 0) { ^ In file included from /usr/include/qt5/QtCore/qobject.h:47:0, from /usr/include/qt5/QtCore/qiodevice.h:45, from /usr/include/qt5/QtCore/qxmlstream.h:43, from /usr/include/qt5/QtCore/QXmlStreamAttributes:1, from tef_xml.cc:26: /usr/include/qt5/QtCore/qstring.h:1583:12: note: candidate: int QStringRef::compare(const QString&, Qt::CaseSensitivity) const inline int QStringRef::compare(const QString &s, Qt::CaseSensitivity cs) const Q_DECL_NOTHROW ^~~~~~~~~~ /usr/include/qt5/QtCore/qstring.h:1514:9: note: candidate: int QStringRef::compare(const QByteArray&, Qt::CaseSensitivity) const int compare(const QByteArray &s, Qt::CaseSensitivity cs = Qt::CaseSensitive) const ^~~~~~~ tef_xml.cc: In function 'void tef_item_start(xg_string, const QXmlStreamAttributes*)': tef_xml.cc:251:66: error: call of overloaded 'compare(const char [15], Qt::CaseSensitivity)' is ambiguous if (attr.name().compare("SegDescription", Qt::CaseInsensitive) == 0) { ^ In file included from /usr/include/qt5/QtCore/qobject.h:47:0, from /usr/include/qt5/QtCore/qiodevice.h:45, from /usr/include/qt5/QtCore/qxmlstream.h:43, from /usr/include/qt5/QtCore/QXmlStreamAttributes:1, from tef_xml.cc:26: /usr/include/qt5/QtCore/qstring.h:1583:12: note: candidate: int QStringRef::compare(const QString&, Qt::CaseSensitivity) const inline int QStringRef::compare(const QString &s, Qt::CaseSensitivity cs) const Q_DECL_NOTHROW ^~~~~~~~~~ /usr/include/qt5/QtCore/qstring.h:1514:9: note: candidate: int QStringRef::compare(const QByteArray&, Qt::CaseSensitivity) const int compare(const QByteArray &s, Qt::CaseSensitivity cs = Qt::CaseSensitive) const ^~~~~~~ tef_xml.cc:253:75: error: call of overloaded 'compare(const char [17], Qt::CaseSensitivity)' is ambiguous } else if (attr.name().compare("PointDescription", Qt::CaseInsensitive) == 0) { ^ In file included from /usr/include/qt5/QtCore/qobject.h:47:0, from /usr/include/qt5/QtCore/qiodevice.h:45, from /usr/include/qt5/QtCore/qxmlstream.h:43, from /usr/include/qt5/QtCore/QXmlStreamAttributes:1, from tef_xml.cc:26: /usr/include/qt5/QtCore/qstring.h:1583:12: note: candidate: int QStringRef::compare(const QString&, Qt::CaseSensitivity) const inline int QStringRef::compare(const QString &s, Qt::CaseSensitivity cs) const Q_DECL_NOTHROW ^~~~~~~~~~ /usr/include/qt5/QtCore/qstring.h:1514:9: note: candidate: int QStringRef::compare(const QByteArray&, Qt::CaseSensitivity) const int compare(const QByteArray &s, Qt::CaseSensitivity cs = Qt::CaseSensitive) const ^~~~~~~ tef_xml.cc:255:69: error: call of overloaded 'compare(const char [11], Qt::CaseSensitivity)' is ambiguous } else if (attr.name().compare("ViaStation", Qt::CaseInsensitive) == 0 && ^ In file included from /usr/include/qt5/QtCore/qobject.h:47:0, from /usr/include/qt5/QtCore/qiodevice.h:45, from /usr/include/qt5/QtCore/qxmlstream.h:43, from /usr/include/qt5/QtCore/QXmlStreamAttributes:1, from tef_xml.cc:26: /usr/include/qt5/QtCore/qstring.h:1583:12: note: candidate: int QStringRef::compare(const QString&, Qt::CaseSensitivity) const inline int QStringRef::compare(const QString &s, Qt::CaseSensitivity cs) const Q_DECL_NOTHROW ^~~~~~~~~~ /usr/include/qt5/QtCore/qstring.h:1514:9: note: candidate: int QStringRef::compare(const QByteArray&, Qt::CaseSensitivity) const int compare(const QByteArray &s, Qt::CaseSensitivity cs = Qt::CaseSensitive) const ^~~~~~~ tef_xml.cc:256:64: error: call of overloaded 'compare(const char [5], Qt::CaseSensitivity)' is ambiguous attr.value().compare("true", Qt::CaseInsensitive) == 0) { ^ In file included from /usr/include/qt5/QtCore/qobject.h:47:0, from /usr/include/qt5/QtCore/qiodevice.h:45, from /usr/include/qt5/QtCore/qxmlstream.h:43, from /usr/include/qt5/QtCore/QXmlStreamAttributes:1, from tef_xml.cc:26: /usr/include/qt5/QtCore/qstring.h:1583:12: note: candidate: int QStringRef::compare(const QString&, Qt::CaseSensitivity) const inline int QStringRef::compare(const QString &s, Qt::CaseSensitivity cs) const Q_DECL_NOTHROW ^~~~~~~~~~ /usr/include/qt5/QtCore/qstring.h:1514:9: note: candidate: int QStringRef::compare(const QByteArray&, Qt::CaseSensitivity) const int compare(const QByteArray &s, Qt::CaseSensitivity cs = Qt::CaseSensitive) const ^~~~~~~ tef_xml.cc:260:70: error: call of overloaded 'compare(const char [12], Qt::CaseSensitivity)' is ambiguous } else if (attr.name().compare("Instruction", Qt::CaseInsensitive) == 0) { ^ In file included from /usr/include/qt5/QtCore/qobject.h:47:0, from /usr/include/qt5/QtCore/qiodevice.h:45, from /usr/include/qt5/QtCore/qxmlstream.h:43, from /usr/include/qt5/QtCore/QXmlStreamAttributes:1, from tef_xml.cc:26: /usr/include/qt5/QtCore/qstring.h:1583:12: note: candidate: int QStringRef::compare(const QString&, Qt::CaseSensitivity) const inline int QStringRef::compare(const QString &s, Qt::CaseSensitivity cs) const Q_DECL_NOTHROW ^~~~~~~~~~ /usr/include/qt5/QtCore/qstring.h:1514:9: note: candidate: int QStringRef::compare(const QByteArray&, Qt::CaseSensitivity) const int compare(const QByteArray &s, Qt::CaseSensitivity cs = Qt::CaseSensitive) const ^~~~~~~ tef_xml.cc:262:67: error: call of overloaded 'compare(const char [9], Qt::CaseSensitivity)' is ambiguous } else if (attr.name().compare("Altitude", Qt::CaseInsensitive) == 0) { ^ In file included from /usr/include/qt5/QtCore/qobject.h:47:0, from /usr/include/qt5/QtCore/qiodevice.h:45, from /usr/include/qt5/QtCore/qxmlstream.h:43, from /usr/include/qt5/QtCore/QXmlStreamAttributes:1, from tef_xml.cc:26: /usr/include/qt5/QtCore/qstring.h:1583:12: note: candidate: int QStringRef::compare(const QString&, Qt::CaseSensitivity) const inline int QStringRef::compare(const QString &s, Qt::CaseSensitivity cs) const Q_DECL_NOTHROW ^~~~~~~~~~ /usr/include/qt5/QtCore/qstring.h:1514:9: note: candidate: int QStringRef::compare(const QByteArray&, Qt::CaseSensitivity) const int compare(const QByteArray &s, Qt::CaseSensitivity cs = Qt::CaseSensitive) const ^~~~~~~ tef_xml.cc:264:68: error: call of overloaded 'compare(const char [10], Qt::CaseSensitivity)' is ambiguous } else if (attr.name().compare("TimeStamp", Qt::CaseInsensitive) == 0) { ^ In file included from /usr/include/qt5/QtCore/qobject.h:47:0, from /usr/include/qt5/QtCore/qiodevice.h:45, from /usr/include/qt5/QtCore/qxmlstream.h:43, from /usr/include/qt5/QtCore/QXmlStreamAttributes:1, from tef_xml.cc:26: /usr/include/qt5/QtCore/qstring.h:1583:12: note: candidate: int QStringRef::compare(const QString&, Qt::CaseSensitivity) const inline int QStringRef::compare(const QString &s, Qt::CaseSensitivity cs) const Q_DECL_NOTHROW ^~~~~~~~~~ /usr/include/qt5/QtCore/qstring.h:1514:9: note: candidate: int QStringRef::compare(const QByteArray&, Qt::CaseSensitivity) const int compare(const QByteArray &s, Qt::CaseSensitivity cs = Qt::CaseSensitive) const ^~~~~~~ make: *** [Makefile:121: tef_xml.o] Error 1
qt is 5.9.1
Thanks for your report, fixed in git commit 1ef37c47a0260323f090525092ecc4875244b893 and hopefully on a mirror near you soon.
Not fixed yet. In the build log I see that "gpsbabel-1.5.4-qt-5.9.patch" is applied. But the errors persist. Actually the patch doesnt even touch the affected file. (tef_xml.cc)
Created attachment 494814 [details, diff] patch for tef_xml.cc Adapting the changes from the "gpsbabel-1.5.4-qt-5.9.patch" to the tef_xml.cc file. gpsbabel compiles fine with it.
Thanks, could you please alternatively test the following (already) upstream commit: https://github.com/gpsbabel/gpsbabel/commit/604178aa8ad4d3c3ad218df24c1e9a6a1f683bb3 - it is making similar changes to the file. Simply append '.patch' to the URI to obtain a plaintext raw diff from github. I don't have access to any Qt-5.9 system until it is in tree, so we depend on your testing.
After removing the patching of "GPSBabel.pro" the patch applied and also compiled successfully.
Thanks for testing, I've removed all unrelated changes from the commit and pushed git commit 52f7b74352b325b3980c4922e980701066c79a18