Bug 218799
Summary: | REGRESSION(r269662): [GTK][WPE] Build broken on Ubuntu-18.04 bots | ||
---|---|---|---|
Product: | WebKit | Reporter: | Carlos Alberto Lopez Perez <clopez> |
Component: | WebKitGTK | Assignee: | Nobody <webkit-unassigned> |
Status: | RESOLVED FIXED | ||
Severity: | Normal | CC: | bugs-noreply, darin, dpino, rniwa |
Priority: | P2 | ||
Version: | WebKit Nightly Build | ||
Hardware: | Unspecified | ||
OS: | Unspecified | ||
See Also: | https://bugs.webkit.org/show_bug.cgi?id=218726 |
Carlos Alberto Lopez Perez
After r269662 the build is broken in the bots that currently run in Ubuntu-18.04:
https://build.webkit.org/builders/GTK-Linux-64-bit-Release-Ubuntu-LTS-Build
https://build.webkit.org/builders/GTK-Linux-64bit-Release-Packaging-Nightly-Ubuntu1804
https://build.webkit.org/builders/WPE-Linux-64bit-Release-Packaging-Nightly-Ubuntu1804
The build failure is:
lib/libWebCoreGTK.a(lib/../Source/WebCore/CMakeFiles/WebCore.dir/__/__/DerivedSources/WebCore/unified-sources/UnifiedSource-be65d27a-16.cpp.o):UnifiedSource-be65d27a-16.cpp:function WebCore::Range::compareNode(WebCore::Node&) const: error: undefined reference to 'WebCore::PartialOrdering WebCore::treeOrder<(WebCore::TreeType)0>(WebCore::BoundaryPoint const&, WebCore::BoundaryPoint const&)'
lib/libWebCoreGTK.a(lib/../Source/WebCore/CMakeFiles/WebCore.dir/__/__/DerivedSources/WebCore/unified-sources/UnifiedSource-be65d27a-16.cpp.o):UnifiedSource-be65d27a-16.cpp:function WebCore::Range::compareNode(WebCore::Node&) const: error: undefined reference to 'WebCore::PartialOrdering WebCore::treeOrder<(WebCore::TreeType)0>(WebCore::BoundaryPoint const&, WebCore::BoundaryPoint const&)'
lib/libWebCoreGTK.a(lib/../Source/WebCore/CMakeFiles/WebCore.dir/__/__/DerivedSources/WebCore/unified-sources/UnifiedSource-be65d27a-16.cpp.o):UnifiedSource-be65d27a-16.cpp:function WebCore::Range::compareBoundaryPoints(unsigned short, WebCore::Range const&) const: error: undefined reference to 'WebCore::PartialOrdering WebCore::treeOrder<(WebCore::TreeType)0>(WebCore::BoundaryPoint const&, WebCore::BoundaryPoint const&)'
lib/libWebCoreGTK.a(lib/../Source/WebCore/CMakeFiles/WebCore.dir/__/__/DerivedSources/WebCore/unified-sources/UnifiedSource-be65d27a-16.cpp.o):UnifiedSource-be65d27a-16.cpp:function WebCore::Range::setStart(WTF::Ref<WebCore::Node, WTF::RawPtrTraits<WebCore::Node> >&&, unsigned int): error: undefined reference to 'WebCore::PartialOrdering WebCore::treeOrder<(WebCore::TreeType)0>(WebCore::BoundaryPoint const&, WebCore::BoundaryPoint const&)'
collect2: error: ld returned 1 exit status
I'm unsure at this point if its a problem with the toolchain or is caused because of a different including ordering due to unified builds.
Attachments | ||
---|---|---|
Add attachment proposed patch, testcase, etc. |
Ryosuke Niwa
Hm... Maybe we need to explicitly instantiate all variants of treeOrder.
Try adding the following lines to BoundaryPoints.cpp?
template PartialOrdering treeOrder<Tree>(const BoundaryPoint&, const BoundaryPoint&);
template PartialOrdering treeOrder< ShadowIncludingTree >(const BoundaryPoint&, const BoundaryPoint&);
template PartialOrdering treeOrder<ComposedTree>(const BoundaryPoint&, const BoundaryPoint&)
Darin Adler
Yes that should work; this is a non-unified build failure.
We might not need all three of those. Just the <Tree> one would fix all the errors above.
Diego Pino
(In reply to Darin Adler from comment #2)
> Yes that should work; this is a non-unified build failure.
>
> We might not need all three of those. Just the <Tree> one would fix all the
> errors above.
Right, the patch fixed the issue (I tested it in the affected bot). I landed the patch as it was originally suggested in r269715, just a few minutes ago.