The user is trying to build Qt from the source code for embedded linux. When release flag is set, build always succeeds. When debug flag is set the build fails:
/home/build_qt/embedded_realdebug_boundary/qtwebengine/src/core/Debug/obj/src/3rdparty/chromium/ui/gfx/gfx.render_text.o: In function `gfx::RenderText::UpdateLayoutText()': /home/qt_everywhere/qt-everywhere-enterprise-src-5.5.1/qtwebengine/src/3rdparty/chromium/ui/gfx/render_text.cc:1186: undefined reference to `icu_52::UnicodeString::UnicodeString(unsigned short const*)' /home/qt_everywhere/qt-everywhere-enterprise-src-5.5.1/qtwebengine/src/3rdparty/chromium/ui/gfx/render_text.cc:1186: undefined reference to `icu_52::StringCharacterIterator::StringCharacterIterator(icu_52::UnicodeString const&)' /home/qt_everywhere/qt-everywhere-enterprise-src-5.5.1/qtwebengine/src/3rdparty/chromium/ui/gfx/render_text.cc:1186: undefined reference to `icu_52::UnicodeString::~UnicodeString()' /home/qt_everywhere/qt-everywhere-enterprise-src-5.5.1/qtwebengine/src/3rdparty/chromium/ui/gfx/render_text.cc:1189: undefined reference to `icu_52::UCharCharacterIterator::setIndex32(int)' /home/qt_everywhere/qt-everywhere-enterprise-src-5.5.1/qtwebengine/src/3rdparty/chromium/ui/gfx/render_text.cc:1192: undefined reference to `icu_52::UCharCharacterIterator::setIndex32(int)' /home/qt_everywhere/qt-everywhere-enterprise-src-5.5.1/qtwebengine/src/3rdparty/chromium/ui/gfx/render_text.cc:1194: undefined reference to `icu_52::UCharCharacterIterator::setIndex32(int)' /home/qt_everywhere/qt-everywhere-enterprise-src-5.5.1/qtwebengine/src/3rdparty/chromium/ui/gfx/render_text.cc:1200: undefined reference to `icu_52::UCharCharacterIterator::setIndex32(int)' /home/qt_everywhere/qt-everywhere-enterprise-src-5.5.1/qtwebengine/src/3rdparty/chromium/ui/gfx/render_text.cc:1202: undefined reference to `icu_52::StringCharacterIterator::~StringCharacterIterator()' /home/build_qt/embedded_realdebug_boundary/qtwebengine/src/core/Debug/obj/src/3rdparty/chromium/ui/gfx/gfx.render_text_harfbuzz.o: In function `FindRunBreakingCharacter': /home/qt_everywhere/qt-everywhere-enterprise-src-5.5.1/qtwebengine/src/3rdparty/chromium/ui/gfx/render_text_harfbuzz.cc:323: undefined reference to `ublock_getCode_52' /home/qt_everywhere/qt-everywhere-enterprise-src-5.5.1/qtwebengine/src/3rdparty/chromium/ui/gfx/render_text_harfbuzz.cc:329: undefined reference to `ublock_getCode_52' /home/build_qt/embedded_realdebug_boundary/qtwebengine/src/core/Debug/obj/src/3rdparty/chromium/ui/gfx/gfx.render_text_harfbuzz.o: In function `GetScriptExtensions': /home/qt_everywhere/qt-everywhere-enterprise-src-5.5.1/qtwebengine/src/3rdparty/chromium/ui/gfx/render_text_harfbuzz.cc:358: undefined reference to `uscript_getScript_52' /home/qt_everywhere/qt-everywhere-enterprise-src-5.5.1/qtwebengine/src/3rdparty/chromium/ui/gfx/render_text_harfbuzz.cc:363: undefined reference to `uscript_getScriptExtensions_52' /home/build_qt/embedded_realdebug_boundary/qtwebengine/src/core/Debug/obj/src/3rdparty/chromium/ui/gfx/gfx.render_text_harfbuzz.o: In function `ICUScriptToHBScript': /home/qt_everywhere/qt-everywhere-enterprise-src-5.5.1/qtwebengine/src/3rdparty/chromium/ui/gfx/render_text_harfbuzz.cc:428: undefined reference to `uscript_getShortName_52' /home/build_qt/embedded_realdebug_boundary/qtwebengine/src/core/Debug/obj/src/3rdparty/chromium/ui/gfx/gfx.render_text_harfbuzz.o: In function `gfx::RenderTextHarfBuzz::ItemizeText()': /home/qt_everywhere/qt-everywhere-enterprise-src-5.5.1/qtwebengine/src/3rdparty/chromium/ui/gfx/render_text_harfbuzz.cc:1068: undefined reference to `ubidi_reorderVisual_52' /home/qt_everywhere/qt-everywhere-enterprise-src-5.5.1/qtwebengine/src/3rdparty/chromium/ui/gfx/render_text_harfbuzz.cc:1070: undefined reference to `ubidi_reorderLogical_52' /home/build_qt/embedded_realdebug_boundary/qtwebengine/src/core/Debug/obj/src/3rdparty/chromium/ui/gfx/gfx.text_elider.o: In function `gfx::TruncateString(std::basic_string<unsigned short, base::string16_char_traits, std::allocator<unsigned short> > const&, unsigned int, gfx::BreakType)': /home/qt_everywhere/qt-everywhere-enterprise-src-5.5.1/qtwebengine/src/3rdparty/chromium/ui/gfx/text_elider.cc:793: undefined reference to `icu_52::Locale::getDefault()' /home/qt_everywhere/qt-everywhere-enterprise-src-5.5.1/qtwebengine/src/3rdparty/chromium/ui/gfx/text_elider.cc:793: undefined reference to `icu_52::BreakIterator::createLineInstance(icu_52::Locale const&, UErrorCode&)' /home/qt_everywhere/qt-everywhere-enterprise-src-5.5.1/qtwebengine/src/3rdparty/chromium/ui/gfx/text_elider.cc:796: undefined reference to `icu_52::UnicodeString::UnicodeString(unsigned short const*)' /home/qt_everywhere/qt-everywhere-enterprise-src-5.5.1/qtwebengine/src/3rdparty/chromium/ui/gfx/text_elider.cc:796: undefined reference to `icu_52::UnicodeString::~UnicodeString()' /home/qt_everywhere/qt-everywhere-enterprise-src-5.5.1/qtwebengine/src/3rdparty/chromium/ui/gfx/text_elider.cc:807: undefined reference to `icu_52::UnicodeString::UnicodeString(unsigned short const*)' /home/qt_everywhere/qt-everywhere-enterprise-src-5.5.1/qtwebengine/src/3rdparty/chromium/ui/gfx/text_elider.cc:807: undefined reference to `icu_52::StringCharacterIterator::StringCharacterIterator(icu_52::UnicodeString const&)' /home/qt_everywhere/qt-everywhere-enterprise-src-5.5.1/qtwebengine/src/3rdparty/chromium/ui/gfx/text_elider.cc:807: undefined reference to `icu_52::UnicodeString::~UnicodeString()' /home/qt_everywhere/qt-everywhere-enterprise-src-5.5.1/qtwebengine/src/3rdparty/chromium/ui/gfx/text_elider.cc:808: undefined reference to `icu_52::UCharCharacterIterator::setIndex(int)' /home/qt_everywhere/qt-everywhere-enterprise-src-5.5.1/qtwebengine/src/3rdparty/chromium/ui/gfx/text_elider.cc:810: undefined reference to `icu_52::UCharCharacterIterator::previous()' /home/qt_everywhere/qt-everywhere-enterprise-src-5.5.1/qtwebengine/src/3rdparty/chromium/ui/gfx/text_elider.cc:811: undefined reference to `icu_52::UCharCharacterIterator::current() const' /home/qt_everywhere/qt-everywhere-enterprise-src-5.5.1/qtwebengine/src/3rdparty/chromium/ui/gfx/text_elider.cc:811: undefined reference to `u_isspace_52' /home/qt_everywhere/qt-everywhere-enterprise-src-5.5.1/qtwebengine/src/3rdparty/chromium/ui/gfx/text_elider.cc:812: undefined reference to `icu_52::UCharCharacterIterator::current() const' /home/qt_everywhere/qt-everywhere-enterprise-src-5.5.1/qtwebengine/src/3rdparty/chromium/ui/gfx/text_elider.cc:812: undefined reference to `u_charType_52' /home/qt_everywhere/qt-everywhere-enterprise-src-5.5.1/qtwebengine/src/3rdparty/chromium/ui/gfx/text_elider.cc:813: undefined reference to `icu_52::UCharCharacterIterator::current() const' /home/qt_everywhere/qt-everywhere-enterprise-src-5.5.1/qtwebengine/src/3rdparty/chromium/ui/gfx/text_elider.cc:813: undefined reference to `u_charType_52' /home/qt_everywhere/qt-everywhere-enterprise-src-5.5.1/qtwebengine/src/3rdparty/chromium/ui/gfx/text_elider.cc:816: undefined reference to `icu_52::UCharCharacterIterator::next()' /home/qt_everywhere/qt-everywhere-enterprise-src-5.5.1/qtwebengine/src/3rdparty/chromium/ui/gfx/text_elider.cc:809: undefined reference to `icu_52::UCharCharacterIterator::hasPrevious()' /home/qt_everywhere/qt-everywhere-enterprise-src-5.5.1/qtwebengine/src/3rdparty/chromium/ui/gfx/text_elider.cc:820: undefined reference to `icu_52::UCharCharacterIterator::hasPrevious()' /home/qt_everywhere/qt-everywhere-enterprise-src-5.5.1/qtwebengine/src/3rdparty/chromium/ui/gfx/text_elider.cc:828: undefined reference to `icu_52::StringCharacterIterator::~StringCharacterIterator()' collect2: error: ld returned 1 exit status make[4]: *** [../../lib/libQt5WebEngineCore.so.5.5.1] Error 1 make[4]: Leaving directory `/home/build_qt/embedded_realdebug_boundary/qtwebengine/src/core' make[3]: *** [sub-core_module-pro-make_first] Error 2 make[3]: Leaving directory `/home/build_qt/embedded_realdebug_boundary/qtwebengine/src/core' make[2]: *** [sub-core-make_first] Error 2 make[2]: Leaving directory `/home/build_qt/embedded_realdebug_boundary/qtwebengine/src' make[1]: *** [sub-src-make_first] Error 2 make[1]: Leaving directory `/home/build_qt/embedded_realdebug_boundary/qtwebengine' make: *** [module-qtwebengine-make_first] Error 2
From logs it seems the problem is somewhere in webengine's 3rd parties software that skipped in the release build.
Configure command used:
../../qt_everywhere/qt-everywhere-enterprise-src-5.5.1/configure -commercial -confirm-license -debug -prefix $PWD/qtbase -device linux-imx6-g++-b2qt -device-option CROSS_COMPILE=/home/Qt/5.5/Boot2Qt/nitrogen6x-eLinux/toolchain/sysroots/x86_64-pokysdk-linux/usr/bin/arm-poky-linux-gnueabi/arm-poky-linux-gnueabi- -sysroot /home/Qt/5.5/Boot2Qt/nitrogen6x-eLinux/toolchain/sysroots/cortexa9hf-vfp-neon-poky-linux-gnueabi -mysql_config /home/testbuild_embedded/testing_scripts/toolchain/sysroots/cortexa9hf-vfp-neon-poky-linux-gnueabi/usr/bin/mysql_config -psql_config /dev/null -no-xcb -separate-debug-info -force-debug-info -tslib -nomake examples -nomake tests -skip qtwebkit -skip qtquick1 -skip qtscript -qml-debug
For Gerrit Dashboard: QTBUG-49693 | ||||||
---|---|---|---|---|---|---|
# | Subject | Branch | Project | Status | CR | V |
142715,2 | Fix embedded Linux debug build | 5.5 | qt/qtwebengine | Status: MERGED | +2 | 0 |