[kdepim] [Bug 400934] New: kdepim-runtime does not compile with qt 5.11 (because QString::QString(const char*), QChar::QChar(char) and QString::QString(const QByteArray&) are private)

Benjamin Traut bugzilla_noreply at kde.org
Sun Nov 11 14:32:50 GMT 2018


https://bugs.kde.org/show_bug.cgi?id=400934

            Bug ID: 400934
           Summary: kdepim-runtime does not compile with qt 5.11 (because
                    QString::QString(const char*),  QChar::QChar(char) and
                    QString::QString(const QByteArray&) are private)
           Product: kdepim
           Version: GIT (master)
          Platform: Gentoo Packages
                OS: Linux
            Status: REPORTED
          Severity: major
          Priority: NOR
         Component: libkdepim
          Assignee: kdepim-bugs at kde.org
          Reporter: b.traut at gmx.net
  Target Milestone: ---

SUMMARY

See Bug #400916, fixed today. Package fails to compile now at several other
files.

Qt 5.11.x seems to have deprecated some constructors.

I:

/var/tmp/portage/kde-apps/kdepim-runtime-9999/work/kdepim-runtime-9999/resources/tomboynotes/o2/o0baseauth.cpp:
In member function ‘void O0BaseAuth::setExtraTokens(const QVariantMap&)’:
/var/tmp/portage/kde-apps/kdepim-runtime-9999/work/kdepim-runtime-9999/resources/tomboynotes/o2/o0baseauth.cpp:126:43:
error: ‘QString::QString(const QByteArray&)’ is private within this context
     store_->setValue(key, bytes.toBase64());
                                           ^
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/qdatastream.h:44,
                 from /usr/include/qt5/QtCore/QDataStream:1,
                 from
/var/tmp/portage/kde-apps/kdepim-runtime-9999/work/kdepim-runtime-9999/resources/tomboynotes/o2/o0baseauth.cpp:1:
/usr/include/qt5/QtCore/qstring.h:830:5: note: declared private here
     QString(const QByteArray &a);
     ^~~~~~~
/var/tmp/portage/kde-apps/kdepim-runtime-9999/work/kdepim-runtime-9999/resources/tomboynotes/o2/o0baseauth.cpp:
In static member function ‘static QByteArray
O0BaseAuth::createQueryParameters(const QList<O0RequestParameter>&)’:
/var/tmp/portage/kde-apps/kdepim-runtime-9999/work/kdepim-runtime-9999/resources/tomboynotes/o2/o0baseauth.cpp:140:50:
error: ‘QString::QString(const QByteArray&)’ is private within this context
         ret.append(QUrl::toPercentEncoding(h.name) + "=" +
QUrl::toPercentEncoding(h.value));
                                                  ^
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/qdatastream.h:44,
                 from /usr/include/qt5/QtCore/QDataStream:1,
                 from
/var/tmp/portage/kde-apps/kdepim-runtime-9999/work/kdepim-runtime-9999/resources/tomboynotes/o2/o0baseauth.cpp:1:
/usr/include/qt5/QtCore/qstring.h:830:5: note: declared private here
     QString(const QByteArray &a);
     ^~~~~~~
/var/tmp/portage/kde-apps/kdepim-runtime-9999/work/kdepim-runtime-9999/resources/tomboynotes/o2/o0baseauth.cpp:140:91:
error: ‘QString::QString(const QByteArray&)’ is private within this context
         ret.append(QUrl::toPercentEncoding(h.name) + "=" +
QUrl::toPercentEncoding(h.value));
                                                                               
           ^
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/qdatastream.h:44,
                 from /usr/include/qt5/QtCore/QDataStream:1,
                 from
/var/tmp/portage/kde-apps/kdepim-runtime-9999/work/kdepim-runtime-9999/resources/tomboynotes/o2/o0baseauth.cpp:1:
/usr/include/qt5/QtCore/qstring.h:830:5: note: declared private here
     QString(const QByteArray &a);
     ^~~~~~~
