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

Unable to build Qt 5.14 branch with Emscripten (qtdeclarative related)

    XMLWordPrintable

Details

    • Bug
    • Resolution: Duplicate
    • P2: Important
    • None
    • 5.14
    • None
    • Docker container: trzeci/emscripten-upstream:sdk-tag-1.38.45-64bit
      Qt 5.14 branch (SHA ad2113fd235411f3669df8e6106dc7f5a760f9f8)

    Description

      I'm experiencing a mysterious error when running make -j `grep -c '^processor' /proc/cpuinfo` for building the Qt 5.14 branch with Emscripten. This problem does not occur when building the 5.13 branch.

      Following instructions on https://www.qt.io/blog/2019/03/05/using-docker-test-qt-webassembly

      Build log extract:

      em++ -c -pipe -O3 -std=c++1z -fvisibility=hidden -fvisibility-inlines-hidden -fno-exceptions -s ALLOW_MEMORY_GROWTH=1 -Wall -Wextra -Wdate-time -Winconsistent-missing-override -DQT_NO_LINKED_LIST -DQT_NO_FOREACH -DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT -DQT_NO_EXCEPTIONS -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -DQT_NO_DEBUG -DQT_STATICPLUGIN -DQT_PLUGIN -DQT_XMLPATTERNS_LIB -DQT_QML_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_PLUGIN_RESOURCE_INIT_FUNCTION=qmlxmllistmodelplugin_plugin_resource_init -I/development/qt5/qtxmlpatterns/src/imports/xmllistmodel -I. -I../../../include -I../../../include/QtXmlPatterns -I/development/qt5_build/qtdeclarative/include/QtQml/5.14.0 -I/development/qt5_build/qtdeclarative/include/QtQml/5.14.0/QtQml -I/development/qt5_build/qtdeclarative/include -I/development/qt5_build/qtdeclarative/include/QtQml -I/development/qt5_build/qtbase/include -I/development/qt5_build/qtbase/include/QtNetwork -I/development/qt5_build/qtbase/include/QtCore/5.14.0 -I/development/qt5_build/qtbase/include/QtCore/5.14.0/QtCore -I/development/qt5_build/qtbase/include/QtCore -I.moc -I/development/qt5/qtbase/mkspecs/wasm-emscripten -o .obj/qqmlxmllistmodel.o /development/qt5/qtxmlpatterns/src/imports/xmllistmodel/qqmlxmllistmodel.cpp
      rm -f ../../../qml/QtQuick/XmlListModel/libqmlxmllistmodelplugin.a
      emar cqs ../../../qml/QtQuick/XmlListModel/libqmlxmllistmodelplugin.a .obj/qqmlxmllistmodel.o .obj/plugin.o .obj/qmlxmllistmodelplugin_plugin_resources.o .obj/qrc_qmake_QtQuick_XmlListModel.o .obj/moc_qqmlxmllistmodel_p.o
      make[4]: Leaving directory '/development/qt5_build/qtxmlpatterns/src/imports/xmllistmodel'
      make[3]: Leaving directory '/development/qt5_build/qtxmlpatterns/src/imports'
      make[2]: Leaving directory '/development/qt5_build/qtxmlpatterns/src'
      cd tools/ && ( test -e Makefile || /development/qt5_build/qtbase/bin/qmake -o Makefile /development/qt5/qtxmlpatterns/tools/tools.pro ) && make -f Makefile
      make[2]: Entering directory '/development/qt5_build/qtxmlpatterns/tools'
      cd xmlpatterns/ && ( test -e Makefile || /development/qt5_build/qtbase/bin/qmake -o Makefile /development/qt5/qtxmlpatterns/tools/xmlpatterns/xmlpatterns.pro ) && make -f Makefile
      cd xmlpatternsvalidator/ && ( test -e Makefile || /development/qt5_build/qtbase/bin/qmake -o Makefile /development/qt5/qtxmlpatterns/tools/xmlpatternsvalidator/xmlpatternsvalidator.pro ) && make -f Makefile
      make[3]: Entering directory '/development/qt5_build/qtxmlpatterns/tools/xmlpatternsvalidator'
      em++ -c -pipe -O3 -std=c++1z -fno-exceptions -s ALLOW_MEMORY_GROWTH=1 -Wall -Wextra -Wdate-time -Winconsistent-missing-override -DQT_NO_LINKED_LIST -DQT_NO_FOREACH -DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT -DQT_USE_QSTRINGBUILDER -DQT_NO_EXCEPTIONS -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -DQT_NO_DEBUG -DQT_XMLPATTERNS_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -I/development/qt5/qtxmlpatterns/tools/xmlpatternsvalidator -I. -I../../include -I../../include/QtXmlPatterns -I/development/qt5_build/qtbase/include -I/development/qt5_build/qtbase/include/QtNetwork -I/development/qt5_build/qtbase/include/QtCore -I.moc -I/root/.emscripten_ports/openssl/include -I/development/qt5/qtbase/mkspecs/wasm-emscripten -o .obj/main.o /development/qt5/qtxmlpatterns/tools/xmlpatternsvalidator/main.cpp
      sed -e s/@APPNAME@/xmlpatternsvalidator/g /development/qt5/qtbase/mkspecs/features/wasm/../../../src/plugins/platforms/wasm/wasm_shell.html > /development/qt5_build/qtxmlpatterns/bin/xmlpatternsvalidator.html
      cp -f /development/qt5/qtbase/mkspecs/features/wasm/../../../src/plugins/platforms/wasm/qtloader.js /development/qt5_build/qtxmlpatterns/bin
      cp -f /development/qt5/qtbase/mkspecs/features/wasm/../../../src/plugins/platforms/wasm/qtlogo.svg /development/qt5_build/qtxmlpatterns/bin
      make[3]: Entering directory '/development/qt5_build/qtxmlpatterns/tools/xmlpatterns'
      em++ -c -pipe -O3 -std=c++1z -fno-exceptions -s ALLOW_MEMORY_GROWTH=1 -Wall -Wextra -Wdate-time -Winconsistent-missing-override -DQT_NO_LINKED_LIST -DQT_NO_FOREACH -DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT -DQT_USE_QSTRINGBUILDER -DQT_NO_EXCEPTIONS -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -DQT_NO_DEBUG -DQT_XMLPATTERNS_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -I/development/qt5/qtxmlpatterns/tools/xmlpatterns -I. -I../../include/QtXmlPatterns/5.14.0 -I../../include/QtXmlPatterns/5.14.0/QtXmlPatterns -I/development/qt5_build/qtbase/include/QtCore/5.14.0 -I/development/qt5_build/qtbase/include/QtCore/5.14.0/QtCore -I../../include -I../../include/QtXmlPatterns -I/development/qt5_build/qtbase/include -I/development/qt5_build/qtbase/include/QtNetwork -I/development/qt5_build/qtbase/include/QtCore -I.moc -I/root/.emscripten_ports/openssl/include -I/development/qt5/qtbase/mkspecs/wasm-emscripten -o .obj/main.o /development/qt5/qtxmlpatterns/tools/xmlpatterns/main.cpp
      em++ -c -pipe -O3 -std=c++1z -fno-exceptions -s ALLOW_MEMORY_GROWTH=1 -Wall -Wextra -Wdate-time -Winconsistent-missing-override -DQT_NO_LINKED_LIST -DQT_NO_FOREACH -DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT -DQT_USE_QSTRINGBUILDER -DQT_NO_EXCEPTIONS -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -DQT_NO_DEBUG -DQT_XMLPATTERNS_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -I/development/qt5/qtxmlpatterns/tools/xmlpatterns -I. -I../../include/QtXmlPatterns/5.14.0 -I../../include/QtXmlPatterns/5.14.0/QtXmlPatterns -I/development/qt5_build/qtbase/include/QtCore/5.14.0 -I/development/qt5_build/qtbase/include/QtCore/5.14.0/QtCore -I../../include -I../../include/QtXmlPatterns -I/development/qt5_build/qtbase/include -I/development/qt5_build/qtbase/include/QtNetwork -I/development/qt5_build/qtbase/include/QtCore -I.moc -I/root/.emscripten_ports/openssl/include -I/development/qt5/qtbase/mkspecs/wasm-emscripten -o .obj/qapplicationargument.o /development/qt5/qtxmlpatterns/tools/xmlpatterns/qapplicationargument.cpp
      em++ -c -pipe -O3 -std=c++1z -fno-exceptions -s ALLOW_MEMORY_GROWTH=1 -Wall -Wextra -Wdate-time -Winconsistent-missing-override -DQT_NO_LINKED_LIST -DQT_NO_FOREACH -DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT -DQT_USE_QSTRINGBUILDER -DQT_NO_EXCEPTIONS -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -DQT_NO_DEBUG -DQT_XMLPATTERNS_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -I/development/qt5/qtxmlpatterns/tools/xmlpatterns -I. -I../../include/QtXmlPatterns/5.14.0 -I../../include/QtXmlPatterns/5.14.0/QtXmlPatterns -I/development/qt5_build/qtbase/include/QtCore/5.14.0 -I/development/qt5_build/qtbase/include/QtCore/5.14.0/QtCore -I../../include -I../../include/QtXmlPatterns -I/development/qt5_build/qtbase/include -I/development/qt5_build/qtbase/include/QtNetwork -I/development/qt5_build/qtbase/include/QtCore -I.moc -I/root/.emscripten_ports/openssl/include -I/development/qt5/qtbase/mkspecs/wasm-emscripten -o .obj/qapplicationargumentparser.o /development/qt5/qtxmlpatterns/tools/xmlpatterns/qapplicationargumentparser.cpp
      em++ -s WASM=1 -s FULL_ES2=1 -s USE_WEBGL2=1 -s NO_EXIT_RUNTIME=0 -s ERROR_ON_UNDEFINED_SYMBOLS=1 --bind -O3 -s ALLOW_MEMORY_GROWTH=1 -o ../../bin/xmlpatternsvalidator.js .obj/main.o   /development/qt5_build/qtxmlpatterns/lib/libQt5XmlPatterns.a /development/qt5_build/qtbase/lib/libQt5Network.a /development/qt5_build/qtbase/lib/libQt5Core.a /development/qt5_build/qtbase/lib/libqtpcre2.a
      sed -e s/@APPNAME@/xmlpatterns/g /development/qt5/qtbase/mkspecs/features/wasm/../../../src/plugins/platforms/wasm/wasm_shell.html > /development/qt5_build/qtxmlpatterns/bin/xmlpatterns.html
      cp -f /development/qt5/qtbase/mkspecs/features/wasm/../../../src/plugins/platforms/wasm/qtloader.js /development/qt5_build/qtxmlpatterns/bin
      cp -f /development/qt5/qtbase/mkspecs/features/wasm/../../../src/plugins/platforms/wasm/qtlogo.svg /development/qt5_build/qtxmlpatterns/bin
      cache:INFO: generating system library: libc-extras.a... (this will be cached in "/emsdk_portable/.data/cache/wasm-obj/libc-extras.a" for subsequent builds)
      cache:INFO:  - ok
      em++ -s WASM=1 -s FULL_ES2=1 -s USE_WEBGL2=1 -s NO_EXIT_RUNTIME=0 -s ERROR_ON_UNDEFINED_SYMBOLS=1 --bind -O3 -s ALLOW_MEMORY_GROWTH=1 -o ../../bin/xmlpatterns.js .obj/main.o .obj/qapplicationargument.o .obj/qapplicationargumentparser.o   /development/qt5_build/qtxmlpatterns/lib/libQt5XmlPatterns.a /development/qt5_build/qtbase/lib/libQt5Network.a /development/qt5_build/qtbase/lib/libQt5Core.a /development/qt5_build/qtbase/lib/libqtpcre2.a
      make[3]: Leaving directory '/development/qt5_build/qtxmlpatterns/tools/xmlpatterns'
      make[3]: Leaving directory '/development/qt5_build/qtxmlpatterns/tools/xmlpatternsvalidator'
      make[2]: Leaving directory '/development/qt5_build/qtxmlpatterns/tools'
      make[1]: Leaving directory '/development/qt5_build/qtxmlpatterns'
      The command '/bin/sh -c make -j `grep -c '^processor' /proc/cpuinfo`' returned a non-zero code: 2
      

      I don't see any errors in the build log that could have triggered the 2 return code, which makes this kind of strange.

       

      Passing -skip qtdeclarative makes the build succeed. The problem therefore appear to be QML-related.

      Attachments

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

        Activity

          People

            lpotter Lorn Potter
            forderud Fredrik Orderud
            Votes:
            2 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes