need help installing Mongo C Driver v1.8.0 on Ubuntu 15.10 x86_64

79 views
Skip to first unread message

rohangrover1

unread,
Sep 19, 2017, 4:07:38 PM9/19/17
to mongodb-user
Hi, 

I am trying to install the Mongo C driver v1.8.0 on Ubuntu 15.10 x86_64 . The configuration settings are as below. I am trying to install in a different folder than the default. 

When I do > sudo make I get the following errors. Can someone please advise on how I can resolve this error. Thanks

./configure --prefix=/home/rohan/Federated/Ccode/lambda-package/mongodb/mongo-c-driver-1.8.0/mongo-libraries --exec-prefix=/home/rohan/Federated/Ccode/lambda-package/mongodb/mongo-c-driver-1.8.0/mongo-libraries --disable-automatic-init-and-cleanup --enable-static=yes --enable-shared=no --enable-ssl=yes

libbson 1.8.0 was configured with the following options:

Build configuration:
  Enable debugging (slow)                          : no
  Enable extra alignment (required for 1.0 ABI)    : yes
  Compile with debug symbols (slow)                : no
  Enable GCC build optimization                    : yes
  Code coverage support                            : no
  Cross Compiling                                  : no
  Big endian                                       : no
  Link Time Optimization (experimental)            : no

Documentation:
  man                                              : no
  HTML                                             : no


libmongoc 1.8.0 was configured with the following options:

Build configuration:
  Enable debugging (slow)                          : no
  Compile with debug symbols (slow)                : no
  Enable GCC build optimization                    : yes
  Enable automatic init and cleanup                : no
  Enable maintainer flags                          : no
  Code coverage support                            : no
  Cross Compiling                                  : no
  Fast counters                                    : no
  Shared memory performance counters               : yes
  SASL                                             : sasl2
  SSL                                              : openssl
  Snappy Compression                               : bundled
  Zlib Compression                                 : system
  Libbson                                          : bundled

Documentation:
  man                                              : no
  HTML                                             : no


Error message when using >sudo make

 CC       tests/test_libmongoc-test-mongoc-stream-tls.o
  CC       tests/test_libmongoc-test-mongoc-stream-tls-error.o
  CC       tests/test_libmongoc-ssl-test.o
  CC       tests/test_libmongoc-test-mongoc-cyrus.o
  CCLD     test-libmongoc
