Changes between Version 40 and Version 41 of FileGDB


Ignore:
Timestamp:
Sep 19, 2016, 8:12:59 AM (8 years ago)
Author:
Even Rouault
Comment:

Add a paragraph "How to deal with GCC >= 5.1 C++11 ABI on Linux"

Legend:

Unmodified
Added
Removed
Modified
  • FileGDB

    v40 v41  
    8282}}}
    8383
     84=== How to deal with GCC >= 5.1 C++11 ABI on Linux ===
     85
     86Starting with GCC 5.1, GCC links against [https://gcc.gnu.org/onlinedocs/libstdc++/manual/using_dual_abi.html libstdc++ using the C++11 ABI]. This cause issues with FileGDB ABI SDK (at least with 1.4 and earlier versions) which are provided using the old C++ ABI.
     87
     88You'll get linking issues such as
     89{{{
     90.libs/libgdal.so: undefined reference to `FileGDBAPI::Geodatabase::Delete(std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&, std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&)'
     91.libs/libgdal.so: undefined reference to `FileGDBAPI::Row::SetFloat(std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&, float)'
     92}}}
     93
     94To workaround this, run configure with:
     95{{{
     96$ CXXFLAGS="-D_GLIBCXX_USE_CXX11_ABI=0" ./configure --with-fgdb=/usr/local/FileGDB_API
     97}}}
     98
     99Note that by doing so, you might have issues if using C++ gdal dependencies built with the new ABI, or if using GDAL in a C++ software built with the new ABI. No perfect solution exists until ESRI releases a new binary compiled with the new libstdc++ ABI.
     100
    84101== Testing the driver ==
    85102