make[2]: ***
[resources/tomboynotes/CMakeFiles/akonadi_tomboynotes_resource.dir/build.make:221:
resources/tomboynotes/CMakeFiles/akonadi_tomboynotes_resource.dir/o2/o0baseauth.cpp.o]
Error 1
make[2]: Leaving directory
'/var/tmp/portage/kde-apps/kdepim-runtime-9999/work/kdepim-runtime-9999_build'
make[1]: *** [CMakeFiles/Makefile2:2873:
resources/tomboynotes/CMakeFiles/akonadi_tomboynotes_resource.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....

II:
/var/tmp/portage/kde-apps/kdepim-runtime-9999/work/kdepim-runtime-9999/resources/ews/ewsclient/auth/ewspkeyauthjob.cpp:
In function ‘QMultiMap<QCA::CertificateInfoType, QString>
parseCertSubjectInfo(const QString&)’:
/var/tmp/portage/kde-apps/kdepim-runtime-9999/work/kdepim-runtime-9999/resources/ews/ewsclient/auth/ewspkeyauthjob.cpp:41:68:
error: ‘QChar::QChar(char)’ is private within this context
     for (const auto token : info.split(',', QString::SkipEmptyParts)) {
                                                                    ^
In file included from /usr/include/qt5/QtCore/qstring.h:48:0,
                 from /usr/include/qt5/QtCore/qobject.h:47,
                 from /usr/include/qt5/QtCore/QObject:1,
                 from /usr/include/KF5/KCoreAddons/kjob.h:26,
                 from /usr/include/KF5/KCoreAddons/kcompositejob.h:24,
                 from /usr/include/KF5/KCoreAddons/KCompositeJob:1,
                 from
/var/tmp/portage/kde-apps/kdepim-runtime-9999/work/kdepim-runtime-9999/resources/ews/ewsclient/ewsjob.h:23,
                 from
/var/tmp/portage/kde-apps/kdepim-runtime-9999/work/kdepim-runtime-9999/resources/ews/ewsclient/auth/ewspkeyauthjob.h:23,
                 from
/var/tmp/portage/kde-apps/kdepim-runtime-9999/work/kdepim-runtime-9999/resources/ews/ewsclient/auth/ewspkeyauthjob.cpp:20:
/usr/include/qt5/QtCore/qchar.h:589:5: note: declared private here
     QChar(char c) Q_DECL_NOTHROW;
     ^~~~~
/var/tmp/portage/kde-apps/kdepim-runtime-9999/work/kdepim-runtime-9999/resources/ews/ewsclient/auth/ewspkeyauthjob.cpp:42:54:
error: ‘QChar::QChar(char)’ is private within this context
         const auto keyval = token.trimmed().split('=');
                                                      ^
In file included from /usr/include/qt5/QtCore/qstring.h:48:0,
                 from /usr/include/qt5/QtCore/qobject.h:47,
                 from /usr/include/qt5/QtCore/QObject:1,
                 from /usr/include/KF5/KCoreAddons/kjob.h:26,
                 from /usr/include/KF5/KCoreAddons/kcompositejob.h:24,
                 from /usr/include/KF5/KCoreAddons/KCompositeJob:1,
                 from
/var/tmp/portage/kde-apps/kdepim-runtime-9999/work/kdepim-runtime-9999/resources/ews/ewsclient/ewsjob.h:23,
                 from
/var/tmp/portage/kde-apps/kdepim-runtime-9999/work/kdepim-runtime-9999/resources/ews/ewsclient/auth/ewspkeyauthjob.h:23,
                 from
/var/tmp/portage/kde-apps/kdepim-runtime-9999/work/kdepim-runtime-9999/resources/ews/ewsclient/auth/ewspkeyauthjob.cpp:20:
/usr/include/qt5/QtCore/qchar.h:589:5: note: declared private here
     QChar(char c) Q_DECL_NOTHROW;
     ^~~~~
/var/tmp/portage/kde-apps/kdepim-runtime-9999/work/kdepim-runtime-9999/resources/ews/ewsclient/auth/ewspkeyauthjob.cpp:
In function ‘QString escapeSlashes(const QString&)’:
/var/tmp/portage/kde-apps/kdepim-runtime-9999/work/kdepim-runtime-9999/resources/ews/ewsclient/auth/ewspkeyauthjob.cpp:56:53:
error: ‘QChar::QChar(char)’ is private within this context
     return result.replace('/', QStringLiteral("\\/"));
                                                     ^
In file included from /usr/include/qt5/QtCore/qstring.h:48:0,
                 from /usr/include/qt5/QtCore/qobject.h:47,
                 from /usr/include/qt5/QtCore/QObject:1,
                 from /usr/include/KF5/KCoreAddons/kjob.h:26,
                 from /usr/include/KF5/KCoreAddons/kcompositejob.h:24,
                 from /usr/include/KF5/KCoreAddons/KCompositeJob:1,
                 from
/var/tmp/portage/kde-apps/kdepim-runtime-9999/work/kdepim-runtime-9999/resources/ews/ewsclient/ewsjob.h:23,
                 from
/var/tmp/portage/kde-apps/kdepim-runtime-9999/work/kdepim-runtime-9999/resources/ews/ewsclient/auth/ewspkeyauthjob.h:23,
                 from
/var/tmp/portage/kde-apps/kdepim-runtime-9999/work/kdepim-runtime-9999/resources/ews/ewsclient/auth/ewspkeyauthjob.cpp:20:
/usr/include/qt5/QtCore/qchar.h:589:5: note: declared private here
     QChar(char c) Q_DECL_NOTHROW;
     ^~~~~
/var/tmp/portage/kde-apps/kdepim-runtime-9999/work/kdepim-runtime-9999/resources/ews/ewsclient/auth/ewspkeyauthjob.cpp:
In member function ‘virtual void EwsPKeyAuthJob::start()’:
/var/tmp/portage/kde-apps/kdepim-runtime-9999/work/kdepim-runtime-9999/resources/ews/ewsclient/auth/ewspkeyauthjob.cpp:72:35:
error: variable ‘const QUrlQuery query’ has initializer but incomplete type
     const QUrlQuery query(mPKeyUri);
                                   ^
/var/tmp/portage/kde-apps/kdepim-runtime-9999/work/kdepim-runtime-9999/resources/ews/ewsclient/auth/ewspkeyauthjob.cpp:
In member function ‘void EwsPKeyAuthJob::sendAuthRequest(const QByteArray&,
const QUrl&, const QString&)’:
/var/tmp/portage/kde-apps/kdepim-runtime-9999/work/kdepim-runtime-9999/resources/ews/ewsclient/auth/ewspkeyauthjob.cpp:102:106:
error: ‘QString::QString(const QByteArray&)’ is private within this context
         QStringLiteral("PKeyAuth
AuthToken=\"%1\",Context=\"%2\",Version=\"1.0\"").arg(respToken,
context).toAscii());
                                                                               
                          ^
In file included from /usr/include/qt5/QtCore/qobject.h:47:0,
                 from /usr/include/qt5/QtCore/QObject:1,
                 from /usr/include/KF5/KCoreAddons/kjob.h:26,
                 from /usr/include/KF5/KCoreAddons/kcompositejob.h:24,
                 from /usr/include/KF5/KCoreAddons/KCompositeJob:1,
                 from
/var/tmp/portage/kde-apps/kdepim-runtime-9999/work/kdepim-runtime-9999/resources/ews/ewsclient/ewsjob.h:23,
                 from
/var/tmp/portage/kde-apps/kdepim-runtime-9999/work/kdepim-runtime-9999/resources/ews/ewsclient/auth/ewspkeyauthjob.h:23,
                 from
/var/tmp/portage/kde-apps/kdepim-runtime-9999/work/kdepim-runtime-9999/resources/ews/ewsclient/auth/ewspkeyauthjob.cpp:20:
/usr/include/qt5/QtCore/qstring.h:830:5: note: declared private here
     QString(const QByteArray &a);
     ^~~~~~~
/var/tmp/portage/kde-apps/kdepim-runtime-9999/work/kdepim-runtime-9999/resources/ews/ewsclient/auth/ewspkeyauthjob.cpp:102:108:
error: ‘class QString’ has no member named ‘toAscii’
         QStringLiteral("PKeyAuth
AuthToken=\"%1\",Context=\"%2\",Version=\"1.0\"").arg(respToken,
context).toAscii());
                                                                               
                            ^~~~~~~
