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 Bugs | Assignee: | 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
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 | ||
---|---|---|
Add attachment proposed patch, testcase, etc. |
Mirko Scavazzin
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ø
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ø
(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
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
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
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 ***