Bug 126821 - webkit-gtk 2.3.3 fails on darwin/quartz due to duplicate symbols in WebCore
Summary: webkit-gtk 2.3.3 fails on darwin/quartz due to duplicate symbols in WebCore
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: WebKitGTK (show other bugs)
Version: 528+ (Nightly build)
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Zan Dobersek
URL: https://trac.macports.org/ticket/42010
Keywords:
: 100723 (view as bug list)
Depends on:
Blocks: 126492
  Show dependency treegraph
 
Reported: 2014-01-11 11:58 PST by Jeremy Huddleston Sequoia
Modified: 2016-01-03 22:52 PST (History)
7 users (show)

See Also:


Attachments
quartz-duplicate-symbols.patch (508 bytes, patch)
2014-01-15 13:24 PST, Jeremy Huddleston Sequoia
no flags Details | Formatted Diff | Diff
Patch (2.53 KB, patch)
2014-01-16 00:32 PST, Zan Dobersek
no flags Details | Formatted Diff | Diff
Updated patch (1.97 KB, patch)
2014-10-03 00:33 PDT, Philip Chimento
no flags Details | Formatted Diff | Diff
Patch (3.44 KB, patch)
2014-10-06 22:40 PDT, Philip Chimento
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Jeremy Huddleston Sequoia 2014-01-11 11:58:30 PST
Reported at MacPorts.  When building recent webkit-gtk on darwin (GTK/Quartz rather than GTK/X11), the build fails at:

:info:build libtool: link: /usr/bin/clang++ -dynamiclib -Wl,-undefined -Wl,dynamic_lookup -o .libs/libwebkitgtk-1.0.0.dylib  Source/WebKit/gtk/WebCoreSupport/.libs/libwebkitgtk_1_0_la-TextCheckerClientGtk.o Source/WebKit/gtk/WebCoreSupport/.libs/libwebkitgtk_1_0_la-AcceleratedCompositingContextGL.o Source/WebKit/gtk/WebCoreSupport/.libs/libwebkitgtk_1_0_la-AssertMatchingEnums.o Source/WebKit/gtk/WebCoreSupport/.libs/libwebkitgtk_1_0_la-ChromeClientGtk.o Source/WebKit/gtk/WebCoreSupport/.libs/libwebkitgtk_1_0_la-ContextMenuClientGtk.o Source/WebKit/gtk/WebCoreSupport/.libs/libwebkitgtk_1_0_la-DeviceMotionClientGtk.o Source/WebKit/gtk/WebCoreSupport/.libs/libwebkitgtk_1_0_la-DeviceOrientationClientGtk.o Source/WebKit/gtk/WebCoreSupport/.libs/libwebkitgtk_1_0_la-DocumentLoaderGtk.o Source/WebKit/gtk/WebCoreSupport/.libs/libwebkitgtk_1_0_la-DragClientGtk.o Source/WebKit/gtk/WebCoreSupport/.libs/libwebkitgtk_1_0_la-DumpRenderTreeSupportGtk.o Source/WebKit/gtk/WebCoreSupport/.libs/libwebkitgtk_1_0_la-EditorClientGtk.o Source/WebKit/gtk/WebCoreSupport/.libs/libwebkitgtk_1_0_la-FrameLoaderClientGtk.o Source/WebKit/gtk/WebCoreSupport/.libs/libwebkitgtk_1_0_la-FrameNetworkingContextGtk.o Source/WebKit/gtk/WebCoreSupport/.libs/libwebkitgtk_1_0_la-GeolocationClientGtk.o Source/WebKit/gtk/WebCoreSupport/.libs/libwebkitgtk_1_0_la-GtkAdjustmentWatcher.o Source/WebKit/gtk/WebCoreSupport/.libs/libwebkitgtk_1_0_la-InspectorClientGtk.o Source/WebKit/gtk/WebCoreSupport/.libs/libwebkitgtk_1_0_la-NavigatorContentUtilsClientGtk.o Source/WebKit/gtk/WebCoreSupport/.libs/libwebkitgtk_1_0_la-PlatformStrategiesGtk.o Source/WebKit/gtk/WebCoreSupport/.libs/libwebkitgtk_1_0_la-UserMediaClientGtk.o Source/WebKit/gtk/WebCoreSupport/.libs/libwebkitgtk_1_0_la-WebViewInputMethodFilter.o Source/WebKit/gtk/webkit/.libs/libwebkitgtk_1_0_la-webkitapplicationcache.o Source/WebKit/gtk/webkit/.libs/libwebkitgtk_1_0_la-webkitauthenticationdialog.o Source/WebKit/gtk/webkit/.libs/libwebkitgtk_1_0_la-webkitdownload.o Source/WebKit/gtk/webkit/.libs/libwebkitgtk_1_0_la-webkiterror.o Source/WebKit/gtk/webkit/.libs/libwebkitgtk_1_0_la-webkitfavicondatabase.o Source/WebKit/gtk/webkit/.libs/libwebkitgtk_1_0_la-webkitfilechooserrequest.o Source/WebKit/gtk/webkit/.libs/libwebkitgtk_1_0_la-webkitgeolocationpolicydecision.o Source/WebKit/gtk/webkit/.libs/libwebkitgtk_1_0_la-webkitglobals.o Source/WebKit/gtk/webkit/.libs/libwebkitgtk_1_0_la-webkithittestresult.o Source/WebKit/gtk/webkit/.libs/libwebkitgtk_1_0_la-webkiticondatabase.o Source/WebKit/gtk/webkit/.libs/libwebkitgtk_1_0_la-webkitnetworkrequest.o Source/WebKit/gtk/webkit/.libs/libwebkitgtk_1_0_la-webkitnetworkresponse.o Source/WebKit/gtk/webkit/.libs/libwebkitgtk_1_0_la-webkitsecurityorigin.o Source/WebKit/gtk/webkit/.libs/libwebkitgtk_1_0_la-webkitsoupauthdialog.o Source/WebKit/gtk/webkit/.libs/libwebkitgtk_1_0_la-webkitspellchecker.o Source/WebKit/gtk/webkit/.libs/libwebkitgtk_1_0_la-webkitspellcheckerenchant.o Source/WebKit/gtk/webkit/.libs/libwebkitgtk_1_0_la-webkitversion.o Source/WebKit/gtk/webkit/.libs/libwebkitgtk_1_0_la-webkitviewportattributes.o Source/WebKit/gtk/webkit/.libs/libwebkitgtk_1_0_la-webkitwebbackforwardlist.o Source/WebKit/gtk/webkit/.libs/libwebkitgtk_1_0_la-webkitwebdatabase.o Source/WebKit/gtk/webkit/.libs/libwebkitgtk_1_0_la-webkitwebdatasource.o Source/WebKit/gtk/webkit/.libs/libwebkitgtk_1_0_la-webkitwebframe.o Source/WebKit/gtk/webkit/.libs/libwebkitgtk_1_0_la-webkitwebhistoryitem.o Source/WebKit/gtk/webkit/.libs/libwebkitgtk_1_0_la-webkitwebinspector.o Source/WebKit/gtk/webkit/.libs/libwebkitgtk_1_0_la-webkitwebnavigationaction.o Source/WebKit/gtk/webkit/.libs/libwebkitgtk_1_0_la-webkitwebpolicydecision.o Source/WebKit/gtk/webkit/.libs/libwebkitgtk_1_0_la-webkitwebresource.o Source/WebKit/gtk/webkit/.libs/libwebkitgtk_1_0_la-webkitwebplugin.o Source/WebKit/gtk/webkit/.libs/libwebkitgtk_1_0_la-webkitwebplugindatabase.o Source/WebKit/gtk/webkit/.libs/libwebkitgtk_1_0_la-webkitwebsettings.o Source/WebKit/gtk/webkit/.libs/libwebkitgtk_1_0_la-webkitwebview.o Source/WebKit/gtk/webkit/.libs/libwebkitgtk_1_0_la-webkitwebwindowfeatures.o DerivedSources/webkit/.libs/libwebkitgtk_1_0_la-webkitenumtypes.o DerivedSources/webkit/.libs/libwebkitgtk_1_0_la-webkitmarshal.o   -Wl,-force_load,./.libs/libPlatform.a -Wl,-force_load,./.libs/libPlatformGtk.a -Wl,-force_load,./.libs/libWebCore.a -Wl,-force_load,./.libs/libWebCorePlatform.a -Wl,-force_load,./.libs/libWebCoreModules.a -Wl,-force_load,./.libs/libWebCoreDOM.a -Wl,-force_load,./.libs/libWebCoreGtk.a -Wl,-force_load,./.libs/libWebCoreSVG.a  -L/opt/local/lib ./.libs/libjavascriptcoregtk-1.0.dylib -lenchant -lharfbuzz-icu -lharfbuzz -lgeoclue -ldbus-glib-1 -ldbus-1 -lgmodule-2.0 -lgthread-2.0 -lgstapp-1.0 -lgstaudio-1.0 -lgstfft-1.0 -lgstpbutils-1.0 -lgstvideo-1.0 -lgstbase-1.0 -lgstreamer-1.0 -lgtk-quartz-2.0 -lgdk-quartz-2.0 -framework Cocoa -lpangocairo-1.0 -latk-1.0 -lcairo -lgdk_pixbuf-2.0 -ljpeg -lsecret-1 -lsoup-2.4 -lgio-2.0 -lxslt -lpthread -liconv -lxml2 -lpangoft2-1.0 -lpango-1.0 -lm -lgobject-2.0 -lglib-2.0 -lintl -lfontconfig -lfreetype -lpng16 -lsqlite3 -licui18n -licuuc -licudata -lwebp -lz  -Os -arch x86_64 -pthread -O2 -Wl,-headerpad_max_install_names -arch x86_64 -Wl,--no-demangle   -pthread -framework Cocoa -install_name  /opt/local/lib/libwebkitgtk-1.0.0.dylib -compatibility_version 20 -current_version 20.11 -Wl,-single_module
:info:build clang: warning: argument unused during compilation: '-pthread'
:info:build clang: warning: argument unused during compilation: '-pthread'
:info:build duplicate symbol __ZN7WebCore13PluginPackage9fetchInfoEv in:
:info:build     ./.libs/libWebCore.a(libWebCore_la-P)
:info:build     ./.libs/libWebCore.a(lt1-libWebCore_)
:info:build duplicate symbol __ZN7WebCore13PluginPackage4loadEv in:
:info:build     ./.libs/libWebCore.a(libWebCore_la-P)
:info:build     ./.libs/libWebCore.a(lt1-libWebCore_)
:info:build duplicate symbol __ZNK7WebCore13PluginPackage9NPVersionEv in:
:info:build     ./.libs/libWebCore.a(libWebCore_la-P)
:info:build     ./.libs/libWebCore.a(lt1-libWebCore_)
:info:build duplicate symbol __ZN7WebCore10PluginView8setFocusEb in:
:info:build     ./.libs/libWebCore.a(libWebCore_la-P)
:info:build     ./.libs/libWebCore.a(lt2-libWebCore_)
:info:build duplicate symbol __ZN7WebCore10PluginView4showEv in:
:info:build     ./.libs/libWebCore.a(libWebCore_la-P)
:info:build     ./.libs/libWebCore.a(lt2-libWebCore_)
:info:build duplicate symbol __ZN7WebCore10PluginView4hideEv in:
:info:build     ./.libs/libWebCore.a(libWebCore_la-P)
:info:build     ./.libs/libWebCore.a(lt2-libWebCore_)
:info:build duplicate symbol __ZN7WebCore10PluginView5paintEPNS_15GraphicsContextERKNS_7IntRectE in:
:info:build     ./.libs/libWebCore.a(libWebCore_la-P)
:info:build     ./.libs/libWebCore.a(lt2-libWebCore_)
:info:build duplicate symbol __ZN7WebCore10PluginView19handleKeyboardEventEPNS_13KeyboardEventE in:
:info:build     ./.libs/libWebCore.a(libWebCore_la-P)
:info:build     ./.libs/libWebCore.a(lt2-libWebCore_)
:info:build duplicate symbol __ZN7WebCore10PluginView16handleMouseEventEPNS_10MouseEventE in:
:info:build     ./.libs/libWebCore.a(libWebCore_la-P)
:info:build     ./.libs/libWebCore.a(lt2-libWebCore_)
:info:build duplicate symbol __ZN7WebCore10PluginView9setParentEPNS_10ScrollViewE in:
:info:build     ./.libs/libWebCore.a(libWebCore_la-P)
:info:build     ./.libs/libWebCore.a(lt2-libWebCore_)
:info:build duplicate symbol __ZN7WebCore10PluginView15setNPWindowRectERKNS_7IntRectE in:
:info:build     ./.libs/libWebCore.a(libWebCore_la-P)
:info:build     ./.libs/libWebCore.a(lt2-libWebCore_)
:info:build duplicate symbol __ZN7WebCore10PluginView18handlePostReadFileERN3WTF6VectorIcLm0ENS1_15CrashOnOverflowEEEjPKc in:
:info:build     ./.libs/libWebCore.a(libWebCore_la-P)
:info:build     ./.libs/libWebCore.a(lt2-libWebCore_)
:info:build duplicate symbol __ZN7WebCore10PluginView16platformGetValueE11NPNVariablePvPs in:
:info:build     ./.libs/libWebCore.a(libWebCore_la-P)
:info:build     ./.libs/libWebCore.a(lt2-libWebCore_)
:info:build duplicate symbol __ZN7WebCore10PluginView22platformGetValueStaticE11NPNVariablePvPs in:
:info:build     ./.libs/libWebCore.a(libWebCore_la-P)
:info:build     ./.libs/libWebCore.a(lt2-libWebCore_)
:info:build duplicate symbol __ZN7WebCore10PluginView14invalidateRectEP7_NPRect in:
:info:build     ./.libs/libWebCore.a(libWebCore_la-P)
:info:build     ./.libs/libWebCore.a(lt2-libWebCore_)
:info:build duplicate symbol __ZN7WebCore10PluginView14invalidateRectERKNS_7IntRectE in:
:info:build     ./.libs/libWebCore.a(libWebCore_la-P)
:info:build     ./.libs/libWebCore.a(lt2-libWebCore_)
:info:build duplicate symbol __ZN7WebCore10PluginView16invalidateRegionEPv in:
:info:build     ./.libs/libWebCore.a(libWebCore_la-P)
:info:build     ./.libs/libWebCore.a(lt2-libWebCore_)
:info:build duplicate symbol __ZN7WebCore10PluginView11forceRedrawEv in:
:info:build     ./.libs/libWebCore.a(libWebCore_la-P)
:info:build     ./.libs/libWebCore.a(lt2-libWebCore_)
:info:build duplicate symbol __ZN7WebCore10PluginView13platformStartEv in:
:info:build     ./.libs/libWebCore.a(libWebCore_la-P)
:info:build     ./.libs/libWebCore.a(lt2-libWebCore_)
:info:build duplicate symbol __ZN7WebCore10PluginView15platformDestroyEv in:
:info:build     ./.libs/libWebCore.a(libWebCore_la-P)
:info:build     ./.libs/libWebCore.a(lt2-libWebCore_)
:info:build duplicate symbol __ZN7WebCore10PluginView16setParentVisibleEb in:
:info:build     ./.libs/libWebCore.a(libWebCore_la-P)
:info:build     ./.libs/libWebCore.a(lt2-libWebCore_)
:info:build duplicate symbol __ZN7WebCore10PluginView18updatePluginWidgetEv in:
:info:build     ./.libs/libWebCore.a(libWebCore_la-P)
:info:build     ./.libs/libWebCore.a(lt2-libWebCore_)
:info:build duplicate symbol __ZN7WebCore10PluginView18handleFocusInEventEv in:
:info:build     ./.libs/libWebCore.a(libWebCore_la-P)
:info:build     ./.libs/libWebCore.a(lt2-libWebCore_)
:info:build duplicate symbol __ZN7WebCore10PluginView19handleFocusOutEventEv in:
:info:build     ./.libs/libWebCore.a(libWebCore_la-P)
:info:build     ./.libs/libWebCore.a(lt2-libWebCore_)
:info:build ld: 24 duplicate symbols for architecture x86_64
:info:build clang: error: linker command failed with exit code 1 (use -v to see invocation)
:info:build make[1]: *** [libwebkitgtk-1.0.la] Error 1
:
Comment 1 Jeremy Huddleston Sequoia 2014-01-11 12:05:01 PST
It looks like these duplicates come from PluginPackageNone.cpp is being included as well as PluginViewGtk.cpp
Comment 2 Jeremy Huddleston Sequoia 2014-01-11 12:08:35 PST
Actually no, the GTK one isn't included.  This looks interesting:

:info:build ar: warning: libWebCore_la-PluginPackageNone.o truncated to libWebCore_la-P
:info:build ar: warning: libWebCore_la-PluginViewNone.o truncated to libWebCore_la-P
:info:build ar: warning: lt1-libWebCore_la-PluginPackageNone.o truncated to lt1-libWebCore_
:info:build ar: warning: lt2-libWebCore_la-PluginViewNone.o truncated to lt2-libWebCore_
Comment 3 Jeremy Huddleston Sequoia 2014-01-11 12:12:42 PST
Actually no, the GTK one isn't included.  This looks interesting:

:info:build ar: warning: libWebCore_la-PluginPackageNone.o truncated to libWebCore_la-P
:info:build ar: warning: libWebCore_la-PluginViewNone.o truncated to libWebCore_la-P
:info:build ar: warning: lt1-libWebCore_la-PluginPackageNone.o truncated to lt1-libWebCore_
:info:build ar: warning: lt2-libWebCore_la-PluginViewNone.o truncated to lt2-libWebCore_


It looks like this block gets added in the else for TARGET_X11_OR_WAYLAND as well as the else for TARGET_X11:

webcore_sources += \
        Source/WebCore/plugins/PluginPackageNone.cpp \
        Source/WebCore/plugins/PluginViewNone.cpp
