something is wrong with the "facebook_integration" module

Tomaz Canabrava tcanabrava at kde.org
Mon Nov 9 06:25:15 PST 2015


On Mon, Nov 9, 2015 at 11:21 AM, Lubomir I. Ivanov <neolit123 at gmail.com>
wrote:

> hey Tomaz,
>
> cmake version 3.2.0-rc2, native Windows.
>
> with the latest master i get thousands of "undefined references" errors.
>
>
> CMakeFiles\facebook_integration.dir/objects.a(facebookconnectwidget.cpp.obj):
> In function `ZN15FacebookManager8sendDiveEv':
>
> C:/dev/subsurface/desktop-widgets/plugins/facebook/facebookconnectwidget.cpp:223:
> undefined reference to `ProfileWidget2::setToolTipVisibile(bool)'
>
> C:/dev/subsurface/desktop-widgets/plugins/facebook/facebookconnectwidget.cpp:225:
> undefined reference to `ProfileWidget2::setToolTipVisibile(bool)'
> ../../../subsurface-core/libsubsurface_corelib.a(parse-xml.c.obj): In
> function `visit_one_node':
> C:/dev/subsurface/subsurface-core/parse-xml.c:1852: undefined
> reference to `xmlIsBlankNode'
> ../../../subsurface-core/libsubsurface_corelib.a(parse-xml.c.obj): In
> function `preprocess_divelog_de':
> C:/dev/subsurface/subsurface-core/parse-xml.c:2005: undefined
> reference to `xmlCreateMemoryParserCtxt'
> C:/dev/subsurface/subsurface-core/parse-xml.c:2006: undefined
> reference to `xmlStringLenDecodeEntities'
> ../../../subsurface-core/libsubsurface_corelib.a(parse-xml.c.obj): In
> function `parse_xml_buffer':
> C:/dev/subsurface/subsurface-core/parse-xml.c:2021: undefined
> reference to `xmlReadMemory'
> C:/dev/subsurface/subsurface-core/parse-xml.c:2032: undefined
> reference to `xmlDocGetRootElement'
> C:/dev/subsurface/subsurface-core/parse-xml.c:2037: undefined
> reference to `xmlFreeDoc'
> ../../../subsurface-core/libsubsurface_corelib.a(parse-xml.c.obj): In
> function `dm4_dive':
> <more....>
>
> i saw your recent patch;
> "Link the facebook plugin against the subsurface_interface"
>

Hey

to me it looks like that in my case the facebook module is not linked
> both to the core and the desktop-widget modules.
>
> if set the following in the cmake CMD line:
> -DDISABLE_PLUGINS=1 -DFBSUPPORT=1
> all is good.
>

and you get no facebook support.

any idea what is causing that? perhaps my older cmake...
>

I don't think it's your old cmake. Dirk also told me that those caused
problems on Mac. I think I'll have to reestructure the libsubsurface_core
and others to be dynamic because of the plugin, this won't change anything
on the programming side besides a few exports.


> BTW, why did you decide to introduce plugins in Subsurface? are there
> benefits over any possible complications that the plugins may
> introduce.
>

yes: it's now simpler to create a new SocialNetwork integration by creating
a new plugin for it. think of G+, Diaspora, Instagram, etc.


>
> also, unless i'm mistaken, if a plugin is static linked against the
> same .a modules that the executable is linked (core, profile,
> desktop-widges, etc) aren't we are going to distribute the same code
> twice and the plugin size is going to be quite large?
>

Probably, and maybe this is the reason why it's failing.
Please, continue to compile without facebook integration, I'll try to fix
that here by transforming the subsurface_core and subsurface_interface into
dynamic libraries.


>
> lubomir
> --
>

Other than that - it's easy to revert and not use plugins for subsurface, I
liked the code separation that I did but it would work as non-library too.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.subsurface-divelog.org/pipermail/subsurface/attachments/20151109/0394e7e8/attachment-0001.html>


More information about the subsurface mailing list