Lubuntu has a CI which builds packages for Bionic, Cosmic, and Disco. Bionic currently has Qt 5.9, and its build is FTBFS. LXQt supports Qt 5.7 and on, so unless we want to bump that requirement, this is an issue. Cosmic is 5.11 and Disco is 5.12, and those build fine.
[ 54%] Building CXX object src/CMakeFiles/fm-qt.dir/proxyfoldermodel.cpp.o
cd "/<<BUILDDIR>>/libfm-qt-0.14.1+git201904131258~bionic/obj-x86_64-linux-gnu/src" && /usr/bin/c++ -DGETTEXT_PACKAGE=\"\" -DLIBFM_QT_DATA_DIR=\"/usr/share/libfm-qt\" -DQT_CORE_LIB -DQT_GUI_LIB -DQT_NO_DEBUG -DQT_NO_FOREACH -DQT_NO_KEYWORDS -DQT_USE_QSTRINGBUILDER -DQT_WIDGETS_LIB -DQT_X11EXTRAS_LIB -Dfm_qt_EXPORTS -I"/<<BUILDDIR>>/libfm-qt-0.14.1+git201904131258~bionic/obj-x86_64-linux-gnu/src" -I"/<<BUILDDIR>>/libfm-qt-0.14.1+git201904131258~bionic/src" -I"/<<BUILDDIR>>/libfm-qt-0.14.1+git201904131258~bionic/obj-x86_64-linux-gnu/src/fm-qt_autogen/include" -I/usr/include/x86_64-linux-gnu/qt5/QtGui/5.9.5 -I/usr/include/x86_64-linux-gnu/qt5/QtGui/5.9.5/QtGui -I/usr/include/x86_64-linux-gnu/qt5/QtCore/5.9.5 -I/usr/include/x86_64-linux-gnu/qt5/QtCore/5.9.5/QtCore -I"/<<BUILDDIR>>/libfm-qt-0.14.1+git201904131258~bionic/src/core/legacy" -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/gio-unix-2.0 -I/usr/include/menu-cache -I/usr/include/libexif -isystem /usr/include/x86_64-linux-gnu/qt5 -isystem /usr/include/x86_64-linux-gnu/qt5/QtWidgets -isystem /usr/include/x86_64-linux-gnu/qt5/QtGui -isystem /usr/include/x86_64-linux-gnu/qt5/QtCore -isystem /usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++ -isystem /usr/include/x86_64-linux-gnu/qt5/QtX11Extras -g -O2 -fdebug-prefix-map=/<<BUILDDIR>>/libfm-qt-0.14.1+git201904131258~bionic=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fno-exceptions -Wall -Wextra -Wchar-subscripts -Wno-long-long -Wpointer-arith -Wundef -Wformat-security -Wnon-virtual-dtor -Woverloaded-virtual -Wpedantic -O2 -g -DNDEBUG -fPIC -fvisibility=hidden -fvisibility-inlines-hidden -fPIC -std=gnu++14 -o CMakeFiles/fm-qt.dir/proxyfoldermodel.cpp.o -c "/<<BUILDDIR>>/libfm-qt-0.14.1+git201904131258~bionic/src/proxyfoldermodel.cpp"
/<<BUILDDIR>>/libfm-qt-0.14.1+git201904131258~bionic/src/foldermodel.cpp: In member function ‘QString Fm::FolderModel::makeTooltip(Fm::FolderModelItem*) const’:
/<<BUILDDIR>>/libfm-qt-0.14.1+git201904131258~bionic/src/foldermodel.cpp:223:85: error: no match for ‘operator+’ (operand types are ‘QStringBuilder<QStringBuilder<QString, QString>, QString>’ and ‘std::unique_ptr<char [], Fm::CStrDeleter>::pointer {aka char*}’)
tip += QStringLiteral("<p><i>") + tr("Location:") + QStringLiteral("</i> ") + parent_str.get() + QStringLiteral("</p>");
^
In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:1765:0,
from /usr/include/x86_64-linux-gnu/qt5/QtCore/qbytearray.h:687,
from /usr/include/x86_64-linux-gnu/qt5/QtCore/qvariant.h:44,
from /usr/include/x86_64-linux-gnu/qt5/QtCore/qabstractitemmodel.h:43,
from /usr/include/x86_64-linux-gnu/qt5/QtCore/QAbstractListModel:1,
from /<<BUILDDIR>>/libfm-qt-0.14.1+git201904131258~bionic/src/foldermodel.h:25,
from /<<BUILDDIR>>/libfm-qt-0.14.1+git201904131258~bionic/src/foldermodel.cpp:21:
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstringbuilder.h:374:1: note: candidate: template<class A, class B> QStringBuilder<typename QConcatenable<T>::type, typename QConcatenable<B>::type> operator+(const A&, const B&)
operator+(const A &a, const B &b)
^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstringbuilder.h:374:1: note: template argument deduction/substitution failed:
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstringbuilder.h: In substitution of ‘template<class A, class B> QStringBuilder<typename QConcatenable<T>::type, typename QConcatenable<B>::type> operator+(const A&, const B&) [with A = QStringBuilder<QStringBuilder<QString, QString>, QString>; B = char*]’:
/<<BUILDDIR>>/libfm-qt-0.14.1+git201904131258~bionic/src/foldermodel.cpp:223:102: required from here
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstringbuilder.h:374:1: error: no type named ‘type’ in ‘struct QConcatenable<char*>’
In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qlist.h:1094:0,
from /usr/include/x86_64-linux-gnu/qt5/QtCore/qvariant.h:45,
from /usr/include/x86_64-linux-gnu/qt5/QtCore/qabstractitemmodel.h:43,
from /usr/include/x86_64-linux-gnu/qt5/QtCore/QAbstractListModel:1,
from /<<BUILDDIR>>/libfm-qt-0.14.1+git201904131258~bionic/src/foldermodel.h:25,
from /<<BUILDDIR>>/libfm-qt-0.14.1+git201904131258~bionic/src/foldermodel.cpp:21:
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstringlist.h:231:20: note: candidate: QStringList operator+(const QList<QString>&, const QStringList&)
inline QStringList operator+(const QList<QString> &one, const QStringList &other)
^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstringlist.h:231:20: note: no known conversion for argument 1 from ‘QStringBuilder<QStringBuilder<QString, QString>, QString>’ to ‘const QList<QString>&’
In file included from /usr/include/x86_64-linux-gnu/qt5/QtGui/qicon.h:44:0,
from /usr/include/x86_64-linux-gnu/qt5/QtGui/QIcon:1,
from /<<BUILDDIR>>/libfm-qt-0.14.1+git201904131258~bionic/src/foldermodel.h:27,
from /<<BUILDDIR>>/libfm-qt-0.14.1+git201904131258~bionic/src/foldermodel.cpp:21:
/usr/include/x86_64-linux-gnu/qt5/QtCore/qsize.h:175:37: note: candidate: constexpr const QSize operator+(const QSize&, const QSize&)
Q_DECL_CONSTEXPR inline const QSize operator+(const QSize & s1, const QSize & s2) Q_DECL_NOTHROW
^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qsize.h:175:37: note: no known conversion for argument 1 from ‘QStringBuilder<QStringBuilder<QString, QString>, QString>’ to ‘const QSize&’
/usr/include/x86_64-linux-gnu/qt5/QtCore/qsize.h:345:38: note: candidate: constexpr const QSizeF operator+(const QSizeF&, const QSizeF&)
Q_DECL_CONSTEXPR inline const QSizeF operator+(const QSizeF & s1, const QSizeF & s2) Q_DECL_NOTHROW
^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qsize.h:345:38: note: no known conversion for argument 1 from ‘QStringBuilder<QStringBuilder<QString, QString>, QString>’ to ‘const QSizeF&’
In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qrect.h:43:0,
from /usr/include/x86_64-linux-gnu/qt5/QtGui/qpaintdevice.h:45,
from /usr/include/x86_64-linux-gnu/qt5/QtGui/qpixmap.h:44,
from /usr/include/x86_64-linux-gnu/qt5/QtGui/qicon.h:46,
from /usr/include/x86_64-linux-gnu/qt5/QtGui/QIcon:1,
from /<<BUILDDIR>>/libfm-qt-0.14.1+git201904131258~bionic/src/foldermodel.h:27,
from /<<BUILDDIR>>/libfm-qt-0.14.1+git201904131258~bionic/src/foldermodel.cpp:21:
/usr/include/x86_64-linux-gnu/qt5/QtCore/qmargins.h:153:34: note: candidate: constexpr QMargins operator+(const QMargins&, const QMargins&)
Q_DECL_CONSTEXPR inline QMargins operator+(const QMargins &m1, const QMargins &m2) Q_DECL_NOTHROW
^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qmargins.h:153:34: note: no known conversion for argument 1 from ‘QStringBuilder<QStringBuilder<QString, QString>, QString>’ to ‘const QMargins&’
/usr/include/x86_64-linux-gnu/qt5/QtCore/qmargins.h:165:34: note: candidate: constexpr QMargins operator+(const QMargins&, int)
Q_DECL_CONSTEXPR inline QMargins operator+(const QMargins &lhs, int rhs) Q_DECL_NOTHROW
^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qmargins.h:165:34: note: no known conversion for argument 1 from ‘QStringBuilder<QStringBuilder<QString, QString>, QString>’ to ‘const QMargins&’
/usr/include/x86_64-linux-gnu/qt5/QtCore/qmargins.h:171:34: note: candidate: constexpr QMargins operator+(int, const QMargins&)
Q_DECL_CONSTEXPR inline QMargins operator+(int lhs, const QMargins &rhs) Q_DECL_NOTHROW
^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qmargins.h:171:34: note: no known conversion for argument 1 from ‘QStringBuilder<QStringBuilder<QString, QString>, QString>’ to ‘int’
/usr/include/x86_64-linux-gnu/qt5/QtCore/qmargins.h:267:34: note: candidate: constexpr QMargins operator+(const QMargins&)
Q_DECL_CONSTEXPR inline QMargins operator+(const QMargins &margins) Q_DECL_NOTHROW
^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qmargins.h:267:34: note: candidate expects 1 argument, 2 provided
/usr/include/x86_64-linux-gnu/qt5/QtCore/qmargins.h:385:35: note: candidate: constexpr QMarginsF operator+(const QMarginsF&, const QMarginsF&)
Q_DECL_CONSTEXPR inline QMarginsF operator+(const QMarginsF &lhs, const QMarginsF &rhs) Q_DECL_NOTHROW
^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qmargins.h:385:35: note: no known conversion for argument 1 from ‘QStringBuilder<QStringBuilder<QString, QString>, QString>’ to ‘const QMarginsF&’
/usr/include/x86_64-linux-gnu/qt5/QtCore/qmargins.h:397:35: note: candidate: constexpr QMarginsF operator+(const QMarginsF&, qreal)
Q_DECL_CONSTEXPR inline QMarginsF operator+(const QMarginsF &lhs, qreal rhs) Q_DECL_NOTHROW
^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qmargins.h:397:35: note: no known conversion for argument 1 from ‘QStringBuilder<QStringBuilder<QString, QString>, QString>’ to ‘const QMarginsF&’
/usr/include/x86_64-linux-gnu/qt5/QtCore/qmargins.h:403:35: note: candidate: constexpr QMarginsF operator+(qreal, const QMarginsF&)
Q_DECL_CONSTEXPR inline QMarginsF operator+(qreal lhs, const QMarginsF &rhs) Q_DECL_NOTHROW
^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qmargins.h:403:35: note: no known conversion for argument 1 from ‘QStringBuilder<QStringBuilder<QString, QString>, QString>’ to ‘qreal {aka double}’
/usr/include/x86_64-linux-gnu/qt5/QtCore/qmargins.h:471:35: note: candidate: constexpr QMarginsF operator+(const QMarginsF&)
Q_DECL_CONSTEXPR inline QMarginsF operator+(const QMarginsF &margins) Q_DECL_NOTHROW
^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qmargins.h:471:35: note: candidate expects 1 argument, 2 provided
In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qrect.h:45:0,
from /usr/include/x86_64-linux-gnu/qt5/QtGui/qpaintdevice.h:45,
from /usr/include/x86_64-linux-gnu/qt5/QtGui/qpixmap.h:44,
from /usr/include/x86_64-linux-gnu/qt5/QtGui/qicon.h:46,
from /usr/include/x86_64-linux-gnu/qt5/QtGui/QIcon:1,
from /<<BUILDDIR>>/libfm-qt-0.14.1+git201904131258~bionic/src/foldermodel.h:27,
from /<<BUILDDIR>>/libfm-qt-0.14.1+git201904131258~bionic/src/foldermodel.cpp:21:
/usr/include/x86_64-linux-gnu/qt5/QtCore/qpoint.h:169:38: note: candidate: constexpr const QPoint operator+(const QPoint&, const QPoint&)
Q_DECL_CONSTEXPR inline const QPoint operator+(const QPoint &p1, const QPoint &p2)
^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qpoint.h:169:38: note: no known conversion for argument 1 from ‘QStringBuilder<QStringBuilder<QString, QString>, QString>’ to ‘const QPoint&’
/usr/include/x86_64-linux-gnu/qt5/QtCore/qpoint.h:193:38: note: candidate: constexpr const QPoint operator+(const QPoint&)
Q_DECL_CONSTEXPR inline const QPoint operator+(const QPoint &p)
^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qpoint.h:193:38: note: candidate expects 1 argument, 2 provided
/usr/include/x86_64-linux-gnu/qt5/QtCore/qpoint.h:358:39: note: candidate: constexpr const QPointF operator+(const QPointF&, const QPointF&)
Q_DECL_CONSTEXPR inline const QPointF operator+(const QPointF &p1, const QPointF &p2)
^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qpoint.h:358:39: note: no known conversion for argument 1 from ‘QStringBuilder<QStringBuilder<QString, QString>, QString>’ to ‘const QPointF&’
/usr/include/x86_64-linux-gnu/qt5/QtCore/qpoint.h:378:39: note: candidate: constexpr const QPointF operator+(const QPointF&)
Q_DECL_CONSTEXPR inline const QPointF operator+(const QPointF &p)
^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qpoint.h:378:39: note: candidate expects 1 argument, 2 provided
In file included from /usr/include/x86_64-linux-gnu/qt5/QtGui/qpaintdevice.h:45:0,
from /usr/include/x86_64-linux-gnu/qt5/QtGui/qpixmap.h:44,
from /usr/include/x86_64-linux-gnu/qt5/QtGui/qicon.h:46,
from /usr/include/x86_64-linux-gnu/qt5/QtGui/QIcon:1,
from /<<BUILDDIR>>/libfm-qt-0.14.1+git201904131258~bionic/src/foldermodel.h:27,
from /<<BUILDDIR>>/libfm-qt-0.14.1+git201904131258~bionic/src/foldermodel.cpp:21:
/usr/include/x86_64-linux-gnu/qt5/QtCore/qrect.h:464:31: note: candidate: constexpr QRect operator+(const QRect&, const QMargins&)
Q_DECL_CONSTEXPR inline QRect operator+(const QRect &rectangle, const QMargins &margins) Q_DECL_NOTHROW
^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qrect.h:464:31: note: no known conversion for argument 1 from ‘QStringBuilder<QStringBuilder<QString, QString>, QString>’ to ‘const QRect&’
/usr/include/x86_64-linux-gnu/qt5/QtCore/qrect.h:470:31: note: candidate: constexpr QRect operator+(const QMargins&, const QRect&)
Q_DECL_CONSTEXPR inline QRect operator+(const QMargins &margins, const QRect &rectangle) Q_DECL_NOTHROW
^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qrect.h:470:31: note: no known conversion for argument 1 from ‘QStringBuilder<QStringBuilder<QString, QString>, QString>’ to ‘const QMargins&’
/usr/include/x86_64-linux-gnu/qt5/QtCore/qrect.h:876:32: note: candidate: constexpr QRectF operator+(const QRectF&, const QMarginsF&)
Q_DECL_CONSTEXPR inline QRectF operator+(const QRectF &lhs, const QMarginsF &rhs) Q_DECL_NOTHROW
^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qrect.h:876:32: note: no known conversion for argument 1 from ‘QStringBuilder<QStringBuilder<QString, QString>, QString>’ to ‘const QRectF&’
/usr/include/x86_64-linux-gnu/qt5/QtCore/qrect.h:882:32: note: candidate: constexpr QRectF operator+(const QMarginsF&, const QRectF&)
Q_DECL_CONSTEXPR inline QRectF operator+(const QMarginsF &lhs, const QRectF &rhs) Q_DECL_NOTHROW
^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qrect.h:882:32: note: no known conversion for argument 1 from ‘QStringBuilder<QStringBuilder<QString, QString>, QString>’ to ‘const QMarginsF&’
In file included from /usr/include/x86_64-linux-gnu/qt5/QtGui/qimage.h:48:0,
from /usr/include/x86_64-linux-gnu/qt5/QtGui/qpixmap.h:49,
from /usr/include/x86_64-linux-gnu/qt5/QtGui/qicon.h:46,
from /usr/include/x86_64-linux-gnu/qt5/QtGui/QIcon:1,
from /<<BUILDDIR>>/libfm-qt-0.14.1+git201904131258~bionic/src/foldermodel.h:27,
from /<<BUILDDIR>>/libfm-qt-0.14.1+git201904131258~bionic/src/foldermodel.cpp:21:
/usr/include/x86_64-linux-gnu/qt5/QtGui/qtransform.h:404:19: note: candidate: QTransform operator+(const QTransform&, qreal)
inline QTransform operator +(const QTransform &a, qreal n)
^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtGui/qtransform.h:404:19: note: no known conversion for argument 1 from ‘QStringBuilder<QStringBuilder<QString, QString>, QString>’ to ‘const QTransform&’
In file included from /usr/include/x86_64-linux-gnu/qt5/QtGui/qevent.h:56:0,
from /usr/include/x86_64-linux-gnu/qt5/QtGui/QList:1,
from /<<BUILDDIR>>/libfm-qt-0.14.1+git201904131258~bionic/src/foldermodel.h:29,
from /<<BUILDDIR>>/libfm-qt-0.14.1+git201904131258~bionic/src/foldermodel.cpp:21:
/usr/include/x86_64-linux-gnu/qt5/QtGui/qvector2d.h:221:41: note: candidate: constexpr const QVector2D operator+(const QVector2D&, const QVector2D&)
Q_DECL_CONSTEXPR inline const QVector2D operator+(const QVector2D &v1, const QVector2D &v2)
^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtGui/qvector2d.h:221:41: note: no known conversion for argument 1 from ‘QStringBuilder<QStringBuilder<QString, QString>, QString>’ to ‘const QVector2D&’
src/CMakeFiles/fm-qt.dir/build.make:1157: recipe for target 'src/CMakeFiles/fm-qt.dir/foldermodel.cpp.o' failed
make[3]: *** [src/CMakeFiles/fm-qt.dir/foldermodel.cpp.o] Error 1
make[3]: *** Waiting for unfinished jobs....
make[3]: Leaving directory '/<<BUILDDIR>>/libfm-qt-0.14.1+git201904131258~bionic/obj-x86_64-linux-gnu'
CMakeFiles/Makefile2:180: recipe for target 'src/CMakeFiles/fm-qt.dir/all' failed
make[2]: *** [src/CMakeFiles/fm-qt.dir/all] Error 2
make[2]: Leaving directory '/<<BUILDDIR>>/libfm-qt-0.14.1+git201904131258~bionic/obj-x86_64-linux-gnu'
Makefile:132: recipe for target 'all' failed
make[1]: *** [all] Error 2
make[1]: Leaving directory '/<<BUILDDIR>>/libfm-qt-0.14.1+git201904131258~bionic/obj-x86_64-linux-gnu'
dh_auto_build: cd obj-x86_64-linux-gnu && make -j4 "INSTALL=install --strip-program=true" returned exit code 2