Comment 4 Jeremy Huddleston Sequoia 2014-01-11 12:22:47 PST
(In reply to comment #3)
> It looks like this block gets added in the else for TARGET_X11_OR_WAYLAND as well as the else for TARGET_X11:
> 
> webcore_sources += \
>         Source/WebCore/plugins/PluginPackageNone.cpp \
>         Source/WebCore/plugins/PluginViewNone.cpp

I'm asking MacPorts users reporting the issue to test with a patch that just removes that from the ! TARGET_X11 block.
Comment 5 Jeremy Huddleston Sequoia 2014-01-15 13:24:14 PST
Created attachment 221303 [details]
quartz-duplicate-symbols.patch

This patch fixes the issue of including the files twice.
Comment 6 Zan Dobersek 2014-01-16 00:32:59 PST
Created attachment 221341 [details]
Patch
Comment 7 Zan Dobersek 2014-01-16 00:38:50 PST
?(In reply to comment #6)
> Created an attachment (id=221341) [details]
> Patch

Now lists additional build targets for every window target separately. No more else branches.

The PluginPackageNone.cpp and PluginViewNone.cpp files are now explicitly added to the build for Quartz, and that is done only once, so it should remove duplicate definitions.

Please try the patch out and report back as I'm unable to test on this specific configuration.
Comment 8 Darin Adler 2014-08-19 08:52:04 PDT
Comment on attachment 221341 [details]
Patch

We don’t use automake any more.
Comment 9 Jeremy Huddleston Sequoia 2014-08-19 10:22:27 PDT
Yeah, well the cmake build fails on darwin even worse.

The fact that you guys ripped out automake before cmake was ready for use is quite frustrating.  I wish you heeded my request to have side-by-side automake/cmake for a couple transition releases =(

We've decided to just stay at webkit-gtk-1.4.x in MacPorts for the foreseeable future (read: until someone else wants to take over maintainer-ship, if anyone is interested) due to too much maintainance overhead in the switch to cmake.
Comment 10 Martin Robinson 2014-08-19 11:17:30 PDT
(In reply to comment #9)
> Yeah, well the cmake build fails on darwin even worse.
> 
> The fact that you guys ripped out automake before cmake was ready for use is quite frustrating.  I wish you heeded my request to have side-by-side automake/cmake for a couple transition releases =(

It's likely that the build fails, because we also removed WebKit1. To my knowledge, WebKit2GTK+ only works on systems which support XComposite/XDamage. We don't have support for Darwin yet. WebKit1 lives on in a stable branch. Please see the discussion here: https://lists.webkit.org/pipermail/webkit-gtk/2014-March/001821.html.
Comment 11 Philip Chimento 2014-10-03 00:33:44 PDT
Created attachment 239184 [details]
Updated patch
Comment 12 Philip Chimento 2014-10-03 00:34:15 PDT
(In reply to comment #7)
> ?(In reply to comment #6)
> > Created an attachment (id=221341) [details] [details]
> > Patch
> 
> Now lists additional build targets for every window target separately. No more else branches.
> 
> The PluginPackageNone.cpp and PluginViewNone.cpp files are now explicitly added to the build for Quartz, and that is done only once, so it should remove duplicate definitions.
> 
> Please try the patch out and report back as I'm unable to test on this specific configuration.

I did try this out on 2.4.6 and it resolves all but one duplicate symbol. To fix the last one, PluginPackage::determineQuirks(const String&) needs to be removed from Source/WebCore/plugins/PluginPackageNone.cpp.  Here's an updated patch.

Since WebKit2 does indeed not support WebKitGTK on Quartz yet, would it be possible to have this committed to the 2.4 stable branch as well?
Comment 13 Philip Chimento 2014-10-06 22:40:08 PDT
Created attachment 239391 [details]
Patch
Comment 14 Philip Chimento 2014-10-06 22:40:56 PDT
Here's an updated patch with ChangeLog.
Comment 15 Philip Chimento 2014-11-05 22:07:51 PST
Would it be possible to get this reviewed for 2.4.8?
Comment 16 Philippe Normand 2014-11-18 09:52:24 PST
Carlos, any thoughts on this one?
Comment 17 Carlos Garcia Campos 2015-01-05 00:20:47 PST
Commited to 2.4 branch

<http://trac.webkit.org/changeset/177885>
<http://trac.webkit.org/changeset/177886>
<http://trac.webkit.org/changeset/177887>

Thanks!
Comment 18 Iain Lane 2015-01-14 07:20:19 PST
On my Ubuntu package build of 2.4.8, the first release with these patches, I'm getting a multiple definition failure:

./.libs/../Source/WebCore/plugins/gtk/.libs/libWebCoreGtk_la-PluginPackageGtk.o: In function `_ZN3WTF6VectorINS_6StringELm0ENS_15CrashOnOverflowEEaSERKS3_':
/build/buildd/webkitgtk-2.4.8/build-3.0/../Source/WebCore/plugins/gtk/PluginPackageGtk.cpp:126: multiple definition of `_ZN7WebCore13PluginPackage4loadEv'
./.libs/../Source/WebCore/plugins/.libs/libWebCore_la-PluginPackageNone.o:/build/buildd/webkitgtk-2.4.8/build-3.0/../Source/WebCore/plugins/PluginPackageNone.cpp:37: first defined here
./.libs/../Source/WebCore/plugins/gtk/.libs/libWebCoreGtk_la-PluginPackageGtk.o: In function `_ZNK7WebCore13PluginPackage9NPVersionEv':
/build/buildd/webkitgtk-2.4.8/build-3.0/../Source/WebCore/plugins/gtk/PluginPackageGtk.cpp:199: multiple definition of `_ZNK7WebCore13PluginPackage9NPVersionEv'
./.libs/../Source/WebCore/plugins/.libs/libWebCore_la-PluginPackageNone.o:/build/buildd/webkitgtk-2.4.8/build-3.0/../Source/WebCore/plugins/PluginPackageNone.cpp:43: first defined here
./.libs/../Source/WebCore/plugins/gtk/.libs/libWebCoreGtk_la-PluginPackageGtk.o: In function `_ZN7WebCore13PluginPackage9fetchInfoEv':
/build/buildd/webkitgtk-2.4.8/build-3.0/../Source/WebCore/plugins/gtk/PluginPackageGtk.cpp:44: multiple definition of `_ZN7WebCore13PluginPackage9fetchInfoEv'
./.libs/../Source/WebCore/plugins/.libs/libWebCore_la-PluginPackageNone.o:/build/buildd/webkitgtk-2.4.8/build-3.0/../Source/WebCore/plugins/PluginPackageNone.cpp:32: first defined here
./.libs/../Source/WebCore/plugins/gtk/.libs/libWebCoreGtk_la-PluginViewGtk.o: In function `_ZN7WebCore10PluginView15setNPWindowRectERKNS_7IntRectE':
/build/buildd/webkitgtk-2.4.8/build-3.0/../Source/WebCore/plugins/gtk/PluginViewGtk.cpp:473: multiple definition of `_ZN7WebCore10PluginView15setNPWindowRectERKNS_7IntRectE'
./.libs/../Source/WebCore/plugins/.libs/libWebCore_la-PluginViewNone.o:/build/buildd/webkitgtk-2.4.8/build-3.0/../Source/WebCore/plugins/PluginViewNone.cpp:65: first defined here
./.libs/../Source/WebCore/plugins/gtk/.libs/libWebCoreGtk_la-PluginViewGtk.o: In function `_ZN7WebCore10PluginView5paintEPNS_15GraphicsContextERKNS_7IntRectE':
/build/buildd/webkitgtk-2.4.8/build-3.0/../Source/WebCore/plugins/gtk/PluginViewGtk.cpp:176: multiple definition of `_ZN7WebCore10PluginView5paintEPNS_15GraphicsContextERKNS_7IntRectE'
./.libs/../Source/WebCore/plugins/.libs/libWebCore_la-PluginViewNone.o:/build/buildd/webkitgtk-2.4.8/build-3.0/../Source/WebCore/plugins/PluginViewNone.cpp:49: first defined here
./.libs/../Source/WebCore/plugins/gtk/.libs/libWebCoreGtk_la-PluginViewGtk.o: In function `_ZN7WebCore10PluginView16setParentVisibleEb':
/build/buildd/webkitgtk-2.4.8/build-3.0/../Source/WebCore/plugins/gtk/PluginViewGtk.cpp:579: multiple definition of `_ZN7WebCore10PluginView16setParentVisibleEb'
./.libs/../Source/WebCore/plugins/.libs/libWebCore_la-PluginViewNone.o:/build/buildd/webkitgtk-2.4.8/build-3.0/../Source/WebCore/plugins/PluginViewNone.cpp:113: first defined here
./.libs/../Source/WebCore/plugins/gtk/.libs/libWebCoreGtk_la-PluginViewGtk.o: In function `_ZN7WebCore10PluginView18handlePostReadFileERN3WTF6VectorIcLm0ENS1_15CrashOnOverflowEEEjPKc':
/build/buildd/webkitgtk-2.4.8/build-3.0/../Source/WebCore/plugins/gtk/PluginViewGtk.cpp:594: multiple definition of `_ZN7WebCore10PluginView18handlePostReadFileERN3WTF6VectorIcLm0ENS1_15CrashOnOverflowEEEjPKc'
./.libs/../Source/WebCore/plugins/.libs/libWebCore_la-PluginViewNone.o:/build/buildd/webkitgtk-2.4.8/build-3.0/../Source/WebCore/plugins/PluginViewNone.cpp:70: first defined here
./.libs/../Source/WebCore/plugins/gtk/.libs/libWebCoreGtk_la-PluginViewGtk.o: In function `_ZN7WebCore10PluginView22platformGetValueStaticE11NPNVariablePvPs':
/build/buildd/webkitgtk-2.4.8/build-3.0/../Source/WebCore/plugins/gtk/PluginViewGtk.cpp:625: multiple definition of `_ZN7WebCore10PluginView22platformGetValueStaticE11NPNVariablePvPs'
./.libs/../Source/WebCore/plugins/.libs/libWebCore_la-PluginViewNone.o:/build/buildd/webkitgtk-2.4.8/build-3.0/../Source/WebCore/plugins/PluginViewNone.cpp:80: first defined here
./.libs/../Source/WebCore/plugins/gtk/.libs/libWebCoreGtk_la-PluginViewGtk.o: In function `_ZN7WebCore10PluginView14invalidateRectERKNS_7IntRectE':
/build/buildd/webkitgtk-2.4.8/build-3.0/../Source/WebCore/plugins/gtk/PluginViewGtk.cpp:691: multiple definition of `_ZN7WebCore10PluginView14invalidateRectERKNS_7IntRectE'
./.libs/../Source/WebCore/plugins/.libs/libWebCore_la-PluginViewNone.o:/build/buildd/webkitgtk-2.4.8/build-3.0/../Source/WebCore/plugins/PluginViewNone.cpp:90: first defined here
./.libs/../Source/WebCore/plugins/gtk/.libs/libWebCoreGtk_la-PluginViewGtk.o: In function `_ZN7WebCore10PluginView14invalidateRectEP7_NPRect':
/build/buildd/webkitgtk-2.4.8/build-3.0/../Source/WebCore/plugins/gtk/PluginViewGtk.cpp:700: multiple definition of `_ZN7WebCore10PluginView14invalidateRectEP7_NPRect'
./.libs/../Source/WebCore/plugins/.libs/libWebCore_la-PluginViewNone.o:/build/buildd/webkitgtk-2.4.8/build-3.0/../Source/WebCore/plugins/PluginViewNone.cpp:85: first defined here
./.libs/../Source/WebCore/plugins/gtk/.libs/libWebCoreGtk_la-PluginViewGtk.o: In function `_ZN7WebCore10PluginView16invalidateRegionEP8_XRegion':
/build/buildd/webkitgtk-2.4.8/build-3.0/../Source/WebCore/plugins/gtk/PluginViewGtk.cpp:711: multiple definition of `_ZN7WebCore10PluginView16invalidateRegionEP8_XRegion'
./.libs/../Source/WebCore/plugins/.libs/libWebCore_la-PluginViewNone.o:/build/buildd/webkitgtk-2.4.8/build-3.0/../Source/WebCore/plugins/PluginViewNone.cpp:95: first defined here
./.libs/../Source/WebCore/plugins/gtk/.libs/libWebCoreGtk_la-PluginViewGtk.o: In function `_ZN7WebCore10PluginView15platformDestroyEv':
/build/buildd/webkitgtk-2.4.8/build-3.0/../Source/WebCore/plugins/gtk/PluginViewGtk.cpp:882: multiple definition of `_ZN7WebCore10PluginView15platformDestroyEv'
./.libs/../Source/WebCore/plugins/.libs/libWebCore_la-PluginViewNone.o:/build/buildd/webkitgtk-2.4.8/build-3.0/../Source/WebCore/plugins/PluginViewNone.cpp:109: first defined here
./.libs/../Source/WebCore/plugins/gtk/.libs/libWebCoreGtk_la-PluginViewGtk.o: In function `_ZN7WebCore10PluginView18updatePluginWidgetEv':
/build/buildd/webkitgtk-2.4.8/build-3.0/../Source/WebCore/plugins/gtk/PluginViewGtk.cpp:121: multiple definition of `_ZN7WebCore10PluginView18updatePluginWidgetEv'
./.libs/../Source/WebCore/plugins/.libs/libWebCore_la-PluginViewNone.o:/build/buildd/webkitgtk-2.4.8/build-3.0/../Source/WebCore/plugins/PluginViewNone.cpp:117: first defined here
./.libs/../Source/WebCore/plugins/gtk/.libs/libWebCoreGtk_la-PluginViewGtk.o: In function `_ZN7WebCore10PluginView19handleKeyboardEventEPNS_13KeyboardEventE':
/build/buildd/webkitgtk-2.4.8/build-3.0/../Source/WebCore/plugins/gtk/PluginViewGtk.cpp:266: multiple definition of `_ZN7WebCore10PluginView19handleKeyboardEventEPNS_13KeyboardEventE'
./.libs/../Source/WebCore/plugins/.libs/libWebCore_la-PluginViewNone.o:/build/buildd/webkitgtk-2.4.8/build-3.0/../Source/WebCore/plugins/PluginViewNone.cpp:53: first defined here
./.libs/../Source/WebCore/plugins/gtk/.libs/libWebCoreGtk_la-PluginViewGtk.o: In function `_ZN7WebCore10PluginView18handleFocusInEventEv':
/build/buildd/webkitgtk-2.4.8/build-3.0/../Source/WebCore/plugins/gtk/PluginViewGtk.cpp:432: multiple definition of `_ZN7WebCore10PluginView18handleFocusInEventEv'
./.libs/../Source/WebCore/plugins/.libs/libWebCore_la-PluginViewNone.o:/build/buildd/webkitgtk-2.4.8/build-3.0/../Source/WebCore/plugins/PluginViewNone.cpp:122: first defined here
./.libs/../Source/WebCore/plugins/gtk/.libs/libWebCoreGtk_la-PluginViewGtk.o: In function `_ZN7WebCore10PluginView19handleFocusOutEventEv':
/build/buildd/webkitgtk-2.4.8/build-3.0/../Source/WebCore/plugins/gtk/PluginViewGtk.cpp:448: multiple definition of `_ZN7WebCore10PluginView19handleFocusOutEventEv'
./.libs/../Source/WebCore/plugins/.libs/libWebCore_la-PluginViewNone.o:/build/buildd/webkitgtk-2.4.8/build-3.0/../Source/WebCore/plugins/PluginViewNone.cpp:126: first defined here
./.libs/../Source/WebCore/plugins/gtk/.libs/libWebCoreGtk_la-PluginViewGtk.o: In function `_ZN7WebCore10PluginView16handleMouseEventEPNS_10MouseEventE':
/build/buildd/webkitgtk-2.4.8/build-3.0/../Source/WebCore/plugins/gtk/PluginViewGtk.cpp:392: multiple definition of `_ZN7WebCore10PluginView16handleMouseEventEPNS_10MouseEventE'
./.libs/../Source/WebCore/plugins/.libs/libWebCore_la-PluginViewNone.o:/build/buildd/webkitgtk-2.4.8/build-3.0/../Source/WebCore/plugins/PluginViewNone.cpp:57: first defined here
./.libs/../Source/WebCore/plugins/gtk/.libs/libWebCoreGtk_la-PluginViewGtk.o: In function `_ZN7WebCore10PluginView16platformGetValueE11NPNVariablePvPs':
/build/buildd/webkitgtk-2.4.8/build-3.0/../Source/WebCore/plugins/gtk/PluginViewGtk.cpp:653: multiple definition of `_ZN7WebCore10PluginView16platformGetValueE11NPNVariablePvPs'
./.libs/../Source/WebCore/plugins/.libs/libWebCore_la-PluginViewNone.o:/build/buildd/webkitgtk-2.4.8/build-3.0/../Source/WebCore/plugins/PluginViewNone.cpp:75: first defined here
./.libs/../Source/WebCore/plugins/gtk/.libs/libWebCoreGtk_la-PluginViewGtk.o: In function `_ZN7WebCore10PluginView11forceRedrawEv':
/build/buildd/webkitgtk-2.4.8/build-3.0/../Source/WebCore/plugins/gtk/PluginViewGtk.cpp:718: multiple definition of `_ZN7WebCore10PluginView11forceRedrawEv'
./.libs/../Source/WebCore/plugins/.libs/libWebCore_la-PluginViewNone.o:/build/buildd/webkitgtk-2.4.8/build-3.0/../Source/WebCore/plugins/PluginViewNone.cpp:100: first defined here
./.libs/../Source/WebCore/plugins/gtk/.libs/libWebCoreGtk_la-PluginViewGtk.o: In function `_ZN7WebCore10PluginView8setFocusEb':
/build/buildd/webkitgtk-2.4.8/build-3.0/../Source/WebCore/plugins/gtk/PluginViewGtk.cpp:156: multiple definition of `_ZN7WebCore10PluginView8setFocusEb'
./.libs/../Source/WebCore/plugins/.libs/libWebCore_la-PluginViewNone.o:/build/buildd/webkitgtk-2.4.8/build-3.0/../Source/WebCore/plugins/PluginViewNone.cpp:37: first defined here
./.libs/../Source/WebCore/plugins/gtk/.libs/libWebCoreGtk_la-PluginViewGtk.o: In function `_ZN7WebCore10PluginView4showEv':
/build/buildd/webkitgtk-2.4.8/build-3.0/../Source/WebCore/plugins/gtk/PluginViewGtk.cpp:164: multiple definition of `_ZN7WebCore10PluginView4showEv'
./.libs/../Source/WebCore/plugins/.libs/libWebCore_la-PluginViewNone.o:/build/buildd/webkitgtk-2.4.8/build-3.0/../Source/WebCore/plugins/PluginViewNone.cpp:41: first defined here
./.libs/../Source/WebCore/plugins/gtk/.libs/libWebCoreGtk_la-PluginViewGtk.o: In function `_ZN7WebCore10PluginView13platformStartEv':
/build/buildd/webkitgtk-2.4.8/build-3.0/../Source/WebCore/plugins/gtk/PluginViewGtk.cpp:786: multiple definition of `_ZN7WebCore10PluginView13platformStartEv'
./.libs/../Source/WebCore/plugins/.libs/libWebCore_la-PluginViewNone.o:/build/buildd/webkitgtk-2.4.8/build-3.0/../Source/WebCore/plugins/PluginViewNone.cpp:104: first defined here
./.libs/../Source/WebCore/plugins/gtk/.libs/libWebCoreGtk_la-PluginViewGtk.o: In function `_ZN7WebCore10PluginView4hideEv':
/build/buildd/webkitgtk-2.4.8/build-3.0/../Source/WebCore/plugins/gtk/PluginViewGtk.cpp:170: multiple definition of `_ZN7WebCore10PluginView4hideEv'
./.libs/../Source/WebCore/plugins/.libs/libWebCore_la-PluginViewNone.o:/build/buildd/webkitgtk-2.4.8/build-3.0/../Source/WebCore/plugins/PluginViewNone.cpp:45: first defined here
./.libs/../Source/WebCore/plugins/gtk/.libs/libWebCoreGtk_la-PluginViewGtk.o: In function `_ZN7WebCore10PluginView9setParentEPNS_10ScrollViewE':
/build/buildd/webkitgtk-2.4.8/build-3.0/../Source/WebCore/plugins/gtk/PluginViewGtk.cpp:464: multiple definition of `_ZN7WebCore10PluginView9setParentEPNS_10ScrollViewE'
./.libs/../Source/WebCore/plugins/.libs/libWebCore_la-PluginViewNone.o:/build/buildd/webkitgtk-2.4.8/build-3.0/../Source/WebCore/plugins/PluginViewNone.cpp:61: first defined here

TARGET_X11 and TARGET_WAYLAND are both defined, so I think that we're getting *None.cpp and *Gtk.cpp both included erroneously.
Comment 19 Carlos Garcia Campos 2015-01-15 01:38:38 PST
See https://bugs.webkit.org/show_bug.cgi?id=140241
Comment 20 Jeremy Huddleston Sequoia 2016-01-03 22:52:07 PST
*** Bug 100723 has been marked as a duplicate of this bug. ***