/var/tmp/portage/kde-apps/kdepim-runtime-9999/work/kdepim-runtime-9999/resources/ews/ewsclient/auth/ewspkeyauthjob.cpp:
In member function ‘QByteArray EwsPKeyAuthJob::buildAuthResponse(const
QMap<QString, QString>&)’:
/var/tmp/portage/kde-apps/kdepim-runtime-9999/work/kdepim-runtime-9999/resources/ews/ewsclient/auth/ewspkeyauthjob.cpp:165:66:
error: ‘QString::QString(const QByteArray&)’ is private within this context
     const QString certStr = escapeSlashes(cert.toDER().toBase64());
                                                                  ^
In file included from /usr/include/qt5/QtCore/qobject.h:47:0,
                 from /usr/include/qt5/QtCore/QObject:1,
                 from /usr/include/KF5/KCoreAddons/kjob.h:26,
                 from /usr/include/KF5/KCoreAddons/kcompositejob.h:24,
                 from /usr/include/KF5/KCoreAddons/KCompositeJob:1,
                 from
/var/tmp/portage/kde-apps/kdepim-runtime-9999/work/kdepim-runtime-9999/resources/ews/ewsclient/ewsjob.h:23,
                 from
/var/tmp/portage/kde-apps/kdepim-runtime-9999/work/kdepim-runtime-9999/resources/ews/ewsclient/auth/ewspkeyauthjob.h:23,
                 from
/var/tmp/portage/kde-apps/kdepim-runtime-9999/work/kdepim-runtime-9999/resources/ews/ewsclient/auth/ewspkeyauthjob.cpp:20:
/usr/include/qt5/QtCore/qstring.h:830:5: note: declared private here
     QString(const QByteArray &a);
     ^~~~~~~



STEPS TO REPRODUCE
1. compile Qt5-5.11 from sources (gentoo qt-overlay)
2. compile kdepim-live-package-set (if you haven't before).
3. or compile directly the kde-apps/kdepim-runtime-9999.ebuild

OBSERVED RESULT
Package does not compile (see above error message)

EXPECTED RESULT
Package does compile and install

SOFTWARE/OS VERSIONS
Windows: -
MacOS: -
Linux/KDE Plasma: 
(available in About System)
KDE Plasma Version: 5.14.18 (live)
KDE Frameworks Version: 5.52.0 (live)
Qt Version: 5.11.2 (live)

-- 
You are receiving this mail because:
You are the assignee for the bug.


More information about the Kdepim-bugs mailing list