Bug 138347

Summary: [GTK] build fails without ENABLE_TEXTURE_MAPPER (i.e. without OpenGL)
Product: WebKit Reporter: Benedikt Morbach <benedikt.morbach>
Component: WebKitGTKAssignee: Nobody <webkit-unassigned>
Status: RESOLVED DUPLICATE    
Severity: Normal CC: berto, cgarcia, zan
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: Unspecified   
OS: Unspecified   

Description Benedikt Morbach 2014-11-03 19:59:19 PST
Error:
CMakeFiles/WebKit2.dir/WebProcess/WebCoreSupport/WebInspectorClient.cpp.o: In function `WebKit::WebInspectorClient::showPaintRect(WebCore::FloatRect const&)':
WebInspectorClient.cpp:(.text+0x65c): undefined reference to `WebCore::GraphicsLayer::create(WebCore::GraphicsLayerFactory*, WebCore::GraphicsLayerClient&)'
../../lib/../Source/WebCore/CMakeFiles/WebCore.dir/page/PageOverlayController.cpp.o: In function `WebCore::PageOverlayController::createRootLayersIfNeeded()':
PageOverlayController.cpp:(.text+0x37a): undefined reference to `WebCore::GraphicsLayer::create(WebCore::GraphicsLayerFactory*, WebCore::GraphicsLayerClient&)'
PageOverlayController.cpp:(.text+0x3cf): undefined reference to `WebCore::GraphicsLayer::create(WebCore::GraphicsLayerFactory*, WebCore::GraphicsLayerClient&)'
../../lib/../Source/WebCore/CMakeFiles/WebCore.dir/page/PageOverlayController.cpp.o: In function `WebCore::PageOverlayController::installPageOverlay(WTF::PassRefPtr<WebCore::PageOverlay>, WebCore::PageOverlay::FadeMode)':
PageOverlayController.cpp:(.text+0x15c4): undefined reference to `WebCore::GraphicsLayer::create(WebCore::GraphicsLayerFactory*, WebCore::GraphicsLayerClient&)'
../../lib/../Source/WebCore/CMakeFiles/WebCore.dir/rendering/RenderLayerBacking.cpp.o: In function `WebCore::RenderLayerBacking::createGraphicsLayer(WTF::String const&)':
RenderLayerBacking.cpp:(.text+0xa9d): undefined reference to `WebCore::GraphicsLayer::create(WebCore::GraphicsLayerFactory*, WebCore::GraphicsLayerClient&)'
../../lib/../Source/WebCore/CMakeFiles/WebCore.dir/rendering/RenderLayerCompositor.cpp.o:RenderLayerCompositor.cpp:(.text+0x3942): more undefined references to `WebCore::GraphicsLayer::create(WebCore::GraphicsLayerFactory*, WebCore::Graphi
csLayerClient&)' follow
collect2: error: ld returned 1 exit status


As far as I can tell this happens because WebCore::GraphicsLayer::create is defined in platform/graphics/texmap/GraphicsLayerTextureMapper.cpp.
In Source/WebCore/PlatformGTK.cmake, that file is only added to WebCore_SOURCES if(ENABLE_TEXTURE_MAPPER)

But apparently those other files call it even without that define.

(Tested with 2.6.2 and 2.7.1, I'm not totally sure how the version field in this bugzilla works)
Comment 1 Alberto Garcia 2014-12-08 01:20:01 PST
Hey, we are already discussing this in bug 138332, there's also a patch there, I don't think it makes sense to keep both bugs open so I'll close this one.
Comment 2 Alberto Garcia 2014-12-08 01:20:21 PST

*** This bug has been marked as a duplicate of bug 138332 ***