Bug 35019

Summary: Can't cross-compile Qt/ARM anymore since r54616 (PluginViewNone.cpp vs. PluginView.cpp)
Product: WebKit Reporter: Mirko Scavazzin <mscavazzin>
Component: New BugsAssignee: Nobody <webkit-unassigned>
Status: RESOLVED DUPLICATE    
Severity: Blocker CC: jhoneycutt, jturcotte
Priority: P2 Keywords: Qt
Version: 528+ (Nightly build)   
Hardware: Other   
OS: Linux   

Mirko Scavazzin
Reported 2010-02-16 23:39:40 PST
Hi, I can't cross-compile anymore for Qt/ARM target since the "void PluginView::keepAlive(NPP)" stuff was added in r54614 (http://svnsearch.org/svnsearch/repos/WEBKIT/search?filename=PluginView.cpp#546141117471) I get this error at link : obj/release/PluginViewNone.o: In function `WebCore::PluginView::keepAlive(_NPP*)': PluginViewNone.cpp:(.text._ZN7WebCore10PluginView9keepAliveEP4_NPP+0x0): multiple definition of `WebCore::PluginView::keepAlive(_NPP*)' obj/release/PluginView.o:PluginView.cpp:(.text._ZN7WebCore10PluginView9keepAliveEP4_NPP+0x0): first defined here collect2: ld returned 1 exit status make[1]: *** [../lib/libQtWebKit.so.4.5.2] Error 1 make[1]: Leaving directory `/localdisk/working/WebKit/WebKitBuild/Release/WebCore' make: *** [sub-WebCore-make_default-ordered] Error 2 Looks like it happens when ENABLE_NETSCAPE_PLUGIN_API=0
Attachments
Mirko Scavazzin
Comment 1 2010-02-22 06:38:02 PST
I suggest to change PluginView::keepAlive definition in PluginView.cpp within ENABLE(NETSCAPE_PLUGIN_API) like this below (it works for me) : #if ENABLE(NETSCAPE_PLUGIN_API) void PluginView::keepAlive(NPP instance) { PluginView* view = instanceMap().get(instance); if (!view) return; view->keepAlive(); } #endif
Tor Arne Vestbø
Comment 2 2010-03-10 06:41:26 PST
Please follow the QtWebKit bug reporting guidelines when reporting bugs. See http://trac.webkit.org/wiki/QtWebKitBugs Specifically: - The 'QtWebKit' component should only be used for bugs/features in the public QtWebKit API layer, not to signify that the bug is specific to the Qt port of WebKit http://trac.webkit.org/wiki/QtWebKitBugs#Component - Add the keyword 'Qt' to signal that it's a Qt-related bug http://trac.webkit.org/wiki/QtWebKitBugs#Keywords
Tor Arne Vestbø
Comment 3 2010-03-10 07:34:10 PST
(In reply to comment #1) > I suggest to change PluginView::keepAlive definition in PluginView.cpp within > ENABLE(NETSCAPE_PLUGIN_API) like this below (it works for me) : > > #if ENABLE(NETSCAPE_PLUGIN_API) > void PluginView::keepAlive(NPP instance) > { > PluginView* view = instanceMap().get(instance); > if (!view) > return; > > view->keepAlive(); > } > #endif This change seems to be in trunk already. Please reopen if still valid.
Mirko Scavazzin
Comment 4 2010-04-14 23:53:20 PDT
I get still the same problems. into PluginView.cpp please change from this : ----------------------------------------------------------------------------------------------- #if ENABLE(NETSCAPE_PLUGIN_API) void PluginView::keepAlive(NPP instance) { PluginView* view = instanceMap().get(instance); if (!view) return; view->keepAlive(); } #endif NPError PluginView::getValueStatic(NPNVariable variable, void* value) { LOG(Plugins, "PluginView::getValueStatic(%s)", prettyNameForNPNVariable(variable).data()); NPError result; if (platformGetValueStatic(variable, value, &result)) return result; return NPERR_GENERIC_ERROR; } ----------------------------------------------------------------------------------------------- to this: ----------------------------------------------------------------------------------------------- #if ENABLE(NETSCAPE_PLUGIN_API) void PluginView::keepAlive(NPP instance) { PluginView* view = instanceMap().get(instance); if (!view) return; view->keepAlive(); } NPError PluginView::getValueStatic(NPNVariable variable, void* value) { LOG(Plugins, "PluginView::getValueStatic(%s)", prettyNameForNPNVariable(variable).data()); NPError result; if (platformGetValueStatic(variable, value, &result)) return result; return NPERR_GENERIC_ERROR; } #endif ----------------------------------------------------------------------------------------------- and into PluginViewNone.cpp please change from this : ----------------------------------------------------------------------------------------------- #if ENABLE(NETSCAPE_PLUGIN_API) void PluginView::keepAlive(NPP) { } #endif void PluginView::privateBrowsingStateChanged(bool) { } void PluginView::setJavaScriptPaused(bool) { } ----------------------------------------------------------------------------------------------- to this: ----------------------------------------------------------------------------------------------- #if ENABLE(NETSCAPE_PLUGIN_API) void PluginView::keepAlive(NPP) { } void PluginView::privateBrowsingStateChanged(bool) { } void PluginView::setJavaScriptPaused(bool) { } #endif -----------------------------------------------------------------------------------------------
Mirko Scavazzin
Comment 5 2010-04-14 23:59:10 PDT
I get still the same problems. into PluginView.cpp please change from this : ----------------------------------------------------------------------------------------------- #if ENABLE(NETSCAPE_PLUGIN_API) void PluginView::keepAlive(NPP instance) { PluginView* view = instanceMap().get(instance); if (!view) return; view->keepAlive(); } #endif NPError PluginView::getValueStatic(NPNVariable variable, void* value) { LOG(Plugins, "PluginView::getValueStatic(%s)", prettyNameForNPNVariable(variable).data()); NPError result; if (platformGetValueStatic(variable, value, &result)) return result; return NPERR_GENERIC_ERROR; } ----------------------------------------------------------------------------------------------- to this: ----------------------------------------------------------------------------------------------- #if ENABLE(NETSCAPE_PLUGIN_API) void PluginView::keepAlive(NPP instance) { PluginView* view = instanceMap().get(instance); if (!view) return; view->keepAlive(); } NPError PluginView::getValueStatic(NPNVariable variable, void* value) { LOG(Plugins, "PluginView::getValueStatic(%s)", prettyNameForNPNVariable(variable).data()); NPError result; if (platformGetValueStatic(variable, value, &result)) return result; return NPERR_GENERIC_ERROR; } #endif ----------------------------------------------------------------------------------------------- and into PluginViewNone.cpp please change from this : ----------------------------------------------------------------------------------------------- #if ENABLE(NETSCAPE_PLUGIN_API) void PluginView::keepAlive(NPP) { } #endif void PluginView::privateBrowsingStateChanged(bool) { } void PluginView::setJavaScriptPaused(bool) { } ----------------------------------------------------------------------------------------------- to this: ----------------------------------------------------------------------------------------------- #if ENABLE(NETSCAPE_PLUGIN_API) void PluginView::keepAlive(NPP) { } void PluginView::privateBrowsingStateChanged(bool) { } void PluginView::setJavaScriptPaused(bool) { } #endif -----------------------------------------------------------------------------------------------
Jocelyn Turcotte
Comment 6 2010-04-26 03:54:13 PDT
A patch related to this got landed lately. Please tell if you still have problems compiling. *** This bug has been marked as a duplicate of bug 36621 ***
Note You need to log in before you can comment on or make changes to this bug.