Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-35330

need to split off host headers for x-compilation

    XMLWordPrintable

Details

    Description

      I get this error:

      cd qmldevtools/ && ( test -e Makefile || /home/fatih/git/buildroot/output/host/usr/bin/qmake /home/fatih/git/buildroot/output/build/qt5declarative-5.1.1/src/qmldevtools/qmldevtools.pro -o Makefile ) && /usr/bin/make -f Makefile all
      make[3]: Entering directory `/home/fatih/git/buildroot/output/build/qt5declarative-5.1.1/src/qmldevtools'
      g++ -c -pipe -O2 -fPIC -fvisibility=hidden -fvisibility-inlines-hidden -fno-exceptions -Wall -W -D_REENTRANT -DQT_NO_LIBUDEV -DQT_NO_XCB -DQT_NO_XKBCOMMON -DQT_BUILD_QMLDEVTOOLS_LIB -DQT_BUILDING_QT -DQT_NO_CAST_TO_ASCII -DQT_ASCII_CAST_WARNINGS -DQT_MOC_COMPAT -DQT_USE_QSTRINGBUILDER -DQT_DEPRECATED_WARNINGS -DQT_DISABLE_DEPRECATED_BEFORE=0x050000 -DQT_NO_EXCEPTIONS -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -DQT_NO_DEBUG -DQT_BOOTSTRAP_LIB -DQT_BOOTSTRAPPED -DQT_LITE_UNICODE -DQT_NO_CAST_TO_ASCII -DQT_NO_CODECS -DQT_NO_DATASTREAM -DQT_NO_LIBRARY -DQT_NO_QOBJECT -DQT_NO_SYSTEMLOCALE -DQT_NO_THREAD -DQT_NO_UNICODETABLES -DQT_NO_USING_NAMESPACE -DQT_NO_DEPRECATED -DQT_NO_TRANSLATION -DQT_QMAKE_LOCATION="/home/fatih/git/buildroot/output/build/qt5base-5.1.1/bin/qmake" -I/home/fatih/git/buildroot/output/host/usr/mkspecs/linux-g++ -I. -I../../include -I../../include/QtQml -I../../include/QtQml/5.1.1 -I../../include/QtQml/5.1.1/QtQml -I/home/fatih/git/buildroot/output/host/usr/arm-buildroot-linux-uclibcgnueabi/sysroot/usr/include -I/home/fatih/git/buildroot/output/host/usr/arm-buildroot-linux-uclibcgnueabi/sysroot/usr/include/QtCore -I/home/fatih/git/buildroot/output/host/usr/arm-buildroot-linux-uclibcgnueabi/sysroot/usr/include/QtXml -I/home/fatih/git/buildroot/output/host/usr/arm-buildroot-linux-uclibcgnueabi/sysroot/usr/include/QtCore/5.1.1 -I/home/fatih/git/buildroot/output/host/usr/arm-buildroot-linux-uclibcgnueabi/sysroot/usr/include/QtCore/5.1.1/QtCore -I/home/fatih/git/buildroot/output/host/usr/arm-buildroot-linux-uclibcgnueabi/sysroot/usr/include/QtXml/5.1.1 -I/home/fatih/git/buildroot/output/host/usr/arm-buildroot-linux-uclibcgnueabi/sysroot/usr/include/QtXml/5.1.1/QtXml -o .obj/release-shared/qqmljsast.o ../qml/qml/parser/qqmljsast.cpp
      In file included from /usr/include/c++/4.7/bits/localefwd.h:42:0,
                       from /usr/include/c++/4.7/ios:42,
                       from /usr/include/c++/4.7/ostream:40,
                       from /usr/include/c++/4.7/iterator:64,
                       from /home/fatih/git/buildroot/output/host/usr/arm-buildroot-linux-uclibcgnueabi/sysroot/usr/include/QtCore/qlist.h:49,
                       from /home/fatih/git/buildroot/output/host/usr/arm-buildroot-linux-uclibcgnueabi/sysroot/usr/include/QtCore/qhash.h:47,
                       from /home/fatih/git/buildroot/output/host/usr/arm-buildroot-linux-uclibcgnueabi/sysroot/usr/include/QtCore/qdebug.h:46,
                       from ../qml/qml/parser/qqmljsmemorypool_p.h:60,
                       from ../qml/qml/parser/qqmljsast_p.h:58,
                       from ../qml/qml/parser/qqmljsast.cpp:42:
      /usr/include/c++/4.7/x86_64-linux-gnu/bits/c++locale.h:63:11: error: ‘__locale_t’ does not name a type
      /usr/include/c++/4.7/x86_64-linux-gnu/bits/c++locale.h:70:26: error: ‘__c_locale’ does not name a type
      In file included from /usr/include/c++/4.7/bits/ios_base.h:43:0,
                       from /usr/include/c++/4.7/ios:43,
                       from /usr/include/c++/4.7/ostream:40,
                       from /usr/include/c++/4.7/iterator:64,
                       from /home/fatih/git/buildroot/output/host/usr/arm-buildroot-linux-uclibcgnueabi/sysroot/usr/include/QtCore/qlist.h:49,
                       from /home/fatih/git/buildroot/output/host/usr/arm-buildroot-linux-uclibcgnueabi/sysroot/usr/include/QtCore/qhash.h:47,
                       from /home/fatih/git/buildroot/output/host/usr/arm-buildroot-linux-uclibcgnueabi/sysroot/usr/include/QtCore/qdebug.h:46,
                       from ../qml/qml/parser/qqmljsmemorypool_p.h:60,
                       from ../qml/qml/parser/qqmljsast_p.h:58,
                       from ../qml/qml/parser/qqmljsast.cpp:42:
      /usr/include/c++/4.7/bits/locale_classes.h:349:12: error: ‘__c_locale’ does not name a type
      /usr/include/c++/4.7/bits/locale_classes.h:380:24: error: ‘__c_locale’ has not been declared
      /usr/include/c++/4.7/bits/locale_classes.h:381:10: error: ‘__c_locale’ has not been declared
      /usr/include/c++/4.7/bits/locale_classes.h:383:12: error: ‘__c_locale’ does not name a type
      /usr/include/c++/4.7/bits/locale_classes.h:387:25: error: ‘__c_locale’ has not been declared
      /usr/include/c++/4.7/bits/locale_classes.h:389:12: error: ‘__c_locale’ does not name a type
      /usr/include/c++/4.7/bits/locale_classes.h:394:12: error: ‘__c_locale’ does not name a type
      /usr/include/c++/4.7/bits/locale_classes.h:599:7: error: ‘__c_locale’ does not name a type
      /usr/include/c++/4.7/bits/locale_classes.h:627:26: error: expected ‘)’ before ‘__cloc’
      /usr/include/c++/4.7/bits/locale_classes.h: In constructor ‘std::collate<_CharT>::collate(std::size_t)’:
      /usr/include/c++/4.7/bits/locale_classes.h:614:24: error: class ‘std::collate<_CharT>’ does not have any field named ‘_M_c_locale_collate’
      /usr/include/c++/4.7/bits/locale_classes.h:614:60: error: there are no arguments to ‘_S_get_c_locale’ that depend on a template parameter, so a declaration of ‘_S_get_c_locale’ must be available [-fpermissive]
      /usr/include/c++/4.7/bits/locale_classes.h:614:60: note: (if you use ‘-fpermissive’, G++ will accept your code, but allowing the use of an undeclared name is deprecated)
      /usr/include/c++/4.7/bits/locale_classes.h: In destructor ‘virtual std::collate<_CharT>::~collate()’:
      /usr/include/c++/4.7/bits/locale_classes.h:691:29: error: ‘_M_c_locale_collate’ was not declared in this scope
      In file included from /usr/include/c++/4.7/bits/basic_ios.h:39:0,
                       from /usr/include/c++/4.7/ios:45,
                       from /usr/include/c++/4.7/ostream:40,
                       from /usr/include/c++/4.7/iterator:64,
                       from /home/fatih/git/buildroot/output/host/usr/arm-buildroot-linux-uclibcgnueabi/sysroot/usr/include/QtCore/qlist.h:49,
                       from /home/fatih/git/buildroot/output/host/usr/arm-buildroot-linux-uclibcgnueabi/sysroot/usr/include/QtCore/qhash.h:47,
                       from /home/fatih/git/buildroot/output/host/usr/arm-buildroot-linux-uclibcgnueabi/sysroot/usr/include/QtCore/qdebug.h:46,
                       from ../qml/qml/parser/qqmljsmemorypool_p.h:60,
                       from ../qml/qml/parser/qqmljsast_p.h:58,
                       from ../qml/qml/parser/qqmljsast.cpp:42:
      /usr/include/c++/4.7/bits/locale_facets.h: At global scope:
      /usr/include/c++/4.7/bits/locale_facets.h:69:12: error: ‘__c_locale’ does not name a type
      /usr/include/c++/4.7/bits/locale_facets.h:75:12: error: ‘__c_locale’ does not name a type
      /usr/include/c++/4.7/bits/locale_facets.h:80:12: error: ‘__c_locale’ does not name a type
      /usr/include/c++/4.7/bits/locale_facets.h:85:12: error: ‘__c_locale’ does not name a type
      /usr/include/c++/4.7/bits/locale_facets.h:685:7: error: ‘__c_locale’ does not name a type
      /usr/include/c++/4.7/bits/locale_facets.h:726:24: error: expected ‘)’ before ‘__cloc’
      /usr/include/c++/4.7/bits/locale_facets.h:1186:7: error: ‘__c_locale’ does not name a type
      /usr/include/c++/4.7/bits/locale_facets.h:1221:24: error: expected ‘)’ before ‘__cloc’
      In file included from /usr/include/c++/4.7/bits/basic_ios.h:39:0,
                       from /usr/include/c++/4.7/ios:45,
                       from /usr/include/c++/4.7/ostream:40,
                       from /usr/include/c++/4.7/iterator:64,
                       from /home/fatih/git/buildroot/output/host/usr/arm-buildroot-linux-uclibcgnueabi/sysroot/usr/include/QtCore/qlist.h:49,
                       from /home/fatih/git/buildroot/output/host/usr/arm-buildroot-linux-uclibcgnueabi/sysroot/usr/include/QtCore/qhash.h:47,
                       from /home/fatih/git/buildroot/output/host/usr/arm-buildroot-linux-uclibcgnueabi/sysroot/usr/include/QtCore/qdebug.h:46,
                       from ../qml/qml/parser/qqmljsmemorypool_p.h:60,
                       from ../qml/qml/parser/qqmljsast_p.h:58,
                       from ../qml/qml/parser/qqmljsast.cpp:42:
      /usr/include/c++/4.7/bits/locale_facets.h:1695:27: error: expected ‘)’ before ‘__cloc’
      /usr/include/c++/4.7/bits/locale_facets.h:1852:30: error: ‘__c_locale’ has not been declared
      /usr/include/c++/4.7/bits/locale_facets.h:1863:44: error: variable or field ‘_M_initialize_numpunct’ declared void
      /usr/include/c++/4.7/bits/locale_facets.h:1863:44: error: ‘__c_locale’ was not declared in this scope
      /usr/include/c++/4.7/bits/locale_facets.h:1871:47: error: variable or field ‘_M_initialize_numpunct’ declared void
      /usr/include/c++/4.7/bits/locale_facets.h:1871:47: error: ‘__c_locale’ was not declared in this scope
      /usr/include/c++/4.7/bits/locale_facets.h: In constructor ‘std::numpunct_byname<_CharT>::numpunct_byname(const char*, std::size_t)’:
      /usr/include/c++/4.7/bits/locale_facets.h:1889:6: error: ‘__c_locale’ was not declared in this scope
      /usr/include/c++/4.7/bits/locale_facets.h:1889:17: error: expected ‘;’ before ‘__tmp’
      /usr/include/c++/4.7/bits/locale_facets.h:1890:31: error: ‘__tmp’ was not declared in this scope
      In file included from /usr/include/c++/4.7/bits/locale_facets.h:2607:0,
                       from /usr/include/c++/4.7/bits/basic_ios.h:39,
                       from /usr/include/c++/4.7/ios:45,
                       from /usr/include/c++/4.7/ostream:40,
                       from /usr/include/c++/4.7/iterator:64,
                       from /home/fatih/git/buildroot/output/host/usr/arm-buildroot-linux-uclibcgnueabi/sysroot/usr/include/QtCore/qlist.h:49,
                       from /home/fatih/git/buildroot/output/host/usr/arm-buildroot-linux-uclibcgnueabi/sysroot/usr/include/QtCore/qhash.h:47,
                       from /home/fatih/git/buildroot/output/host/usr/arm-buildroot-linux-uclibcgnueabi/sysroot/usr/include/QtCore/qdebug.h:46,
                       from ../qml/qml/parser/qqmljsmemorypool_p.h:60,
                       from ../qml/qml/parser/qqmljsast_p.h:58,
                       from ../qml/qml/parser/qqmljsast.cpp:42:
      /usr/include/c++/4.7/bits/locale_facets.tcc: In member function ‘virtual _InIter std::num_get<_CharT, _InIter>::do_get(std::num_get<_CharT, _InIter>::iter_type, std::num_get<_CharT, _InIter>::iter_type, std::ios_base&, std::ios_base::iostate&, float&) const’:
      /usr/include/c++/4.7/bits/locale_facets.tcc:694:71: error: there are no arguments to ‘_S_get_c_locale’ that depend on a template parameter, so a declaration of ‘_S_get_c_locale’ must be available [-fpermissive]
      /usr/include/c++/4.7/bits/locale_facets.tcc: In member function ‘virtual _InIter std::num_get<_CharT, _InIter>::do_get(std::num_get<_CharT, _InIter>::iter_type, std::num_get<_CharT, _InIter>::iter_type, std::ios_base&, std::ios_base::iostate&, double&) const’:
      /usr/include/c++/4.7/bits/locale_facets.tcc:709:71: error: there are no arguments to ‘_S_get_c_locale’ that depend on a template parameter, so a declaration of ‘_S_get_c_locale’ must be available [-fpermissive]
      /usr/include/c++/4.7/bits/locale_facets.tcc: In member function ‘virtual _InIter std::num_get<_CharT, _InIter>::do_get(std::num_get<_CharT, _InIter>::iter_type, std::num_get<_CharT, _InIter>::iter_type, std::ios_base&, std::ios_base::iostate&, long double&) const’:
      /usr/include/c++/4.7/bits/locale_facets.tcc:741:71: error: there are no arguments to ‘_S_get_c_locale’ that depend on a template parameter, so a declaration of ‘_S_get_c_locale’ must be available [-fpermissive]
      /usr/include/c++/4.7/bits/locale_facets.tcc: In member function ‘_OutIter std::num_put<_CharT, _OutIter>::_M_insert_float(_OutIter, std::ios_base&, _CharT, char, _ValueT) const’:
      /usr/include/c++/4.7/bits/locale_facets.tcc:997:48: error: there are no arguments to ‘_S_get_c_locale’ that depend on a template parameter, so a declaration of ‘_S_get_c_locale’ must be available [-fpermissive]
      /usr/include/c++/4.7/bits/locale_facets.tcc:1005:52: error: there are no arguments to ‘_S_get_c_locale’ that depend on a template parameter, so a declaration of ‘_S_get_c_locale’ must be available [-fpermissive]
      make[3]: *** [.obj/release-shared/qqmljsast.o] Error 1
      make[3]: Leaving directory `/home/fatih/git/buildroot/output/build/qt5declarative-5.1.1/src/qmldevtools'
      make[2]: *** [sub-qmldevtools-all-ordered] Error 2
      make[2]: Leaving directory `/home/fatih/git/buildroot/output/build/qt5declarative-5.1.1/src'
      make[1]: *** [sub-src-all] Error 2
      make[1]: Leaving directory `/home/fatih/git/buildroot/output/build/qt5declarative-5.1.1'
      make: *** [/home/fatih/git/buildroot/output/build/qt5declarative-5.1.1/.stamp_built] Error 2
      

      My cross-toolchain does not have locale support; but the above failure happens when building qmldevtools for host. It includes the sysroot directories while building for the host. When I change the directories to point to qtbase build directory manually, it compiles without a problem.

      Attachments

        1. qmake.dump
          472 kB
        2. qt5base-1000-test.patch
          4 kB

        Issue Links

          No reviews matched the request. Check your Options in the drop-down menu of this sections header.

          Activity

            People

              qtbuildsystem Qt Build System Team
              fatih Fatih Aşıcı
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Gerrit Reviews

                  There are no open Gerrit changes