[fdo-internals] Making the cmake build usable with MapGuide

Jackie Ng jumpinjackie at gmail.com
Fri Jun 14 00:40:40 PDT 2013

Hi All,

Given we're in a lull period now with the next major release of MapGuide/FDO
not realistically happening for another 6 months, I've had time to tackle
the cmake problem again to get it to produce binaries that can actually be
used by MapGuide.

As suggested by Johan, the stripping of SOVERSIONs and tacking the FDO
version number to the target name of each public FDO library seems to do the
trick. MapGuide appears to load FDO sos without issue.

However there's a strange side effect happening with at least one of the
providers. The SDF Provider for some reason segfaults trying to release
cached strings in the BinaryReader class. 

But here the thing: It's not the BinaryReader class in the SDF provider.
It's the BinaryReader class in the GwsQueryEngine which is part of MapGuide.
It's as though the wires are crossed somewhere and the SDF provider is using
the wrong BinaryReader class (from GwsQueryEngine and not from within
itself). I did a nm symbol comparison of both libSDFProvider.so and
libMgGwsQueryEngine.so grepped on "BinaryReader" and they do share some
identically mangled symbols for BinaryReader. Is this causing the crossing
of the wires?

There must be something in the cmake build that still not right and is
causing this strange behaviour. I suspect it's something to do with symbol
visibility and the linker settings, but this is all new to me. Any ideas?

- Jackie

View this message in context: http://osgeo-org.1560.x6.nabble.com/Making-the-cmake-build-usable-with-MapGuide-tp5060074.html
Sent from the FDO Internals mailing list archive at Nabble.com.

More information about the fdo-internals mailing list