Bug#1025394: clang-14: undefined symbol errors on chromium with basic_string<char16_t...>

Andres Salomon dilinger at queued.net
Sat Dec 3 21:50:02 GMT 2022


Source: llvm-toolchain-14
Version: 1:14.0.6-8
Severity: serious
Tags: ftbfs fixed-upstream patch sid
Justification: fails to build from source

When building chromium, I hit the following:

ld.lld: error: undefined symbol: void 
std::__cxx11::basic_string<char16_t, std::char_traits<char16_t>, 
std::allocator<char16_t> >::_M_construct<char16_t const*>(char16_t 
const*, char16_t const*, std::forward_iterator_tag)
    >>> referenced by http_handler.cc
    >>>               
obj/chrome/test/chromedriver/lib/http_handler.o:(internal::MatchesCommand(std::__cxx11::basic_string<char, 
std::char_traits<char>, std::allocator<char> > const&, 
std::__cxx11::basic_string<char, std::char_traits<char>, 
std::allocator<char> > const&, CommandMapping const&, 
std::__cxx11::basic_string<char, std::char_traits<char>, 
std::allocator<char> >*, base::DictionaryValue*))


Even fixing that one implicit cast from std::u16string to 
base::StringPiece16, there's many more of those types of errors. The 
errors were trigged by chromium upstream switching from --std=c++17 to 
--std=c++20, so I figured I could work around it with this patch:

<https://salsa.debian.org/chromium-team/chromium/-/blob/master/debian/patches/fixes/disable-cxx20.patch>

Unfortunately, even with that it still happens on some architectures:

<https://buildd.debian.org/status/fetch.php?pkg=chromium&arch=ppc64el&ver=108.0.5359.71-2&stamp=1670024551&raw=0>

Upstream claimed to have fixed this bug in clang 14.0.5, however it 
then popped up again in 14.0.6:

<https://github.com/llvm/llvm-project/issues/55560>

There's now a fix from 2 days ago:

<https://github.com/kwizart/llvm-project/commit/c081bf4098c729afacf20303cc9df62bf13c3362>

It would be great to get this fixed in sid, and it's also an issue in 
bullseye with clang-13. It's probably also in clang-15, I'm guessing, 
although I haven't tested it and will likely get fixed automatically in 
the next clang point release.

Thanks,
Andres

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://alioth-lists.debian.net/pipermail/pkg-llvm-team/attachments/20221203/1b1e97a8/attachment.htm>


More information about the Pkg-llvm-team mailing list