[gdal-dev] compiling mongodb driver???

Jon P kusala9 at googlemail.com
Tue Jul 7 04:18:48 PDT 2015


Hi thanks do much for this. I think all the paths are ok but I'll check. The weird thing is that if I change the g++ line in the compile to add the library rather than with -lmongoclient it works apart from one boost link error looking for "filesystem2" I'll persevere. Thanks again for the help. Suspect the lib folders are broken...

J

51838-333-21

> On 6 Jul 2015, at 13:31, Even Rouault <even.rouault at spatialys.com> wrote:
> 
> Le lundi 06 juillet 2015 14:12:11, kusala nine a écrit :
>> I'm still struggling with compiling in the mongo driver to version 2.1 of
>> the source. I compile the mongocxx driver (scons --prefix=<dir>
>> --sharelibraries=yes install) and then use the build folder to point the
>> gdal build at the mongoclient.so but, even after a successful ./configure I
>> get the messages below. Looks to me like I'm missing symbols which should
>> be defined somewhere else - is libmongoclient.so the only thing external to
>> gdal that I need to link? Are the boost libraries included in the
>> mongo-cxx-driver? I have the rest of boost on the system and the driver
>> compiled fine but the final linking is where it falls over. all help
>> gratefully received...
> 
> I've added recently a "build instructions" section at the end of 
> http://gdal.org/drv_mongodb.html
> 
> From your errros, I'd say it looks like if libmongoclient.so itself is not 
> found (there might be an issue with boost libs too, but you'll see it once the 
> issue with libmongoclient is fixed). You should specify  --with-mongocxx to the 
> installation prefix of the mongoclient. So <dir> in your example.
> 
> Is there a libmongoclient.so in /home/ubuntu/gdal/mongo/mongo-cxx-
> driver/b2/lib ? Is  /home/ubuntu/gdal/mongo/mongo-cxx-driver/b2 the <dir> of 
> your scons command line ?
> 
>> 
>> Jon.
>> 
>> /bin/bash /home/ubuntu/gdal/gdal/gdal/libtool --mode=link       g++
>> gdalinfo.lo commonutils.lo  /home/ubuntu/gdal/gdal/gdal/libgdal.la -o
>> gdalinfo
>> libtool: link: g++ .libs/gdalinfo.o .libs/commonutils.o -o .libs/gdalinfo
>> /home/ubuntu/gdal/gdal/gdal/.libs/libgdal.so -L/usr/lib
>> -L/home/ubuntu/gdal/mongo/mongo-cxx-driver/b2/lib -lgeos_c
>> /usr/lib/x86_64-linux-gnu/libsqlite3.so -lodbc -lodbcinst
>> /usr/lib/x86_64-linux-gnu/libexpat.so /usr/lib/libxerces-c.so -lnsl
>> -ljasper -lnetcdf /usr/lib/libhdf5.so -lm /usr/lib/libmfhdfalt.so
>> /usr/lib/libdfalt.so /usr/lib/x86_64-linux-gnu/libgif.so -ljpeg -lpng -lpq
>> -lz -lpthread -lrt -ldl -lpcre /usr/lib/x86_64-linux-gnu/libcurl-gnutls.so
>> -lxml2 -lmongoclient -lboost_system -lboost_thread -lboost_regex
>> /home/ubuntu/gdal/gdal/gdal/.libs/libgdal.so: undefined reference to
>> `mongo::client::Options::setFIPSMode(bool)'
>> /home/ubuntu/gdal/gdal/gdal/.libs/libgdal.so: undefined reference to
>> `mongo::client::Options::setSSLPEMKeyFile(std::basic_string<char,
>> std::char_traits<char>, std::allocator<char> > const&)'
>> /home/ubuntu/gdal/gdal/gdal/.libs/libgdal.so: undefined reference to
>> `mongo::client::Options::setSSLCRLFile(std::basic_string<char,
>> std::char_traits<char>, std::allocator<char> > const&)'
>> /home/ubuntu/gdal/gdal/gdal/.libs/libgdal.so: undefined reference to
>> `mongo::client::shutdown()'
>> /home/ubuntu/gdal/gdal/gdal/.libs/libgdal.so: undefined reference to
>> `mongo::BSONObjBuilderValueStream::endField(mongo::StringData const&)'
>> /home/ubuntu/gdal/gdal/gdal/.libs/libgdal.so: undefined reference to
>> `mongo::client::initialize(mongo::client::Options const&)'
>> /home/ubuntu/gdal/gdal/gdal/.libs/libgdal.so: undefined reference to
>> `mongo::verifyFailed(char const*, char const*, unsigned int)'
>> /home/ubuntu/gdal/gdal/gdal/.libs/libgdal.so: undefined reference to
>> `mongo::BulkOperationBuilder::execute(mongo::WriteConcern const*,
>> mongo::WriteResult*)'
>> /home/ubuntu/gdal/gdal/gdal/.libs/libgdal.so: undefined reference to
>> `mongo::DBClientCursor::nextSafe()'
>> /home/ubuntu/gdal/gdal/gdal/.libs/libgdal.so: undefined reference to
>> `mongo::BSONElement::Array() const'
>> /home/ubuntu/gdal/gdal/gdal/.libs/libgdal.so: undefined reference to
>> `mongo::msgasserted(int, std::basic_string<char, std::char_traits<char>,
>> std::allocator<char> > const&)'
>> /home/ubuntu/gdal/gdal/gdal/.libs/libgdal.so: undefined reference to
>> `mongo::BulkOperationBuilder::~BulkOperationBuilder()'
>> /home/ubuntu/gdal/gdal/gdal/.libs/libgdal.so: undefined reference to
>> `mongo::BSONObjBuilder::appendElements(mongo::BSONObj)'
>> /home/ubuntu/gdal/gdal/gdal/.libs/libgdal.so: undefined reference to
>> `mongo::BSONObjBuilder::appendDate(mongo::StringData const&,
>> mongo::Date_t)' /home/ubuntu/gdal/gdal/gdal/.libs/libgdal.so: undefined
>> reference to
>> `mongo::BulkOperationBuilder::BulkOperationBuilder(mongo::DBClientBase*,
>> std::basic_string<char, std::char_traits<char>, std::allocator<char> >
>> const&, bool)'
>> /home/ubuntu/gdal/gdal/gdal/.libs/libgdal.so: undefined reference to
>> `mongo::BSONObjBuilder::appendElementsUnique(mongo::BSONObj)'
>> /home/ubuntu/gdal/gdal/gdal/.libs/libgdal.so: undefined reference to
>> `mongo::BSONObjBuilderValueStream::BSONObjBuilderValueStream(mongo::BSONObj
>> Builder*)' /home/ubuntu/gdal/gdal/gdal/.libs/libgdal.so: undefined
>> reference to `mongo::client::Options::setSSLCAFile(std::basic_string<char,
>> std::char_traits<char>, std::allocator<char> > const&)'
>> /home/ubuntu/gdal/gdal/gdal/.libs/libgdal.so: undefined reference to
>> `mongo::WriteResult::hasErrors() const'
>> /home/ubuntu/gdal/gdal/gdal/.libs/libgdal.so: undefined reference to
>> `mongo::client::Options::setSSLPEMKeyPassword(std::basic_string<char,
>> std::char_traits<char>, std::allocator<char> > const&)'
>> /home/ubuntu/gdal/gdal/gdal/.libs/libgdal.so: undefined reference to
>> `mongo::client::Options::setSSLMode(mongo::client::Options::SSLModes)'
>> /home/ubuntu/gdal/gdal/gdal/.libs/libgdal.so: undefined reference to
>> `mongo::DBClientConnection::DBClientConnection(bool,
>> mongo::DBClientReplicaSet*, double)'
>> /home/ubuntu/gdal/gdal/gdal/.libs/libgdal.so: undefined reference to
>> `mongo::client::Options::setSSLAllowInvalidCertificates(bool)'
>> /home/ubuntu/gdal/gdal/gdal/.libs/libgdal.so: undefined reference to
>> `mongo::DBClientWithCommands::auth(mongo::BSONObj const&)'
>> /home/ubuntu/gdal/gdal/gdal/.libs/libgdal.so: undefined reference to
>> `boost::filesystem2::detail::status_api(std::basic_string<char,
>> std::char_traits<char>, std::allocator<char> > const&,
>> boost::system::error_code&)'
>> /home/ubuntu/gdal/gdal/gdal/.libs/libgdal.so: undefined reference to
>> `mongo::DBClientWithCommands::findAndRemove(mongo::StringData const&,
>> mongo::BSONObj const&, mongo::BSONObj const&, mongo::BSONObj const&)'
>> /home/ubuntu/gdal/gdal/gdal/.libs/libgdal.so: undefined reference to
>> `mongo::DBClientWithCommands::getCollectionNames(std::basic_string<char,
>> std::char_traits<char>, std::allocator<char> > const&, mongo::BSONObj
>> const&)'
>> /home/ubuntu/gdal/gdal/gdal/.libs/libgdal.so: undefined reference to
>> `mongo::BSONObjBuilderValueStream::operator<<(mongo::BSONElement const&)'
>> /home/ubuntu/gdal/gdal/gdal/.libs/libgdal.so: undefined reference to
>> `mongo::IndexSpec::IndexSpec()'
>> /home/ubuntu/gdal/gdal/gdal/.libs/libgdal.so: undefined reference to
>> `mongo::client::Options::setSSLAllowInvalidHostnames(bool)'
>> /home/ubuntu/gdal/gdal/gdal/.libs/libgdal.so: undefined reference to
>> `mongo::WriteResult::WriteResult()'
>> /home/ubuntu/gdal/gdal/gdal/.libs/libgdal.so: undefined reference to
>> `mongo::client::Options::Options()'
>> /home/ubuntu/gdal/gdal/gdal/.libs/libgdal.so: undefined reference to
>> `mongo::HostAndPort::HostAndPort(mongo::StringData const&)'
>> /home/ubuntu/gdal/gdal/gdal/.libs/libgdal.so: undefined reference to
>> `mongo::Status::toString() const'
>> /home/ubuntu/gdal/gdal/gdal/.libs/libgdal.so: undefined reference to
>> `mongo::IndexSpec::addKeys(mongo::BSONObj const&)'
>> /home/ubuntu/gdal/gdal/gdal/.libs/libgdal.so: undefined reference to
>> `mongo::OID::toString() const'
>> /home/ubuntu/gdal/gdal/gdal/.libs/libgdal.so: undefined reference to
>> `mongo::BSONElement::Obj() const'
>> /home/ubuntu/gdal/gdal/gdal/.libs/libgdal.so: undefined reference to
>> `mongo::BSONObj::jsonString(mongo::JsonStringFormat, int, bool) const'
>> /home/ubuntu/gdal/gdal/gdal/.libs/libgdal.so: undefined reference to
>> `mongo::BulkOperationBuilder::insert(mongo::BSONObj const&)'
>> /home/ubuntu/gdal/gdal/gdal/.libs/libgdal.so: undefined reference to
>> `mongo::OID::init(std::basic_string<char, std::char_traits<char>,
>> std::allocator<char> > const&)'
>> /home/ubuntu/gdal/gdal/gdal/.libs/libgdal.so: undefined reference to
>> `mongo::invariantFailed(char const*, char const*, unsigned int)'
>> collect2: ld returned 1 exit status
>> make[1]: *** [gdalinfo] Error 1
>> make[1]: Leaving directory `/home/ubuntu/gdal/gdal/gdal/apps'
>> make: *** [apps-target] Error 2
>> 
>>> On Wed, Jun 24, 2015 at 4:28 PM, kusala nine <kusala9 at googlemail.com> wrote:
>>> great thanks - I'll have a go. many thanks for the pointer.
>>> 
>>> J
>>> 
>>> On Wed, Jun 24, 2015 at 4:23 PM, Even Rouault
>>> <even.rouault at spatialys.com>
>>> 
>>> wrote:
>>>> Jon,
>>>> 
>>>> It is in the development version (2.1.0dev), not 2.0.0. The website
>>>> displays
>>>> the doc of the dev version.
>>>> 
>>>> On Unix, you must use the following configure options:
>>>>  --with-mongocxx=ARG        Include MongoCXX support (ARG=Path, yes or
>>>> 
>>>> no)
>>>> 
>>>>  --with-boost-lib-path=ARG   Path to boost libraries for mongocxx
>>>>  client
>>>> 
>>>> On Windows, look at the directions in nmake.opt (search for MONGO)
>>>> 
>>>> Even
>>>> 
>>>>> Hi - has anyone got any pointers on compiling the mongodb drivers into
>>>> 
>>>> the
>>>> 
>>>>> latest 2.0.0 version of gdal. I've been watching for a while and the
>>>>> new 2.0.0 page has a table saying that mongo is included but not
>>>>> compiled
>>>> 
>>>> in by
>>>> 
>>>>> default. I've downloaded the libraries and compiled them from the link
>>>> 
>>>> on
>>>> 
>>>>> the gdal "vector formats" page but no idea how to integrate the mongo
>>>>> library into the rest of the ogr tools. I know there was a bit of
>>>> 
>>>> traffic
>>>> 
>>>>> about this a year ago but couldn't find anything more up to date. All
>>>> 
>>>> help
>>>> 
>>>>> gratefully received!....
>>>>> 
>>>>> thanks
>>>>> 
>>>>> Jon.(P).
>>>> 
>>>> --
>>>> Spatialys - Geospatial professional services
>>>> http://www.spatialys.com
> 
> -- 
> Spatialys - Geospatial professional services
> http://www.spatialys.com


More information about the gdal-dev mailing list