Opened 6 years ago
Closed 6 years ago
#6771 closed defect (wontfix)
Compilation with FileGDB: Compilation fails when '--with-fgdb' is passed to configure. Error: 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&)'
Reported by: | dreieck | Owned by: | warmerdam |
---|---|---|---|
Priority: | normal | Milestone: | |
Component: | default | Version: | 2.1.1 |
Severity: | normal | Keywords: | build, compilation, fgdb, FileGDB |
Cc: |
Description
When I try to compile gdal 2.1.1 on my Arch Linux system (64 bit) with fgdb enabled (--with-fgdb=/usr
passed to configure
), it fails with the following error messages:
/var/abs/local/own/gdal-custom/src/gdal-2.1.1/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&)' /var/abs/local/own/gdal-custom/src/gdal-2.1.1/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)' /var/abs/local/own/gdal-custom/src/gdal-2.1.1/libgdal.so: undefined reference to `FileGDBAPI::Row::SetDouble(std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&, double)' /var/abs/local/own/gdal-custom/src/gdal-2.1.1/libgdal.so: undefined reference to `FileGDBAPI::Geodatabase::GetQueryName(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' /var/abs/local/own/gdal-custom/src/gdal-2.1.1/libgdal.so: undefined reference to `FileGDBAPI::Row::GetDouble(std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&, double&) const' /var/abs/local/own/gdal-custom/src/gdal-2.1.1/libgdal.so: undefined reference to `FileGDBAPI::Geodatabase::CreateTable(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&, FileGDBAPI::Table&)' /var/abs/local/own/gdal-custom/src/gdal-2.1.1/libgdal.so: undefined reference to `FileGDBAPI::Row::SetGUID(std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&, FileGDBAPI::Guid const&)' /var/abs/local/own/gdal-custom/src/gdal-2.1.1/libgdal.so: undefined reference to `FileGDBAPI::Row::SetNull(std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&)' /var/abs/local/own/gdal-custom/src/gdal-2.1.1/libgdal.so: undefined reference to `FileGDBAPI::FieldInfo::GetFieldName(int, std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >&) const' /var/abs/local/own/gdal-custom/src/gdal-2.1.1/libgdal.so: undefined reference to `FileGDBAPI::OpenGeodatabase(std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&, FileGDBAPI::Geodatabase&)' /var/abs/local/own/gdal-custom/src/gdal-2.1.1/libgdal.so: undefined reference to `FileGDBAPI::Row::GetFloat(std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&, float&) const' /var/abs/local/own/gdal-custom/src/gdal-2.1.1/libgdal.so: undefined reference to `FileGDBAPI::Row::GetDate(std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&, tm&) const' /var/abs/local/own/gdal-custom/src/gdal-2.1.1/libgdal.so: undefined reference to `FileGDBAPI::Table::GetDocumentation(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&) const' /var/abs/local/own/gdal-custom/src/gdal-2.1.1/libgdal.so: undefined reference to `FileGDBAPI::Row::SetShort(std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&, short)' /var/abs/local/own/gdal-custom/src/gdal-2.1.1/libgdal.so: undefined reference to `FileGDBAPI::Geodatabase::OpenTable(std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&, FileGDBAPI::Table&)' /var/abs/local/own/gdal-custom/src/gdal-2.1.1/libgdal.so: undefined reference to `FileGDBAPI::Geodatabase::CreateFeatureDataset(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)' /var/abs/local/own/gdal-custom/src/gdal-2.1.1/libgdal.so: undefined reference to `FileGDBAPI::Row::SetDate(std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&, tm const&)' /var/abs/local/own/gdal-custom/src/gdal-2.1.1/libgdal.so: undefined reference to `FileGDBAPI::Row::GetBinary(std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&, FileGDBAPI::ByteArray&) const' /var/abs/local/own/gdal-custom/src/gdal-2.1.1/libgdal.so: undefined reference to `FileGDBAPI::Row::SetInteger(std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&, int)' /var/abs/local/own/gdal-custom/src/gdal-2.1.1/libgdal.so: undefined reference to `FileGDBAPI::Table::DeleteField(std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&)' /var/abs/local/own/gdal-custom/src/gdal-2.1.1/libgdal.so: undefined reference to `FileGDBAPI::Geodatabase::ExecuteSQL(std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&, bool, FileGDBAPI::EnumRows&) const' /var/abs/local/own/gdal-custom/src/gdal-2.1.1/libgdal.so: undefined reference to `FileGDBAPI::CreateGeodatabase(std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&, FileGDBAPI::Geodatabase&)' /var/abs/local/own/gdal-custom/src/gdal-2.1.1/libgdal.so: undefined reference to `FileGDBAPI::Geodatabase::GetChildDatasets(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&, std::vector<std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >, std::allocator<std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > > >&) const' /var/abs/local/own/gdal-custom/src/gdal-2.1.1/libgdal.so: undefined reference to `FileGDBAPI::Table::AddField(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)' /var/abs/local/own/gdal-custom/src/gdal-2.1.1/libgdal.so: undefined reference to `FileGDBAPI::Row::SetBinary(std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&, FileGDBAPI::ByteArray const&)' /var/abs/local/own/gdal-custom/src/gdal-2.1.1/libgdal.so: undefined reference to `FileGDBAPI::Guid::ToString(std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >&)' /var/abs/local/own/gdal-custom/src/gdal-2.1.1/libgdal.so: undefined reference to `FileGDBAPI::Row::IsNull(std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&, bool&) const' /var/abs/local/own/gdal-custom/src/gdal-2.1.1/libgdal.so: undefined reference to `FileGDBAPI::Row::GetShort(std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&, short&) const' /var/abs/local/own/gdal-custom/src/gdal-2.1.1/libgdal.so: undefined reference to `FileGDBAPI::Row::GetXML(std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&) const' /var/abs/local/own/gdal-custom/src/gdal-2.1.1/libgdal.so: undefined reference to `FileGDBAPI::DeleteGeodatabase(std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&)' /var/abs/local/own/gdal-custom/src/gdal-2.1.1/libgdal.so: undefined reference to `FileGDBAPI::Row::GetInteger(std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&, int&) const' /var/abs/local/own/gdal-custom/src/gdal-2.1.1/libgdal.so: undefined reference to `FileGDBAPI::Table::Search(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&, bool, FileGDBAPI::EnumRows&)' /var/abs/local/own/gdal-custom/src/gdal-2.1.1/libgdal.so: undefined reference to `FileGDBAPI::Row::GetString(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' /var/abs/local/own/gdal-custom/src/gdal-2.1.1/libgdal.so: undefined reference to `FileGDBAPI::Guid::FromString(std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&)' /var/abs/local/own/gdal-custom/src/gdal-2.1.1/libgdal.so: undefined reference to `FileGDBAPI::Table::Search(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&, FileGDBAPI::Envelope const&, bool, FileGDBAPI::EnumRows&)' /var/abs/local/own/gdal-custom/src/gdal-2.1.1/libgdal.so: undefined reference to `FileGDBAPI::Row::SetXML(std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)' /var/abs/local/own/gdal-custom/src/gdal-2.1.1/libgdal.so: undefined reference to `FileGDBAPI::Table::GetDefinition(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&) const' /var/abs/local/own/gdal-custom/src/gdal-2.1.1/libgdal.so: undefined reference to `FileGDBAPI::Row::SetString(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&)' /var/abs/local/own/gdal-custom/src/gdal-2.1.1/libgdal.so: undefined reference to `FileGDBAPI::ErrorInfo::GetErrorDescription(int, std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >&)' /var/abs/local/own/gdal-custom/src/gdal-2.1.1/libgdal.so: undefined reference to `FileGDBAPI::Row::GetGUID(std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&, FileGDBAPI::Guid&) const' collect2: error: ld returned 1 exit status
I use the following commands to build gdal (taken from the official Arch Linux PKGBUILD, and modified):
The package filegdb-api
is installed.
As additional information, the following files are attached:
PKGBUILD
used to build the package in the way to produce the error,- a configuration and compilation output (
stdout
andstderr
combined) when the package is built with--with-fgdb=/usr
, - a configuration and compilation output (
stdout
andstderr
combined) when the package is built with--without-fgdb
, - the contents of my installed package
filegdb-api
.
Attachments (4)
Change History (6)
by , 6 years ago
Attachment: | PKGBUILD.with-fgdb=usr added |
---|
by , 6 years ago
Attachment: | makepkg.with-fgdb=usr.log.xz added |
---|
Compile log (stdout and stderr) with '--with-fgdb=/usr'.
by , 6 years ago
Attachment: | makepkg.without-fgdb.log.xz added |
---|
Compile log (stdout and stderr) with '--without-fgdb'.
by , 6 years ago
Attachment: | filegdb-api.packagecontent added |
---|
Content of the Arch Linux package 'filegdb-api'.
comment:1 by , 6 years ago
Keywords: | FileGDB added |
---|---|
Summary: | compilation fails when '--with-fgdb' is passed to configure. Error: 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&)' → Compilation with FileGDB: Compilation fails when '--with-fgdb' is passed to configure. Error: 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&)' |
comment:2 by , 6 years ago
Resolution: | → wontfix |
---|---|
Status: | new → closed |
This is an ABI issue. The FileGDB SDK is only available with the old C++ ABI. See https://trac.osgeo.org/gdal/wiki/FileGDB#HowtodealwithGCC5.1C11ABIonLinux
PKGBUILD with '--with-fgdb=/usr'.