Cannot build Qt Creator 4.4.0 from source



  • I tried to build Qt creator 4.4.0 from source with Qt 5.9.0 and it still has following compiling error. In fact it happen back in 4.3.0 too, so I still use 4.2.1 for my work. Since 4.4.0 is out I decide to give it a try.

    Enviroment
    Linux: CentOS 7
    GCC: 5.1.0
    Qt: 5.9.0
    Qt Creator: 4.4.0

    g++ -c -pipe -O2 -std=gnu++1y -fvisibility=hidden -fvisibility-inlines-hidden -Wall -W -D_REENTRANT -fPIC -D'RELATIVE_PLUGIN_PATH="../lib/qtcreator/plugins"' -D'RELATIVE_LIBEXEC_PATH="../libexec/qtcreator"' -D'RELATIVE_DATA_PATH="../share/qtcreator"' -D'RELATIVE_DOC_PATH="../share/doc/qtcreator"' -DIDE_LIBRARY_BASENAME=\"lib\" -DQT_CREATOR -DQT_NO_CAST_TO_ASCII -DQT_RESTRICTED_CAST_FROM_ASCII -DQT_DISABLE_DEPRECATED_BEFORE=0x050600 -DQT_USE_FAST_OPERATOR_PLUS -DQT_USE_FAST_CONCATENATION -DUTILS_LIBRARY -DQTC_REL_TOOLS_PATH='"../libexec/qtcreator"' -DQT_NO_DEBUG -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CONCURRENT_LIB -DQT_QML_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -I../../../src -I../../../src -I../../libs -I/autohome/local/Software/qt/source/qt-creator-opensource-src-4.4.0/tools -I../../plugins -I/autohome/local/Software/qt/qt-5.9.1/include -I/autohome/local/Software/qt/qt-5.9.1/include/QtWidgets -I/autohome/local/Software/qt/qt-5.9.1/include/QtGui -I/autohome/local/Software/qt/qt-5.9.1/include/QtConcurrent -I/autohome/local/Software/qt/qt-5.9.1/include/QtQml -I/autohome/local/Software/qt/qt-5.9.1/include/QtNetwork -I/autohome/local/Software/qt/qt-5.9.1/include/QtCore -I.moc/release-shared -isystem /usr/include/libdrm -I.uic -I/autohome/local/Software/qt/qt-5.9.1/mkspecs/linux-g++ -o .obj/release-shared/theme.o theme/theme.cpp
    In file included from /usr/local/gcc-5.1.0/include/c++/5.1.0/bits/stl_algobase.h:71:0,
                     from /usr/local/gcc-5.1.0/include/c++/5.1.0/algorithm:61,
                     from /autohome/local/Software/qt/qt-5.9.1/include/QtCore/qglobal.h:109,
                     from utils_global.h:28,
                     from treemodel.h:28,
                     from treemodel.cpp:26:
    /usr/local/gcc-5.1.0/include/c++/5.1.0/bits/predefined_ops.h: In instantiation of \u2018constexpr bool __gnu_cxx::__ops::_Iter_comp_iter<_Compare>::operator()(_Iterator1, _Iterator2) [with _Iterator1 = const Utils::TreeItem*; _Iterator2 = const Utils::TreeItem*; _Compare = std::function<bool(const Utils::TreeItem*, const Utils::TreeItem*)>]\u2019:
    /usr/local/gcc-5.1.0/include/c++/5.1.0/functional:1982:6:   required by substitution of \u2018template<class _Res, class ... _ArgTypes> template<class _Functor> using _Invoke = decltype (std::__callable_functor(declval<_Functor&>())((declval<_ArgTypes>)()...)) [with _Functor = __gnu_cxx::__ops::_Iter_comp_iter<std::function<bool(const Utils::TreeItem*, const Utils::TreeItem*)> >; _Res = bool; _ArgTypes = {const Utils::TreeItem*, const Utils::TreeItem*}]\u2019
    /usr/local/gcc-5.1.0/include/c++/5.1.0/functional:1992:56:   required by substitution of \u2018template<class _Res, class ... _ArgTypes> template<class _Functor> using _Callable = std::__and_<std::function<_Res(_ArgTypes ...)>::_NotSelf<_Functor>, std::__check_func_return_type<std::function<_Res(_ArgTypes ...)>::_Invoke<_Functor>, _Res> > [with _Functor = __gnu_cxx::__ops::_Iter_comp_iter<std::function<bool(const Utils::TreeItem*, const Utils::TreeItem*)> >; _Res = bool; _ArgTypes = {const Utils::TreeItem*, const Utils::TreeItem*}]\u2019
    /usr/local/gcc-5.1.0/include/c++/5.1.0/functional:2057:9:   required by substitution of \u2018template<class _Functor, class> std::function<_Res(_ArgTypes ...)>::function(_Functor) [with _Functor = __gnu_cxx::__ops::_Iter_comp_iter<std::function<bool(const Utils::TreeItem*, const Utils::TreeItem*)> >; <template-parameter-1-2> = <missing>]\u2019
    /usr/local/gcc-5.1.0/include/c++/5.1.0/bits/predefined_ops.h:130:46:   required from \u2018constexpr __gnu_cxx::__ops::_Iter_comp_iter<_Compare> __gnu_cxx::__ops::__iter_comp_iter(_Compare) [with _Compare = std::function<bool(const Utils::TreeItem*, const Utils::TreeItem*)>]\u2019
    /usr/local/gcc-5.1.0/include/c++/5.1.0/bits/stl_algo.h:4729:70:   required from \u2018void std::sort(_RAIter, _RAIter, _Compare) [with _RAIter = Utils::TreeItem**; _Compare = std::function<bool(const Utils::TreeItem*, const Utils::TreeItem*)>]\u2019
    treemodel.cpp:732:50:   required from here
    /usr/local/gcc-5.1.0/include/c++/5.1.0/bits/predefined_ops.h:123:46: error: no match for call to \u2018(std::function<bool(const Utils::TreeItem*, const Utils::TreeItem*)>) (const Utils::TreeItem&, const Utils::TreeItem&)\u2019
             { return bool(_M_comp(*__it1, *__it2)); }
                                                  ^
    In file included from /autohome/local/Software/qt/qt-5.9.1/include/QtCore/qmap.h:54:0,
                     from /autohome/local/Software/qt/qt-5.9.1/include/QtCore/qvariant.h:47,
                     from /autohome/local/Software/qt/qt-5.9.1/include/QtCore/qabstractitemmodel.h:43,
                     from /autohome/local/Software/qt/qt-5.9.1/include/QtCore/QAbstractItemModel:1,
                     from treemodel.h:30,
                     from treemodel.cpp:26:
    /usr/local/gcc-5.1.0/include/c++/5.1.0/functional:2266:5: note: candidate: _Res std::function<_Res(_ArgTypes ...)>::operator()(_ArgTypes ...) const [with _Res = bool; _ArgTypes = {const Utils::TreeItem*, const Utils::TreeItem*}]
         function<_Res(_ArgTypes...)>::
         ^
    /usr/local/gcc-5.1.0/include/c++/5.1.0/functional:2266:5: note:   no known conversion for argument 1 from \u2018const Utils::TreeItem\u2019 to \u2018const Utils::TreeItem*\u2019
    g++ -c -pipe -O2 -std=gnu++1y -fvisibility=hidden -fvisibility-inlines-hidden -Wall -W -D_REENTRANT -fPIC -D'RELATIVE_PLUGIN_PATH="../lib/qtcreator/plugins"' -D'RELATIVE_LIBEXEC_PATH="../libexec/qtcreator"' -D'RELATIVE_DATA_PATH="../share/qtcreator"' -D'RELATIVE_DOC_PATH="../share/doc/qtcreator"' -DIDE_LIBRARY_BASENAME=\"lib\" -DQT_CREATOR -DQT_NO_CAST_TO_ASCII -DQT_RESTRICTED_CAST_FROM_ASCII -DQT_DISABLE_DEPRECATED_BEFORE=0x050600 -DQT_USE_FAST_OPERATOR_PLUS -DQT_USE_FAST_CONCATENATION -DUTILS_LIBRARY -DQTC_REL_TOOLS_PATH='"../libexec/qtcreator"' -DQT_NO_DEBUG -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CONCURRENT_LIB -DQT_QML_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -I../../../src -I../../../src -I../../libs -I/autohome/local/Software/qt/source/qt-creator-opensource-src-4.4.0/tools -I../../plugins -I/autohome/local/Software/qt/qt-5.9.1/include -I/autohome/local/Software/qt/qt-5.9.1/include/QtWidgets -I/autohome/local/Software/qt/qt-5.9.1/include/QtGui -I/autohome/local/Software/qt/qt-5.9.1/include/QtConcurrent -I/autohome/local/Software/qt/qt-5.9.1/include/QtQml -I/autohome/local/Software/qt/qt-5.9.1/include/QtNetwork -I/autohome/local/Software/qt/qt-5.9.1/include/QtCore -I.moc/release-shared -isystem /usr/include/libdrm -I.uic -I/autohome/local/Software/qt/qt-5.9.1/mkspecs/linux-g++ -o .obj/release-shared/progressindicator.o progressindicator.cpp
    make[3]: *** [.obj/release-shared/treemodel.o] Error 1
    make[3]: *** Waiting for unfinished jobs....
    make[3]: Leaving directory `/autohome/local/Software/qt/source/qt-creator-opensource-src-4.4.0/src/libs/utils'
    make[2]: *** [sub-utils-make_first] Error 2
    make[2]: *** Waiting for unfinished jobs....
    

    I have noticed that in message it used "-std=gnu++1y" in compiler flag, does qt creator now requires c++17? Is that listed in any document? It is so frustrated...


  • Moderators

    @blazar0112 I'm quite sure it does not require C++17.
    How did you call configure?



  • @jsulm What you do mean "configure"? Configure when installing Qt or Qt creator?

    For Qt creator I follow the instruction in README .md which is just

    qmake -r
    make -j8
    

    For version before Qt creator 4.2.1 this flow works properly for me. (I've been from 3.1 to 4.2.1)

    The configure for Qt I used I believe it was

    ./configure -prefix /autohome/local/Software/qt/qt-5.9.1 -nomake tests -qt-xcb -skip webengine
    

    Edit: remove link and correct version to Qt 5.9.1. How to avoid to link when typing README + .md?


Log in to reply
 

Looks like your connection to Qt Forum was lost, please wait while we try to reconnect.