<div dir="ltr"><div>using ./configure CXXFLAGS="-D_GLIBCXX_USE_<wbr>CXX11_ABI=0" results in:</div><div><br></div><div>/tmp/gdal/gdal/libgdal.so: undefined reference to `PoDoFo::PdfMemDocument::<wbr>SetPassword(std::string const&)'</div><div>/tmp/gdal/gdal/libgdal.so: undefined reference to `mongo::client::Options::<wbr>setSSLPEMKeyFile(std::string const&)'</div><div>/tmp/gdal/gdal/libgdal.so: undefined reference to `mongo::client::Options::<wbr>setSSLCRLFile(std::string const&)'</div><div>/tmp/gdal/gdal/libgdal.so: undefined reference to `mongo::DBClientWithCommands::<wbr>auth(std::string const&, std::string const&, std::string const&, std::string&, bool)'</div><div>/tmp/gdal/gdal/libgdal.so: undefined reference to `mongo::msgasserted(int, std::string const&)'</div><div>/tmp/gdal/gdal/libgdal.so: undefined reference to `mongo::BulkOperationBuilder::<wbr>BulkOperationBuilder(mongo::<wbr>DBClientBase*, std::string const&, bool, bool)'</div><div>/tmp/gdal/gdal/libgdal.so: undefined reference to `kealib::KEAImageIO::setGCPs(<wbr>std::vector<kealib::<wbr>KEAImageGCP*, std::allocator<kealib::<wbr>KEAImageGCP*> >*, std::string)'</div><div>/tmp/gdal/gdal/libgdal.so: undefined reference to `kealib::KEAImageIO::<wbr>createKEAImage(std::string, kealib::KEADataType, unsigned int, unsigned int, unsigned int, std::vector<std::string, std::allocator<std::string> >*, kealib::KEAImageSpatialInfo*, unsigned int, unsigned int, int, unsigned long long, unsigned long long, double, unsigned long long, unsigned long long, unsigned int)'</div><div>/tmp/gdal/gdal/libgdal.so: undefined reference to `mongo::BSONObjBuilder::<wbr>numStrs'</div><div>/tmp/gdal/gdal/libgdal.so: undefined reference to `kealib::KEAImageIO::<wbr>getGCPProjection()'</div><div>/tmp/gdal/gdal/libgdal.so: undefined reference to `mongo::client::Options::<wbr>setSSLCAFile(std::string const&)'</div><div>/tmp/gdal/gdal/libgdal.so: undefined reference to `mongo::client::Options::<wbr>setSSLPEMKeyPassword(std::<wbr>string const&)'</div><div>/tmp/gdal/gdal/libgdal.so: undefined reference to `kealib::KEAImageIO::<wbr>getImageBandMetaData(unsigned int)'</div><div>/tmp/gdal/gdal/libgdal.so: undefined reference to `mongo::DBClientWithCommands::<wbr>getCollectionNames(std::string const&, mongo::BSONObj const&)'</div><div>/tmp/gdal/gdal/libgdal.so: undefined reference to `kealib::KEAImageIO::<wbr>isKEAImage(std::string)'</div><div>/tmp/gdal/gdal/libgdal.so: undefined reference to `kealib::KEAImageIO::<wbr>setImageMetaData(std::string, std::string)'</div><div>/tmp/gdal/gdal/libgdal.so: undefined reference to `kealib::KEAImageIO::<wbr>openKeaH5RDOnly(std::string, int, unsigned long long, unsigned long long, double, unsigned long long, unsigned long long)'</div><div>/tmp/gdal/gdal/libgdal.so: undefined reference to `mongo::DBClientWithCommands::<wbr>getDatabaseNames()'</div><div>/tmp/gdal/gdal/libgdal.so: undefined reference to `kealib::KEAImageIO::<wbr>openKeaH5RW(std::string, int, unsigned long long, unsigned long long, double, unsigned long long, unsigned long long)'</div><div>/tmp/gdal/gdal/libgdal.so: undefined reference to `mongo::ConnectionString::<wbr>parse(std::string const&, std::string&)'</div><div>/tmp/gdal/gdal/libgdal.so: undefined reference to `kealib::KEAImageIO::<wbr>getImageMetaData()'</div><div>/tmp/gdal/gdal/libgdal.so: undefined reference to `mongo::ConnectionString::<wbr>connect(std::string&, double) const'</div><div>/tmp/gdal/gdal/libgdal.so: undefined reference to `mongo::Status::toString() const'</div><div>/tmp/gdal/gdal/libgdal.so: undefined reference to `mongo::OID::toString() const'</div><div>/tmp/gdal/gdal/libgdal.so: undefined reference to `mongo::BSONElement::<wbr>jsonString(mongo::<wbr>JsonStringFormat, bool, int) const'</div><div>/tmp/gdal/gdal/libgdal.so: undefined reference to `kealib::KEAImageIO::<wbr>getImageBandDescription(<wbr>unsigned int)'</div><div>/tmp/gdal/gdal/libgdal.so: undefined reference to `mongo::BSONObj::jsonString(<wbr>mongo::JsonStringFormat, int, bool) const'</div><div>/tmp/gdal/gdal/libgdal.so: undefined reference to `kealib::KEAImageIO::<wbr>setImageBandMetaData(unsigned int, std::string, std::string)'</div><div>/tmp/gdal/gdal/libgdal.so: undefined reference to `kealib::KEAImageIO::<wbr>setImageBandDescription(<wbr>unsigned int, std::string)'</div><div>/tmp/gdal/gdal/libgdal.so: undefined reference to `mongo::OID::init(std::string const&)'</div><div>collect2: error: ld returned 1 exit status</div><div>make[1]: *** [gdalinfo] Error 1</div><div><br></div><div>and ./configure CXXFLAGS="-std=C++03 -D_GLIBCXX_USE_CXX11_ABI=0" results in:</div><div>configure: error: "You don't have a working C++ compiler." (I'm a java developer so not very familiar with c/c++ compilation)</div><div class="gmail_extra"></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Aug 4, 2016 at 4:02 PM, Even Rouault <span dir="ltr"><<a href="mailto:even.rouault@spatialys.com" target="_blank">even.rouault@spatialys.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">On Thursday 04 August 2016 15:59:22 Andrew Joseph wrote:<br>
> I had originally compiled without any of those flags (thought that might<br>
> have been the issue), but still get an error  though it is different:<br>
<br>
</span>You may need to pass -std=C++03 and/or -D_GLIBCXX_USE_CXX11_ABI=0 as CXXFLAGS.<br>
<div class="HOEnZb"><div class="h5"><br>
><br>
> /tmp/gdal/libgdal.so: undefined reference to<br>
> `FileGDBAPI::Geodatabase::<wbr>Delete(std::__cxx11::basic_<wbr>string<wchar_t,<br>
> std::char_traits<wchar_t>, std::allocator<wchar_t> > const&,<br>
> std::__cxx11::basic_string<<wbr>wchar_t, std::char_traits<wchar_t>,<br>
> std::allocator<wchar_t> > const&)'<br>
> /tmp/gdal/libgdal.so: undefined reference to<br>
> `FileGDBAPI::Row::SetFloat(<wbr>std::__cxx11::basic_string<<wbr>wchar_t,<br>
> std::char_traits<wchar_t>, std::allocator<wchar_t> > const&, float)'<br>
> /tmp/gdal/libgdal.so: undefined reference to<br>
> `kmlengine::Href::Parse(std::_<wbr>_cxx11::basic_string<char,<br>
> std::char_traits<char>, std::allocator<char> > const&)'<br>
> /tmp/gdal/libgdal.so: undefined reference to<br>
> `FileGDBAPI::Row::SetDouble(<wbr>std::__cxx11::basic_string<<wbr>wchar_t,<br>
> std::char_traits<wchar_t>, std::allocator<wchar_t> > const&, double)'<br>
> /tmp/gdal/libgdal.so: undefined reference to<br>
> `FileGDBAPI::Geodatabase::<wbr>GetQueryName(std::__cxx11::<wbr>basic_string<wchar_t,<br>
> std::char_traits<wchar_t>, std::allocator<wchar_t> > const&,<br>
> std::__cxx11::basic_string<<wbr>wchar_t, std::char_traits<wchar_t>,<br>
> std::allocator<wchar_t> >&) c                               onst'<br>
> /tmp/gdal/libgdal.so: undefined reference to<br>
> `FileGDBAPI::Row::GetDouble(<wbr>std::__cxx11::basic_string<<wbr>wchar_t,<br>
> std::char_traits<wchar_t>, std::allocator<wchar_t> > const&, double&) const'<br>
> /tmp/gdal/libgdal.so: undefined reference to<br>
> `FileGDBAPI::Geodatabase::<wbr>CreateTable(std::__cxx11::<wbr>basic_string<char,<br>
> std::char_traits<char>, std::allocator<char> > const&,<br>
> std::__cxx11::basic_string<<wbr>wchar_t, std::char_traits<wchar_t>,<br>
> std::allocator<wchar_t> > const&, FileG<br>
> DBAPI::Table&)'<br>
> /tmp/gdal/libgdal.so: undefined reference to<br>
> `FileGDBAPI::Row::SetGUID(std:<wbr>:__cxx11::basic_string<wchar_<wbr>t,<br>
> std::char_traits<wchar_t>, std::allocator<wchar_t> > const&,<br>
> FileGDBAPI::Guid const&)'<br>
> /tmp/gdal/libgdal.so: undefined reference to<br>
> `kmlengine::KmzFile::<wbr>ReadKmlAndGetPath(std::__<wbr>cxx11::basic_string<char,<br>
> std::char_traits<char>, std::allocator<char> >*,<br>
> std::__cxx11::basic_string<<wbr>char, std::char_traits<char>,<br>
> std::allocator<char> >*) const'<br>
> /tmp/gdal/libgdal.so: undefined reference to<br>
> `FileGDBAPI::Row::SetNull(std:<wbr>:__cxx11::basic_string<wchar_<wbr>t,<br>
> std::char_traits<wchar_t>, std::allocator<wchar_t> > const&)'<br>
> /tmp/gdal/libgdal.so: undefined reference to<br>
> `FileGDBAPI::FieldInfo::<wbr>GetFieldName(int,<br>
> std::__cxx11::basic_string<<wbr>wchar_t, std::char_traits<wchar_t>,<br>
> std::allocator<wchar_t> >&) const'<br>
> /tmp/gdal/libgdal.so: undefined reference to<br>
> `FileGDBAPI::OpenGeodatabase(<wbr>std::__cxx11::basic_string<<wbr>wchar_t,<br>
> std::char_traits<wchar_t>, std::allocator<wchar_t> > const&,<br>
> FileGDBAPI::Geodatabase&)'<br>
> /tmp/gdal/libgdal.so: undefined reference to<br>
> `FileGDBAPI::Row::GetFloat(<wbr>std::__cxx11::basic_string<<wbr>wchar_t,<br>
> std::char_traits<wchar_t>, std::allocator<wchar_t> > const&, float&) const'<br>
> /tmp/gdal/libgdal.so: undefined reference to<br>
> `FileGDBAPI::Row::GetDate(std:<wbr>:__cxx11::basic_string<wchar_<wbr>t,<br>
> std::char_traits<wchar_t>, std::allocator<wchar_t> > const&, tm&) const'<br>
> /tmp/gdal/libgdal.so: undefined reference to<br>
> `FileGDBAPI::Table::<wbr>GetDocumentation(std::__cxx11:<wbr>:basic_string<char,<br>
> std::char_traits<char>, std::allocator<char> >&) const'<br>
> /tmp/gdal/libgdal.so: undefined reference to<br>
> `FileGDBAPI::Row::SetShort(<wbr>std::__cxx11::basic_string<<wbr>wchar_t,<br>
> std::char_traits<wchar_t>, std::allocator<wchar_t> > const&, short)'<br>
> /tmp/gdal/libgdal.so: undefined reference to<br>
> `kmlengine::KmzFile::<wbr>OpenFromString(std::__cxx11::<wbr>basic_string<char,<br>
> std::char_traits<char>, std::allocator<char> > const&)'<br>
> /tmp/gdal/libgdal.so: undefined reference to<br>
> `FileGDBAPI::Geodatabase::<wbr>OpenTable(std::__cxx11::basic_<wbr>string<wchar_t,<br>
> std::char_traits<wchar_t>, std::allocator<wchar_t> > const&,<br>
> FileGDBAPI::Table&)'<br>
> /tmp/gdal/libgdal.so: undefined reference to<br>
> `FileGDBAPI::Geodatabase::<wbr>CreateFeatureDataset(std::__<wbr>cxx11::basic_string<ch<br>
> ar, std::char_traits<char>, std::allocator<char> > const&)'<br>
> /tmp/gdal/libgdal.so: undefined reference to<br>
> `FileGDBAPI::Row::SetDate(std:<wbr>:__cxx11::basic_string<wchar_<wbr>t,<br>
> std::char_traits<wchar_t>, std::allocator<wchar_t> > const&, tm const&)'<br>
> /tmp/gdal/libgdal.so: undefined reference to<br>
> `FileGDBAPI::Row::GetBinary(<wbr>std::__cxx11::basic_string<<wbr>wchar_t,<br>
> std::char_traits<wchar_t>, std::allocator<wchar_t> > const&,<br>
> FileGDBAPI::ByteArray&) const'<br>
> /tmp/gdal/libgdal.so: undefined reference to<br>
> `FileGDBAPI::Row::SetInteger(<wbr>std::__cxx11::basic_string<<wbr>wchar_t,<br>
> std::char_traits<wchar_t>, std::allocator<wchar_t> > const&, int)'<br>
> /tmp/gdal/libgdal.so: undefined reference to<br>
> `FileGDBAPI::Table::<wbr>DeleteField(std::__cxx11::<wbr>basic_string<wchar_t,<br>
> std::char_traits<wchar_t>, std::allocator<wchar_t> > const&)'<br>
> /tmp/gdal/libgdal.so: undefined reference to<br>
> `FileGDBAPI::Geodatabase::<wbr>ExecuteSQL(std::__cxx11::<wbr>basic_string<wchar_t,<br>
> std::char_traits<wchar_t>, std::allocator<wchar_t> > const&, bool,<br>
> FileGDBAPI::EnumRows&) const'<br>
> /tmp/gdal/libgdal.so: undefined reference to<br>
> `FileGDBAPI::<wbr>CreateGeodatabase(std::__<wbr>cxx11::basic_string<wchar_t,<br>
> std::char_traits<wchar_t>, std::allocator<wchar_t> > const&,<br>
> FileGDBAPI::Geodatabase&)'<br>
> /tmp/gdal/libgdal.so: undefined reference to<br>
> `FileGDBAPI::Geodatabase::<wbr>GetChildDatasets(std::__cxx11:<wbr>:basic_string<wchar_<br>
> t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&,<br>
> std::__cxx11::basic_string<<wbr>wchar_t, std::char_traits<wchar_t>,<br>
> std::allocator<wchar_t> >                                const&,<br>
> std::vector<std::__cxx11::<wbr>basic_string<wchar_t, std::char_traits<wchar_t>,<br>
> std::allocator<wchar_t> >,<br>
> std::allocator<std::__cxx11::<wbr>basic_string<wchar_t,<br>
> std::char_traits<wchar_t>, std::allocator<wchar_t> > > >&) const'<br>
> /tmp/gdal/libgdal.so: undefined reference to<br>
> `kmldom::SerializePretty[abi:<wbr>cxx11](boost::intrusive_ptr<<wbr>kmldom::Element><br>
> const&)'<br>
> /tmp/gdal/libgdal.so: undefined reference to<br>
> `kmldom::Parse(std::__cxx11::<wbr>basic_string<char, std::char_traits<char>,<br>
> std::allocator<char> > const&, std::__cxx11::basic_string<<wbr>char,<br>
> std::char_traits<char>, std::allocator<char> >*)'<br>
> /tmp/gdal/libgdal.so: undefined reference to<br>
> `FileGDBAPI::Table::AddField(<wbr>std::__cxx11::basic_string<<wbr>char,<br>
> std::char_traits<char>, std::allocator<char> > const&)'<br>
> /tmp/gdal/libgdal.so: undefined reference to<br>
> `FileGDBAPI::Row::SetBinary(<wbr>std::__cxx11::basic_string<<wbr>wchar_t,<br>
> std::char_traits<wchar_t>, std::allocator<wchar_t> > const&,<br>
> FileGDBAPI::ByteArray const&)'<br>
> /tmp/gdal/libgdal.so: undefined reference to<br>
> `FileGDBAPI::Guid::ToString(<wbr>std::__cxx11::basic_string<<wbr>wchar_t,<br>
> std::char_traits<wchar_t>, std::allocator<wchar_t> >&)'<br>
> /tmp/gdal/libgdal.so: undefined reference to<br>
> `FileGDBAPI::Row::IsNull(std::<wbr>__cxx11::basic_string<wchar_t,<br>
> std::char_traits<wchar_t>, std::allocator<wchar_t> > const&, bool&) const'<br>
> /tmp/gdal/libgdal.so: undefined reference to<br>
> `FileGDBAPI::Row::GetShort(<wbr>std::__cxx11::basic_string<<wbr>wchar_t,<br>
> std::char_traits<wchar_t>, std::allocator<wchar_t> > const&, short&) const'<br>
> /tmp/gdal/libgdal.so: undefined reference to<br>
> `FileGDBAPI::Row::GetXML(std::<wbr>__cxx11::basic_string<wchar_t,<br>
> std::char_traits<wchar_t>, std::allocator<wchar_t> > const&,<br>
> std::__cxx11::basic_string<<wbr>char, std::char_traits<char>,<br>
> std::allocator<char> >&) const'<br>
> /tmp/gdal/libgdal.so: undefined reference to<br>
> `FileGDBAPI::<wbr>DeleteGeodatabase(std::__<wbr>cxx11::basic_string<wchar_t,<br>
> std::char_traits<wchar_t>, std::allocator<wchar_t> > const&)'<br>
> /tmp/gdal/libgdal.so: undefined reference to<br>
> `FileGDBAPI::Row::GetInteger(<wbr>std::__cxx11::basic_string<<wbr>wchar_t,<br>
> std::char_traits<wchar_t>, std::allocator<wchar_t> > const&, int&) const'<br>
> /tmp/gdal/libgdal.so: undefined reference to<br>
> `FileGDBAPI::Table::Search(<wbr>std::__cxx11::basic_string<<wbr>wchar_t,<br>
> std::char_traits<wchar_t>, std::allocator<wchar_t> > const&,<br>
> std::__cxx11::basic_string<<wbr>wchar_t, std::char_traits<wchar_t>,<br>
> std::allocator<wchar_t> > const&, bool, F<br>
> ileGDBAPI::EnumRows&)'<br>
> /tmp/gdal/libgdal.so: undefined reference to<br>
> `FileGDBAPI::Row::GetString(<wbr>std::__cxx11::basic_string<<wbr>wchar_t,<br>
> std::char_traits<wchar_t>, std::allocator<wchar_t> > const&,<br>
> std::__cxx11::basic_string<<wbr>wchar_t, std::char_traits<wchar_t>,<br>
> std::allocator<wchar_t> >&) const'<br>
> /tmp/gdal/libgdal.so: undefined reference to<br>
> `FileGDBAPI::Guid::FromString(<wbr>std::__cxx11::basic_string<<wbr>wchar_t,<br>
> std::char_traits<wchar_t>, std::allocator<wchar_t> > const&)'<br>
> /tmp/gdal/libgdal.so: undefined reference to<br>
> `kmlengine::KmzFile::ReadFile(<wbr>char const*, std::__cxx11::basic_string<<wbr>char,<br>
> std::char_traits<char>, std::allocator<char> >*) const'<br>
> /tmp/gdal/libgdal.so: undefined reference to<br>
> `FileGDBAPI::Table::Search(<wbr>std::__cxx11::basic_string<<wbr>wchar_t,<br>
> std::char_traits<wchar_t>, std::allocator<wchar_t> > const&,<br>
> std::__cxx11::basic_string<<wbr>wchar_t, std::char_traits<wchar_t>,<br>
> std::allocator<wchar_t> > const&, FileGDB<br>
> API::Envelope const&, bool, FileGDBAPI::EnumRows&)'<br>
> /tmp/gdal/libgdal.so: undefined reference to<br>
> `FileGDBAPI::Row::SetXML(std::<wbr>__cxx11::basic_string<wchar_t,<br>
> std::char_traits<wchar_t>, std::allocator<wchar_t> > const&,<br>
> std::__cxx11::basic_string<<wbr>char, std::char_traits<char>,<br>
> std::allocator<char> > const&)'<br>
> /tmp/gdal/libgdal.so: undefined reference to<br>
> `FileGDBAPI::Table::<wbr>GetDefinition(std::__cxx11::<wbr>basic_string<char,<br>
> std::char_traits<char>, std::allocator<char> >&) const'<br>
> /tmp/gdal/libgdal.so: undefined reference to<br>
> `FileGDBAPI::Row::SetString(<wbr>std::__cxx11::basic_string<<wbr>wchar_t,<br>
> std::char_traits<wchar_t>, std::allocator<wchar_t> > const&,<br>
> std::__cxx11::basic_string<<wbr>wchar_t, std::char_traits<wchar_t>,<br>
> std::allocator<wchar_t> > const&)'<br>
> /tmp/gdal/libgdal.so: undefined reference to<br>
> `FileGDBAPI::ErrorInfo::<wbr>GetErrorDescription(int,<br>
> std::__cxx11::basic_string<<wbr>wchar_t, std::char_traits<wchar_t>,<br>
> std::allocator<wchar_t> >&)'<br>
> /tmp/gdal/libgdal.so: undefined reference to<br>
> `FileGDBAPI::Row::GetGUID(std:<wbr>:__cxx11::basic_string<wchar_<wbr>t,<br>
> std::char_traits<wchar_t>, std::allocator<wchar_t> > const&,<br>
> FileGDBAPI::Guid&) const'<br>
> collect2: error: ld returned 1 exit status<br>
> make[1]: *** [gdalinfo] Error 1<br>
><br>
><br>
> On Thu, Aug 4, 2016 at 3:26 PM, Even Rouault <<a href="mailto:even.rouault@spatialys.com">even.rouault@spatialys.com</a>><br>
><br>
> wrote:<br>
> > Andrew,<br>
> ><br>
> > Remove<br>
> > CXX="g++ -std=c++14" CPPFLAGS="-DMAKE_SANITIZE_<wbr>HAPPY -fsanitize=undefined<br>
> > -<br>
> > fsanitize=address" LDFLAGS="-fsanitize=undefined -fsanitize=address"<br>
> ><br>
> > from the configure.<br>
> ><br>
> > They are not intended for production use. More specifically the FGDB SDK<br>
> > doesn't like compiling with C++11 or 14.<br>
> ><br>
> > --<br>
> > Spatialys - Geospatial professional services<br>
> > <a href="http://www.spatialys.com" rel="noreferrer" target="_blank">http://www.spatialys.com</a><br>
<br>
--<br>
Spatialys - Geospatial professional services<br>
<a href="http://www.spatialys.com" rel="noreferrer" target="_blank">http://www.spatialys.com</a><br>
</div></div></blockquote></div><br></div>