Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 629560 - sci-geosciences/gpsbabel-1.5.4-r1 with Qt-5.9: error: call of overloaded 'compare(const char [...], Qt::CaseSensitivity)' is ambiguous
Summary: sci-geosciences/gpsbabel-1.5.4-r1 with Qt-5.9: error: call of overloaded 'com...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Sci-geo Project
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2017-09-01 17:48 UTC by Markus
Modified: 2017-09-25 11:19 UTC (History)
0 users

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


Attachments
patch for tef_xml.cc (qt591.patch,3.03 KB, patch)
2017-09-17 11:42 UTC, Markus
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Markus 2017-09-01 17:48:19 UTC
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
Comment 1 Markus 2017-09-02 12:38:35 UTC
qt is 5.9.1
Comment 2 Andreas Sturmlechner gentoo-dev 2017-09-16 12:48:48 UTC
Thanks for your report, fixed in git commit 1ef37c47a0260323f090525092ecc4875244b893 and hopefully on a mirror near you soon.
Comment 3 Markus 2017-09-17 11:33:07 UTC
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)
Comment 4 Markus 2017-09-17 11:42:32 UTC
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.
Comment 5 Andreas Sturmlechner gentoo-dev 2017-09-18 18:24:24 UTC
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.
Comment 6 Markus 2017-09-19 18:23:32 UTC
After removing the patching of "GPSBabel.pro" the patch applied and also compiled successfully.
Comment 7 Andreas Sturmlechner gentoo-dev 2017-09-25 11:19:52 UTC
Thanks for testing, I've removed all unrelated changes from the commit and pushed git commit 52f7b74352b325b3980c4922e980701066c79a18