<div id="geary-body" dir="auto"><pre class="message">Source: llvm-toolchain-14
Version: 1:14.0.6-8
Severity: serious
Tags: ftbfs fixed-upstream patch sid
Justification: fails to build from source</pre><pre class="message"><br></pre><pre class="message">When building chromium, I hit the following:</pre><pre class="message"><br></pre><pre class="message">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*))</pre><pre class="message"><br></pre><pre class="message"><br></pre><pre class="message">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:</pre><pre class="message"><br></pre><pre class="message"><a href="https://salsa.debian.org/chromium-team/chromium/-/blob/master/debian/patches/fixes/disable-cxx20.patch">https://salsa.debian.org/chromium-team/chromium/-/blob/master/debian/patches/fixes/disable-cxx20.patch</a></pre><pre class="message"><br></pre><pre class="message">Unfortunately, even with that it still happens on some architectures:</pre><pre class="message"><br></pre><pre class="message"><a href="https://buildd.debian.org/status/fetch.php?pkg=chromium&arch=ppc64el&ver=108.0.5359.71-2&stamp=1670024551&raw=0">https://buildd.debian.org/status/fetch.php?pkg=chromium&arch=ppc64el&ver=108.0.5359.71-2&stamp=1670024551&raw=0</a></pre><pre class="message"><br></pre><pre class="message">Upstream claimed to have fixed this bug in clang 14.0.5, however it then popped up again in 14.0.6:</pre><pre class="message"><br></pre><pre class="message"><a href="https://github.com/llvm/llvm-project/issues/55560">https://github.com/llvm/llvm-project/issues/55560</a></pre><pre class="message"><br></pre><pre class="message">There's now a fix from 2 days ago:</pre><pre class="message"><br></pre><pre class="message"><a href="https://github.com/kwizart/llvm-project/commit/c081bf4098c729afacf20303cc9df62bf13c3362">https://github.com/kwizart/llvm-project/commit/c081bf4098c729afacf20303cc9df62bf13c3362</a></pre><pre class="message"><br></pre><pre class="message">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.</pre><pre class="message"><br></pre><pre class="message">Thanks,</pre><pre class="message">Andres</pre></div>