Bug 218799 - REGRESSION(r269662): [GTK][WPE] Build broken on Ubuntu-18.04 bots
Summary: REGRESSION(r269662): [GTK][WPE] Build broken on Ubuntu-18.04 bots
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: WebKitGTK (show other bugs)
Version: WebKit Nightly Build
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Nobody
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2020-11-11 06:04 PST by Carlos Alberto Lopez Perez
Modified: 2020-11-11 21:54 PST (History)
4 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Carlos Alberto Lopez Perez 2020-11-11 06:04:19 PST
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.
Comment 1 Ryosuke Niwa 2020-11-11 18:53:52 PST
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&)
Comment 2 Darin Adler 2020-11-11 20:56:54 PST
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.
Comment 3 Diego Pino 2020-11-11 21:54:47 PST
(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.