/home/rohan/Federated/Ccode/lambda-package/mongodb/mongo-c-driver-1.8.0/.libs/libsnappy.a(libsnappy_la-snappy.o): In function `snappy::internal::WorkingMemory::GetHashTable(unsigned long, int*)':
snappy.cc:(.text+0x641): undefined reference to `operator new[](unsigned long)'
/home/rohan/Federated/Ccode/lambda-package/mongodb/mongo-c-driver-1.8.0/.libs/libsnappy.a(libsnappy_la-snappy.o): In function `snappy::Compress(snappy::Source*, snappy::Sink*)':
snappy.cc:(.text+0x16a4): undefined reference to `operator new[](unsigned long)'
snappy.cc:(.text+0x1895): undefined reference to `operator new[](unsigned long)'
snappy.cc:(.text+0x19b1): undefined reference to `operator delete[](void*)'
snappy.cc:(.text+0x19ca): undefined reference to `operator delete[](void*)'
/home/rohan/Federated/Ccode/lambda-package/mongodb/mongo-c-driver-1.8.0/.libs/libsnappy.a(libsnappy_la-snappy.o): In function `snappy::Uncompress(char const*, unsigned long, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*)':
snappy.cc:(.text+0x1c64): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::max_size() const'
/home/rohan/Federated/Ccode/lambda-package/mongodb/mongo-c-driver-1.8.0/.libs/libsnappy.a(libsnappy_la-snappy.o): In function `snappy::Compress(char const*, unsigned long, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*)':
snappy.cc:(.text+0x1ede): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::resize(unsigned long)'
snappy.cc:(.text+0x1f1a): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::resize(unsigned long)'
/home/rohan/Federated/Ccode/lambda-package/mongodb/mongo-c-driver-1.8.0/.libs/libsnappy.a(libsnappy_la-snappy.o): In function `snappy::STLStringResizeUninitialized(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*, unsigned long)':
snappy.cc:(.text._ZN6snappy28STLStringResizeUninitializedEPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEm[_ZN6snappy28STLStringResizeUninitializedEPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEm]+0x1f): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::resize(unsigned long)'
/home/rohan/Federated/Ccode/lambda-package/mongodb/mongo-c-driver-1.8.0/.libs/libsnappy.a(libsnappy_la-snappy.o): In function `snappy::string_as_array(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*)':
snappy.cc:(.text._ZN6snappy15string_as_arrayEPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE[_ZN6snappy15string_as_arrayEPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE]+0x24): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::empty() const'
snappy.cc:(.text._ZN6snappy15string_as_arrayEPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE[_ZN6snappy15string_as_arrayEPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE]+0x40): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::begin()'
/home/rohan/Federated/Ccode/lambda-package/mongodb/mongo-c-driver-1.8.0/.libs/libsnappy.a(libsnappy_la-snappy.o): In function `snappy::internal::WorkingMemory::~WorkingMemory()':
snappy.cc:(.text._ZN6snappy8internal13WorkingMemoryD2Ev[_ZN6snappy8internal13WorkingMemoryD5Ev]+0x2b): undefined reference to `operator delete[](void*)'
/home/rohan/Federated/Ccode/lambda-package/mongodb/mongo-c-driver-1.8.0/.libs/libsnappy.a(libsnappy_la-snappy.o): In function `snappy::SnappySinkAllocator::Allocate(int)':
snappy.cc:(.text._ZN6snappy19SnappySinkAllocator8AllocateEi[_ZN6snappy19SnappySinkAllocator8AllocateEi]+0x2e): undefined reference to `operator new[](unsigned long)'
/home/rohan/Federated/Ccode/lambda-package/mongodb/mongo-c-driver-1.8.0/.libs/libsnappy.a(libsnappy_la-snappy.o): In function `snappy::SnappySinkAllocator::Deleter(void*, char const*, unsigned long)':
snappy.cc:(.text._ZN6snappy19SnappySinkAllocator7DeleterEPvPKcm[_ZN6snappy19SnappySinkAllocator7DeleterEPvPKcm]+0x23): undefined reference to `operator delete[](void*)'
/home/rohan/Federated/Ccode/lambda-package/mongodb/mongo-c-driver-1.8.0/.libs/libsnappy.a(libsnappy_la-snappy.o): In function `std::vector<snappy::SnappySinkAllocator::Datablock, std::allocator<snappy::SnappySinkAllocator::Datablock> >::_M_insert_aux(__gnu_cxx::__normal_iterator<snappy::SnappySinkAllocator::Datablock*, std::vector<snappy::SnappySinkAllocator::Datablock, std::allocator<snappy::SnappySinkAllocator::Datablock> > >, snappy::SnappySinkAllocator::Datablock const&)':
snappy.cc:(.text._ZNSt6vectorIN6snappy19SnappySinkAllocator9DatablockESaIS2_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS2_S4_EERKS2_[_ZNSt6vectorIN6snappy19SnappySinkAllocator9DatablockESaIS2_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS2_S4_EERKS2_]+0x280): undefined reference to `__cxa_begin_catch'
snappy.cc:(.text._ZNSt6vectorIN6snappy19SnappySinkAllocator9DatablockESaIS2_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS2_S4_EERKS2_[_ZNSt6vectorIN6snappy19SnappySinkAllocator9DatablockESaIS2_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS2_S4_EERKS2_]+0x2e8): undefined reference to `__cxa_rethrow'
snappy.cc:(.text._ZNSt6vectorIN6snappy19SnappySinkAllocator9DatablockESaIS2_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS2_S4_EERKS2_[_ZNSt6vectorIN6snappy19SnappySinkAllocator9DatablockESaIS2_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS2_S4_EERKS2_]+0x2f0): undefined reference to `__cxa_end_catch'
/home/rohan/Federated/Ccode/lambda-package/mongodb/mongo-c-driver-1.8.0/.libs/libsnappy.a(libsnappy_la-snappy.o): In function `std::vector<snappy::SnappySinkAllocator::Datablock, std::allocator<snappy::SnappySinkAllocator::Datablock> >::_M_check_len(unsigned long, char const*) const':
snappy.cc:(.text._ZNKSt6vectorIN6snappy19SnappySinkAllocator9DatablockESaIS2_EE12_M_check_lenEmPKc[_ZNKSt6vectorIN6snappy19SnappySinkAllocator9DatablockESaIS2_EE12_M_check_lenEmPKc]+0x5b): undefined reference to `std::__throw_length_error(char const*)'
/home/rohan/Federated/Ccode/lambda-package/mongodb/mongo-c-driver-1.8.0/.libs/libsnappy.a(libsnappy_la-snappy.o): In function `__gnu_cxx::new_allocator<snappy::SnappySinkAllocator::Datablock>::deallocate(snappy::SnappySinkAllocator::Datablock*, unsigned long)':
snappy.cc:(.text._ZN9__gnu_cxx13new_allocatorIN6snappy19SnappySinkAllocator9DatablockEE10deallocateEPS3_m[_ZN9__gnu_cxx13new_allocatorIN6snappy19SnappySinkAllocator9DatablockEE10deallocateEPS3_m]+0x1c): undefined reference to `operator delete(void*)'
/home/rohan/Federated/Ccode/lambda-package/mongodb/mongo-c-driver-1.8.0/.libs/libsnappy.a(libsnappy_la-snappy.o): In function `__gnu_cxx::new_allocator<snappy::SnappySinkAllocator::Datablock>::allocate(unsigned long, void const*)':
snappy.cc:(.text._ZN9__gnu_cxx13new_allocatorIN6snappy19SnappySinkAllocator9DatablockEE8allocateEmPKv[_ZN9__gnu_cxx13new_allocatorIN6snappy19SnappySinkAllocator9DatablockEE8allocateEmPKv]+0x2c): undefined reference to `std::__throw_bad_alloc()'
snappy.cc:(.text._ZN9__gnu_cxx13new_allocatorIN6snappy19SnappySinkAllocator9DatablockEE8allocateEmPKv[_ZN9__gnu_cxx13new_allocatorIN6snappy19SnappySinkAllocator9DatablockEE8allocateEmPKv]+0x3c): undefined reference to `operator new(unsigned long)'
/home/rohan/Federated/Ccode/lambda-package/mongodb/mongo-c-driver-1.8.0/.libs/libsnappy.a(libsnappy_la-snappy.o): In function `snappy::SnappySinkAllocator::Datablock* std::__uninitialized_copy<false>::__uninit_copy<__gnu_cxx::__normal_iterator<snappy::SnappySinkAllocator::Datablock const*, std::vector<snappy::SnappySinkAllocator::Datablock, std::allocator<snappy::SnappySinkAllocator::Datablock> > >, snappy::SnappySinkAllocator::Datablock*>(__gnu_cxx::__normal_iterator<snappy::SnappySinkAllocator::Datablock const*, std::vector<snappy::SnappySinkAllocator::Datablock, std::allocator<snappy::SnappySinkAllocator::Datablock> > >, __gnu_cxx::__normal_iterator<snappy::SnappySinkAllocator::Datablock const*, std::vector<snappy::SnappySinkAllocator::Datablock, std::allocator<snappy::SnappySinkAllocator::Datablock> > >, snappy::SnappySinkAllocator::Datablock*)':
snappy.cc:(.text._ZNSt20__uninitialized_copyILb0EE13__uninit_copyIN9__gnu_cxx17__normal_iteratorIPKN6snappy19SnappySinkAllocator9DatablockESt6vectorIS6_SaIS6_EEEEPS6_EET0_T_SF_SE_[_ZNSt20__uninitialized_copyILb0EE13__uninit_copyIN9__gnu_cxx17__normal_iteratorIPKN6snappy19SnappySinkAllocator9DatablockESt6vectorIS6_SaIS6_EEEEPS6_EET0_T_SF_SE_]+0x77): undefined reference to `__cxa_begin_catch'
snappy.cc:(.text._ZNSt20__uninitialized_copyILb0EE13__uninit_copyIN9__gnu_cxx17__normal_iteratorIPKN6snappy19SnappySinkAllocator9DatablockESt6vectorIS6_SaIS6_EEEEPS6_EET0_T_SF_SE_[_ZNSt20__uninitialized_copyILb0EE13__uninit_copyIN9__gnu_cxx17__normal_iteratorIPKN6snappy19SnappySinkAllocator9DatablockESt6vectorIS6_SaIS6_EEEEPS6_EET0_T_SF_SE_]+0x8f): undefined reference to `__cxa_rethrow'
snappy.cc:(.text._ZNSt20__uninitialized_copyILb0EE13__uninit_copyIN9__gnu_cxx17__normal_iteratorIPKN6snappy19SnappySinkAllocator9DatablockESt6vectorIS6_SaIS6_EEEEPS6_EET0_T_SF_SE_[_ZNSt20__uninitialized_copyILb0EE13__uninit_copyIN9__gnu_cxx17__normal_iteratorIPKN6snappy19SnappySinkAllocator9DatablockESt6vectorIS6_SaIS6_EEEEPS6_EET0_T_SF_SE_]+0x97): undefined reference to `__cxa_end_catch'
/home/rohan/Federated/Ccode/lambda-package/mongodb/mongo-c-driver-1.8.0/.libs/libsnappy.a(libsnappy_la-snappy.o): In function `__gnu_cxx::new_allocator<char*>::deallocate(char**, unsigned long)':
snappy.cc:(.text._ZN9__gnu_cxx13new_allocatorIPcE10deallocateEPS1_m[_ZN9__gnu_cxx13new_allocatorIPcE10deallocateEPS1_m]+0x1c): undefined reference to `operator delete(void*)'
/home/rohan/Federated/Ccode/lambda-package/mongodb/mongo-c-driver-1.8.0/.libs/libsnappy.a(libsnappy_la-snappy.o): In function `std::vector<char*, std::allocator<char*> >::_M_insert_aux(__gnu_cxx::__normal_iterator<char**, std::vector<char*, std::allocator<char*> > >, char* const&)':
snappy.cc:(.text._ZNSt6vectorIPcSaIS0_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS0_S2_EERKS0_[_ZNSt6vectorIPcSaIS0_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS0_S2_EERKS0_]+0x272): undefined reference to `__cxa_begin_catch'
snappy.cc:(.text._ZNSt6vectorIPcSaIS0_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS0_S2_EERKS0_[_ZNSt6vectorIPcSaIS0_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS0_S2_EERKS0_]+0x2db): undefined reference to `__cxa_rethrow'
snappy.cc:(.text._ZNSt6vectorIPcSaIS0_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS0_S2_EERKS0_[_ZNSt6vectorIPcSaIS0_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS0_S2_EERKS0_]+0x2e3): undefined reference to `__cxa_end_catch'
/home/rohan/Federated/Ccode/lambda-package/mongodb/mongo-c-driver-1.8.0/.libs/libsnappy.a(libsnappy_la-snappy.o): In function `std::vector<char*, std::allocator<char*> >::_M_check_len(unsigned long, char const*) const':
snappy.cc:(.text._ZNKSt6vectorIPcSaIS0_EE12_M_check_lenEmPKc[_ZNKSt6vectorIPcSaIS0_EE12_M_check_lenEmPKc]+0x5b): undefined reference to `std::__throw_length_error(char const*)'
/home/rohan/Federated/Ccode/lambda-package/mongodb/mongo-c-driver-1.8.0/.libs/libsnappy.a(libsnappy_la-snappy.o): In function `__gnu_cxx::new_allocator<char*>::allocate(unsigned long, void const*)':
snappy.cc:(.text._ZN9__gnu_cxx13new_allocatorIPcE8allocateEmPKv[_ZN9__gnu_cxx13new_allocatorIPcE8allocateEmPKv]+0x2c): undefined reference to `std::__throw_bad_alloc()'
snappy.cc:(.text._ZN9__gnu_cxx13new_allocatorIPcE8allocateEmPKv[_ZN9__gnu_cxx13new_allocatorIPcE8allocateEmPKv]+0x3c): undefined reference to `operator new(unsigned long)'
/home/rohan/Federated/Ccode/lambda-package/mongodb/mongo-c-driver-1.8.0/.libs/libsnappy.a(libsnappy_la-snappy.o):(.eh_frame+0x1ab): undefined reference to `__gxx_personality_v0'
/home/rohan/Federated/Ccode/lambda-package/mongodb/mongo-c-driver-1.8.0/.libs/libsnappy.a(libsnappy_la-snappy-sinksource.o): In function `snappy::Source::~Source()':
snappy-sinksource.cc:(.text+0x29): undefined reference to `operator delete(void*)'
/home/rohan/Federated/Ccode/lambda-package/mongodb/mongo-c-driver-1.8.0/.libs/libsnappy.a(libsnappy_la-snappy-sinksource.o): In function `snappy::Source::~Source()':
snappy-sinksource.cc:(.text+0x50): undefined reference to `operator delete(void*)'
/home/rohan/Federated/Ccode/lambda-package/mongodb/mongo-c-driver-1.8.0/.libs/libsnappy.a(libsnappy_la-snappy-sinksource.o): In function `snappy::Sink::~Sink()':
snappy-sinksource.cc:(.text+0x7f): undefined reference to `operator delete(void*)'
/home/rohan/Federated/Ccode/lambda-package/mongodb/mongo-c-driver-1.8.0/.libs/libsnappy.a(libsnappy_la-snappy-sinksource.o): In function `snappy::Sink::~Sink()':
snappy-sinksource.cc:(.text+0xa6): undefined reference to `operator delete(void*)'
/home/rohan/Federated/Ccode/lambda-package/mongodb/mongo-c-driver-1.8.0/.libs/libsnappy.a(libsnappy_la-snappy-sinksource.o): In function `snappy::ByteArraySource::~ByteArraySource()':
snappy-sinksource.cc:(.text+0x179): undefined reference to `operator delete(void*)'
/home/rohan/Federated/Ccode/lambda-package/mongodb/mongo-c-driver-1.8.0/.libs/libsnappy.a(libsnappy_la-snappy-sinksource.o):snappy-sinksource.cc:(.text+0x1a0): more undefined references to `operator delete(void*)' follow
/home/rohan/Federated/Ccode/lambda-package/mongodb/mongo-c-driver-1.8.0/.libs/libsnappy.a(libsnappy_la-snappy-sinksource.o):(.rodata._ZTVN6snappy4SinkE[_ZTVN6snappy4SinkE]+0x20): undefined reference to `__cxa_pure_virtual'
/home/rohan/Federated/Ccode/lambda-package/mongodb/mongo-c-driver-1.8.0/.libs/libsnappy.a(libsnappy_la-snappy-sinksource.o):(.rodata._ZTVN6snappy6SourceE[_ZTVN6snappy6SourceE]+0x20): undefined reference to `__cxa_pure_virtual'
/home/rohan/Federated/Ccode/lambda-package/mongodb/mongo-c-driver-1.8.0/.libs/libsnappy.a(libsnappy_la-snappy-sinksource.o):(.rodata._ZTVN6snappy6SourceE[_ZTVN6snappy6SourceE]+0x28): undefined reference to `__cxa_pure_virtual'
/home/rohan/Federated/Ccode/lambda-package/mongodb/mongo-c-driver-1.8.0/.libs/libsnappy.a(libsnappy_la-snappy-sinksource.o):(.rodata._ZTVN6snappy6SourceE[_ZTVN6snappy6SourceE]+0x30): undefined reference to `__cxa_pure_virtual'
/home/rohan/Federated/Ccode/lambda-package/mongodb/mongo-c-driver-1.8.0/.libs/libsnappy.a(libsnappy_la-snappy-sinksource.o):(.rodata._ZTIN6snappy22UncheckedByteArraySinkE[_ZTIN6snappy22UncheckedByteArraySinkE]+0x0): undefined reference to `vtable for __cxxabiv1::__si_class_type_info'
/home/rohan/Federated/Ccode/lambda-package/mongodb/mongo-c-driver-1.8.0/.libs/libsnappy.a(libsnappy_la-snappy-sinksource.o):(.rodata._ZTIN6snappy15ByteArraySourceE[_ZTIN6snappy15ByteArraySourceE]+0x0): undefined reference to `vtable for __cxxabiv1::__si_class_type_info'
/home/rohan/Federated/Ccode/lambda-package/mongodb/mongo-c-driver-1.8.0/.libs/libsnappy.a(libsnappy_la-snappy-sinksource.o):(.rodata._ZTIN6snappy6SourceE[_ZTIN6snappy6SourceE]+0x0): undefined reference to `vtable for __cxxabiv1::__class_type_info'
/home/rohan/Federated/Ccode/lambda-package/mongodb/mongo-c-driver-1.8.0/.libs/libsnappy.a(libsnappy_la-snappy-sinksource.o):(.rodata._ZTIN6snappy4SinkE[_ZTIN6snappy4SinkE]+0x0): undefined reference to `vtable for __cxxabiv1::__class_type_info'
collect2: error: ld returned 1 exit status
Makefile:2657: recipe for target 'test-libmongoc' failed
make[1]: *** [test-libmongoc] Error 1
make[1]: Leaving directory '/home/rohan/Federated/Ccode/lambda-package/mongodb/mongo-c-driver-1.8.0'
Makefile:5010: recipe for target 'all-recursive' failed
make: *** [all-recursive] Error 1








Hannes Magnusson

unread,
Sep 19, 2017, 5:20:39 PM9/19/17
to mongodb-user
The easiest fix would be do either configure with --with-snappy=no
Or install snappy (libsnappy-dev) on your system.

Things get a bit tricky when creating a static library which embed the C++ sources of Snappy. I recommend installing snappy on the system rather then using the bundled version when creating a static libmongoc lib.

Out of curiosity, why are you disabling the shared lib and only building the static lib?

-Hannes
Reply all
Reply to author
Forward
0 new messages