When building qt5webengine on Buildroot 2022.02.04, the builds fails with the linker errors at the end of the bug report. This is probably because on my system "icu" version 71 is installed and "-L/usr/lib" comes before "-L/home/rauhdomi/Code/output/host/lib" that contains Buildroot's "host-icu" with version 70. I have confirmed my hypothesis by running the failing command manually with "-L/home/rauhdomi/Code/output/host/lib" coming first, the error was gone. This bug is related to Bug 14931 (https://bugs.busybox.net/show_bug.cgi?id=14931), where those "GN_HOST_EXTRA_LDFLAGS" have been introduced. Looking forward too your comments! Dominik [82/15365] LINK v8_snapshot/gen-regexp-special-case FAILED: v8_snapshot/gen-regexp-special-case /home/rauhdomi/Code/output/build/qt5webengine-5.15.8/host-bin/python "../../3rdparty/chromium/build/toolchain/gcc_link_wrapper.py" --output="v8_snapshot/gen-regexp-special-case" -- /usr/bin/g++ -pie -Wl,--fatal-warnings -Wl,--build-id=sha1 -fPIC -Wl,-z,noexecstack -Wl,-z,relro -Wl,-z,now -Wl,-z,defs -Wl,--as-needed -m64 -pie -Wl,--disable-new-dtags -Wl,-O2 -Wl,--gc-sections -L/usr/lib -L/home/rauhdomi/Code/output/host/lib -Wl,-rpath,/home/rauhdomi/Code/output/host/lib -o "v8_snapshot/gen-regexp-special-case" -Wl,--start-group @"v8_snapshot/gen-regexp-special-case.rsp" -Wl,--end-group -ldl -lpthread -lrt -licui18n -licuuc -licudata /usr/bin/ld: v8_snapshot/obj/v8/gen-regexp-special-case/gen-regexp-special-case.o: in function `v8::internal::PrintSet(std::basic_ofstream<char, std::char_traits<char> >&, char const*, icu_70::UnicodeSet const&)': gen-regexp-special-case.cc:(.text._ZN2v88internal8PrintSetERSt14basic_ofstreamIcSt11char_traitsIcEEPKcRKN6icu_7010UnicodeSetE+0x8b): undefined reference to `icu_70::UnicodeSet::getRangeStart(int) const' /usr/bin/ld: gen-regexp-special-case.cc:(.text._ZN2v88internal8PrintSetERSt14basic_ofstreamIcSt11char_traitsIcEEPKcRKN6icu_7010UnicodeSetE+0xb6): undefined reference to `icu_70::UnicodeSet::getRangeEnd(int) const' /usr/bin/ld: gen-regexp-special-case.cc:(.text._ZN2v88internal8PrintSetERSt14basic_ofstreamIcSt11char_traitsIcEEPKcRKN6icu_7010UnicodeSetE+0xdf): undefined reference to `icu_70::UnicodeSet::getRangeCount() const' /usr/bin/ld: gen-regexp-special-case.cc:(.text._ZN2v88internal8PrintSetERSt14basic_ofstreamIcSt11char_traitsIcEEPKcRKN6icu_7010UnicodeSetE+0xed): undefined reference to `icu_70::UnicodeSet::getRangeStart(int) const' /usr/bin/ld: gen-regexp-special-case.cc:(.text._ZN2v88internal8PrintSetERSt14basic_ofstreamIcSt11char_traitsIcEEPKcRKN6icu_7010UnicodeSetE+0xfa): undefined reference to `icu_70::UnicodeSet::getRangeEnd(int) const' /usr/bin/ld: gen-regexp-special-case.cc:(.text._ZN2v88internal8PrintSetERSt14basic_ofstreamIcSt11char_traitsIcEEPKcRKN6icu_7010UnicodeSetE+0x121): undefined reference to `icu_70::UnicodeSet::getRangeStart(int) const' /usr/bin/ld: v8_snapshot/obj/v8/gen-regexp-special-case/gen-regexp-special-case.o: in function `v8::internal::PrintSpecial(std::basic_ofstream<char, std::char_traits<char> >&)': gen-regexp-special-case.cc:(.text._ZN2v88internal12PrintSpecialERSt14basic_ofstreamIcSt11char_traitsIcEE+0x30): undefined reference to `icu_70::UnicodeSet::UnicodeSet()' /usr/bin/ld: gen-regexp-special-case.cc:(.text._ZN2v88internal12PrintSpecialERSt14basic_ofstreamIcSt11char_traitsIcEE+0x46): undefined reference to `icu_70::UnicodeSet::UnicodeSet()' /usr/bin/ld: gen-regexp-special-case.cc:(.text._ZN2v88internal12PrintSpecialERSt14basic_ofstreamIcSt11char_traitsIcEE+0x5c): undefined reference to `icu_70::UnicodeSet::UnicodeSet()' /usr/bin/ld: gen-regexp-special-case.cc:(.text._ZN2v88internal12PrintSpecialERSt14basic_ofstreamIcSt11char_traitsIcEE+0x75): undefined reference to `icu_70::UnicodeString::UnicodeString(char const*)' /usr/bin/ld: gen-regexp-special-case.cc:(.text._ZN2v88internal12PrintSpecialERSt14basic_ofstreamIcSt11char_traitsIcEE+0x87): undefined reference to `icu_70::UnicodeSet::UnicodeSet(icu_70::UnicodeString const&, UErrorCode&)' /usr/bin/ld: gen-regexp-special-case.cc:(.text._ZN2v88internal12PrintSpecialERSt14basic_ofstreamIcSt11char_traitsIcEE+0x8f): undefined reference to `icu_70::UnicodeString::~UnicodeString()' /usr/bin/ld: gen-regexp-special-case.cc:(.text._ZN2v88internal12PrintSpecialERSt14basic_ofstreamIcSt11char_traitsIcEE+0xd5): undefined reference to `icu_70::UnicodeSet::set(int, int)' /usr/bin/ld: gen-regexp-special-case.cc:(.text._ZN2v88internal12PrintSpecialERSt14basic_ofstreamIcSt11char_traitsIcEE+0xe2): undefined reference to `icu_70::UnicodeSet::closeOver(int)' /usr/bin/ld: gen-regexp-special-case.cc:(.text._ZN2v88internal12PrintSpecialERSt14basic_ofstreamIcSt11char_traitsIcEE+0xed): undefined reference to `icu_70::UnicodeString::UnicodeString(int)' /usr/bin/ld: gen-regexp-special-case.cc:(.text._ZN2v88internal12PrintSpecialERSt14basic_ofstreamIcSt11char_traitsIcEE+0xf5): undefined reference to `icu_70::UnicodeString::toUpper()' /usr/bin/ld: gen-regexp-special-case.cc:(.text._ZN2v88internal12PrintSpecialERSt14basic_ofstreamIcSt11char_traitsIcEE+0x123): undefined reference to `icu_70::UnicodeString::~UnicodeString()' /usr/bin/ld: gen-regexp-special-case.cc:(.text._ZN2v88internal12PrintSpecialERSt14basic_ofstreamIcSt11char_traitsIcEE+0x140): undefined reference to `icu_70::UnicodeSet::getRangeCount() const' /usr/bin/ld: gen-regexp-special-case.cc:(.text._ZN2v88internal12PrintSpecialERSt14basic_ofstreamIcSt11char_traitsIcEE+0x152): undefined reference to `icu_70::UnicodeSet::getRangeStart(int) const' /usr/bin/ld: gen-regexp-special-case.cc:(.text._ZN2v88internal12PrintSpecialERSt14basic_ofstreamIcSt11char_traitsIcEE+0x17b): undefined reference to `icu_70::UnicodeString::~UnicodeString()' /usr/bin/ld: gen-regexp-special-case.cc:(.text._ZN2v88internal12PrintSpecialERSt14basic_ofstreamIcSt11char_traitsIcEE+0x1ba): undefined reference to `icu_70::UnicodeSet::getRangeEnd(int) const' /usr/bin/ld: gen-regexp-special-case.cc:(.text._ZN2v88internal12PrintSpecialERSt14basic_ofstreamIcSt11char_traitsIcEE+0x1dc): undefined reference to `icu_70::UnicodeString::UnicodeString(int)' /usr/bin/ld: gen-regexp-special-case.cc:(.text._ZN2v88internal12PrintSpecialERSt14basic_ofstreamIcSt11char_traitsIcEE+0x1e4): undefined reference to `icu_70::UnicodeString::toUpper()' /usr/bin/ld: gen-regexp-special-case.cc:(.text._ZN2v88internal12PrintSpecialERSt14basic_ofstreamIcSt11char_traitsIcEE+0x207): undefined reference to `icu_70::UnicodeString::char32At(int) const' /usr/bin/ld: gen-regexp-special-case.cc:(.text._ZN2v88internal12PrintSpecialERSt14basic_ofstreamIcSt11char_traitsIcEE+0x237): undefined reference to `icu_70::UnicodeSet::getRangeCount() const' /usr/bin/ld: gen-regexp-special-case.cc:(.text._ZN2v88internal12PrintSpecialERSt14basic_ofstreamIcSt11char_traitsIcEE+0x26b): undefined reference to `icu_70::UnicodeSet::add(int)' /usr/bin/ld: gen-regexp-special-case.cc:(.text._ZN2v88internal12PrintSpecialERSt14basic_ofstreamIcSt11char_traitsIcEE+0x2a7): undefined reference to `icu_70::UnicodeSet::getRangeCount() const' /usr/bin/ld: gen-regexp-special-case.cc:(.text._ZN2v88internal12PrintSpecialERSt14basic_ofstreamIcSt11char_traitsIcEE+0x2c3): undefined reference to `icu_70::UnicodeSet::getRangeStart(int) const' /usr/bin/ld: gen-regexp-special-case.cc:(.text._ZN2v88internal12PrintSpecialERSt14basic_ofstreamIcSt11char_traitsIcEE+0x2db): undefined reference to `icu_70::UnicodeSet::getRangeEnd(int) const' /usr/bin/ld: gen-regexp-special-case.cc:(.text._ZN2v88internal12PrintSpecialERSt14basic_ofstreamIcSt11char_traitsIcEE+0x2ff): undefined reference to `icu_70::UnicodeString::UnicodeString(int)' /usr/bin/ld: gen-regexp-special-case.cc:(.text._ZN2v88internal12PrintSpecialERSt14basic_ofstreamIcSt11char_traitsIcEE+0x307): undefined reference to `icu_70::UnicodeString::toUpper()' /usr/bin/ld: gen-regexp-special-case.cc:(.text._ZN2v88internal12PrintSpecialERSt14basic_ofstreamIcSt11char_traitsIcEE+0x33c): undefined reference to `icu_70::UnicodeString::~UnicodeString()' /usr/bin/ld: gen-regexp-special-case.cc:(.text._ZN2v88internal12PrintSpecialERSt14basic_ofstreamIcSt11char_traitsIcEE+0x34c): undefined reference to `icu_70::UnicodeSet::set(int, int)' /usr/bin/ld: gen-regexp-special-case.cc:(.text._ZN2v88internal12PrintSpecialERSt14basic_ofstreamIcSt11char_traitsIcEE+0x359): undefined reference to `icu_70::UnicodeSet::closeOver(int)' /usr/bin/ld: gen-regexp-special-case.cc:(.text._ZN2v88internal12PrintSpecialERSt14basic_ofstreamIcSt11char_traitsIcEE+0x368): undefined reference to `icu_70::UnicodeSet::removeAll(icu_70::UnicodeSet const&)' /usr/bin/ld: gen-regexp-special-case.cc:(.text._ZN2v88internal12PrintSpecialERSt14basic_ofstreamIcSt11char_traitsIcEE+0x370): undefined reference to `icu_70::UnicodeSet::getRangeCount() const' /usr/bin/ld: gen-regexp-special-case.cc:(.text._ZN2v88internal12PrintSpecialERSt14basic_ofstreamIcSt11char_traitsIcEE+0x384): undefined reference to `icu_70::UnicodeSet::getRangeStart(int) const' /usr/bin/ld: gen-regexp-special-case.cc:(.text._ZN2v88internal12PrintSpecialERSt14basic_ofstreamIcSt11char_traitsIcEE+0x391): undefined reference to `icu_70::UnicodeSet::getRangeEnd(int) const' /usr/bin/ld: gen-regexp-special-case.cc:(.text._ZN2v88internal12PrintSpecialERSt14basic_ofstreamIcSt11char_traitsIcEE+0x3a7): undefined reference to `icu_70::UnicodeString::UnicodeString(int)' /usr/bin/ld: gen-regexp-special-case.cc:(.text._ZN2v88internal12PrintSpecialERSt14basic_ofstreamIcSt11char_traitsIcEE+0x3af): undefined reference to `icu_70::UnicodeString::toUpper()' /usr/bin/ld: gen-regexp-special-case.cc:(.text._ZN2v88internal12PrintSpecialERSt14basic_ofstreamIcSt11char_traitsIcEE+0x3d7): undefined reference to `icu_70::UnicodeString::~UnicodeString()' /usr/bin/ld: gen-regexp-special-case.cc:(.text._ZN2v88internal12PrintSpecialERSt14basic_ofstreamIcSt11char_traitsIcEE+0x3ee): undefined reference to `icu_70::UnicodeSet::getRangeEnd(int) const' /usr/bin/ld: gen-regexp-special-case.cc:(.text._ZN2v88internal12PrintSpecialERSt14basic_ofstreamIcSt11char_traitsIcEE+0x422): undefined reference to `icu_70::UnicodeString::char32At(int) const' /usr/bin/ld: gen-regexp-special-case.cc:(.text._ZN2v88internal12PrintSpecialERSt14basic_ofstreamIcSt11char_traitsIcEE+0x44c): undefined reference to `icu_70::UnicodeSet::add(int)' /usr/bin/ld: gen-regexp-special-case.cc:(.text._ZN2v88internal12PrintSpecialERSt14basic_ofstreamIcSt11char_traitsIcEE+0x463): undefined reference to `icu_70::UnicodeString::char32At(int) const' /usr/bin/ld: gen-regexp-special-case.cc:(.text._ZN2v88internal12PrintSpecialERSt14basic_ofstreamIcSt11char_traitsIcEE+0x48c): undefined reference to `icu_70::UnicodeString::char32At(int) const' /usr/bin/ld: gen-regexp-special-case.cc:(.text._ZN2v88internal12PrintSpecialERSt14basic_ofstreamIcSt11char_traitsIcEE+0x50d): undefined reference to `icu_70::UnicodeSet::~UnicodeSet()' /usr/bin/ld: gen-regexp-special-case.cc:(.text._ZN2v88internal12PrintSpecialERSt14basic_ofstreamIcSt11char_traitsIcEE+0x515): undefined reference to `icu_70::UnicodeSet::~UnicodeSet()' /usr/bin/ld: gen-regexp-special-case.cc:(.text._ZN2v88internal12PrintSpecialERSt14basic_ofstreamIcSt11char_traitsIcEE+0x51d): undefined reference to `icu_70::UnicodeSet::~UnicodeSet()' /usr/bin/ld: gen-regexp-special-case.cc:(.text._ZN2v88internal12PrintSpecialERSt14basic_ofstreamIcSt11char_traitsIcEE+0x525): undefined reference to `icu_70::UnicodeSet::~UnicodeSet()' collect2: error: ld returned 1 exit status
Hi all, I found a solution to my problem, that may also be a viable fix to go upstream: https://paste.debian.net/1252483/ It makes sure that "extra_ldflags" always come before "ldflags", so that libraries are always looked for in Buildroot's "${HOST_DIR}/lib" first. Please take notice that the patch has to be applied to package "qt5webengine-chromium"! Regards, Dominik
Thank you for your report. The issue tracker for the Buildroot project has been moved to the Gitlab.com issue tracker: https://gitlab.com/buildroot.org/buildroot/-/issues We are taking this opportunity to close old issues in this old tracker. If you believe your issue is still relevant, please open one in the new issue tracker. Thank you!