Warning: file_exists(): open_basedir restriction in effect. File(/srv/http/vhosts/aur.archlinux.org/public/web/locale//en/LC_MESSAGES/aurweb.mo) is not within the allowed path(s): (/srv/http/vhosts/aur-dev.archlinux.org/:/etc/aurweb/) in /srv/http/vhosts/aur-dev.archlinux.org/public/web/lib/streams.php on line 90
AUR (en) - filegdb-api

Notice: Undefined variable: name in /srv/http/vhosts/aur-dev.archlinux.org/public/web/lib/pkgfuncs.inc.php on line 248

Package Details: filegdb-api 1.4-2

Git Clone URL: https://aur-dev.archlinux.org/filegdb-api.git (read-only)
Package Base: filegdb-api
Description: ESRI File Geodatabase (FileGDB) API
Upstream URL: http://www.esri.com/apps/products/download/#File_Geodatabase_API_1.3
Keywords: GIS
Licenses: custom:"ESRI - User Restrictions"
Submitter: saultdon
Maintainer: saultdon
Last Packager: saultdon
Votes: 2
Popularity: 0.000431
First Submitted: 2013-09-14 01:36
Last Updated: 2016-08-09 18:17

Dependencies (3)

Required by (1)

Sources (1)

Latest Comments

1 2 Next › Last »

eraptic commented on 2016-02-03 08:46

@striges1111 & @saultdon, Please ignore my last comment. I was in a rush to get home from work and was adding to CFLAGS not CPPFLAGS *facepalm*

eraptic commented on 2016-02-03 08:05

Hi @striges1111, I was just wondering if you would be able to give a little more information as to the fix you described? I have tried adding -D_GLIBCXX_USE_CXX11_ABI=0 to CFLAGs but still didn't have any luck. I didn't quite understand what you meant to adding it to 'make.include'.

@saultdon: any chance of having the patch merged into the PKGBUILD at all?

eraptic commented on 2016-02-03 08:05

Hi @striges1111, I was just wondering if you would be able to give a little more information as to the fix you described? I have tried adding -D_GLIBCXX_USE_CXX11_ABI=0 to CFLAGs but still didn't have any luck. I didn't quite understand what you meant to adding it to 'make.include'.

@saultdon: any chance of having the patch merged into the PKGBUILD at all?

saultdon commented on 2016-01-25 18:32

@striges1111 Good work. Would you like to be a co-maintainer to make those changes?

striges1111 commented on 2016-01-18 02:57

Hi @saultdon,

The ABI issue against gcc 5.x could be solved by adding -D_GLIBCXX_USE_CXX11_ABI=0 in `make.include`. Could you update the PKGBUILD using this patch? In addition, new Makefile in v1.4 filegdb-api seems already included /usr/include/libxml2.


diff --git a/PKGBUILD b/PKGBUILD
index afbfcb3..bb73055 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -35,6 +35,9 @@ build() {
#Setup LD_LIBRARY_PATH
export LD_LIBRARY_PATH=$srcdir/${pkgname}/lib:$LD_LIBRARY_PATH

+ #Modify make.include to use old ABI
+ cd "$srcdir/${pkgname}/include"
+ sed -i '/-D_LARGEFILE64_SOURCE/ s/$/ -D_GLIBCXX_USE_CXX11_ABI=0/' make.include

#Building all samples
cd "$srcdir/${pkgname}/samples"
@@ -44,8 +47,8 @@ build() {
cd "$srcdir/${pkgname}/samples/ProcessTopologies"

# Insert libxml2 library path to Makefile
- sed -i '/^CXXFLAGS=/ s/$/ -I\/usr\/include\/libxml2\//' Makefile
- make
+ #sed -i '/^CXXFLAGS=/ s/$/ -I\/usr\/include\/libxml2\//' Makefile
+ #make
}

d7rk commented on 2015-12-18 08:42

@saultdon
Thanks Saultdon, compiling without the filegdb-api worked.
Have a great day,

saultdon commented on 2015-12-16 21:30

Hey @d7rk, I think this is going to be an upstream fix we have to wait for because I can't think of anything off the top of my head for a patch. I think it's related to the GCC C++ ABI change recently.

In regards to the gdal-filegdb package, I was able to compile that after removing filegdb-api from the depends array, removing --with-fgdb=/usr from the configure, and then uninstalling the gdal-grass plugin package (gdal-grass can be recompiled again once grass is re-compiled if that's installed).

But that of course leaves gdal-filegdb lacking ESRI FileGDB API driver support, but it comes with the OpenFileGDB driver by default now which at least gives you read access to file geodatabases (I can't remember if there are write limitations...).

d7rk commented on 2015-12-14 13:11

Hi Saultdon,

Building of this package fails, resulting in failure of building gdal-filegdb and thus of qgis. (or maybe it is the same error when building gdal-filegdb).

Here is the issue:
[code]
==> Starting build()...
make -C Domains
make[1]: Entering directory '/home/v/tmp/yaourt-tmp-v/aur-filegdb-api/src/filegdb-api/samples/Domains'
g++ -fPIC -O3 -m64 -W -fexceptions -D_CONSOLE -DUNICODE -D_UNICODE -DUNIX -D_REENTRANT -DFILEGDB_API -D__USE_FILE_OFFSET64 -DUNIX_FILEGDB_API -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -I../../include -I. -D_FORTIFY_SOURCE=2 -Dlinux -c Domains.cpp
g++ -fPIC -O3 -m64 -W -fexceptions -D_CONSOLE -DUNICODE -D_UNICODE -DUNIX -D_REENTRANT -DFILEGDB_API -D__USE_FILE_OFFSET64 -DUNIX_FILEGDB_API -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -I../../include -I. -m64 -L"../../lib" -o ../bin/Domains ./Domains.o -lFileGDBAPI
./Domains.o: In function `main':
Domains.cpp:(.text.startup+0x7b): undefined reference to `FileGDBAPI::OpenGeodatabase(std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&, FileGDBAPI::Geodatabase&)'
Domains.cpp:(.text.startup+0xd4): undefined reference to `FileGDBAPI::ErrorInfo::GetErrorDescription(int, std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >&)'
Domains.cpp:(.text.startup+0x185): undefined reference to `FileGDBAPI::Geodatabase::DeleteDomain(std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&)'
Domains.cpp:(.text.startup+0x21d): undefined reference to `FileGDBAPI::Geodatabase::DeleteDomain(std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&)'
Domains.cpp:(.text.startup+0x533): undefined reference to `FileGDBAPI::Geodatabase::CreateDomain(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
Domains.cpp:(.text.startup+0x56f): undefined reference to `FileGDBAPI::ErrorInfo::GetErrorDescription(int, std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >&)'
Domains.cpp:(.text.startup+0x684): undefined reference to `FileGDBAPI::Geodatabase::GetDomainDefinition(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'
Domains.cpp:(.text.startup+0x6d8): undefined reference to `FileGDBAPI::ErrorInfo::GetErrorDescription(int, std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >&)'
Domains.cpp:(.text.startup+0x96e): undefined reference to `FileGDBAPI::Geodatabase::CreateDomain(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
Domains.cpp:(.text.startup+0x9aa): undefined reference to `FileGDBAPI::ErrorInfo::GetErrorDescription(int, std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >&)'
Domains.cpp:(.text.startup+0xb87): undefined reference to `FileGDBAPI::Geodatabase::AlterDomain(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
Domains.cpp:(.text.startup+0xbc0): undefined reference to `FileGDBAPI::ErrorInfo::GetErrorDescription(int, std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >&)'
Domains.cpp:(.text.startup+0xce9): undefined reference to `FileGDBAPI::Geodatabase::OpenTable(std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&, FileGDBAPI::Table&)'
Domains.cpp:(.text.startup+0xd40): undefined reference to `FileGDBAPI::ErrorInfo::GetErrorDescription(int, std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >&)'
Domains.cpp:(.text.startup+0xec2): undefined reference to `FileGDBAPI::Table::AlterField(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
Domains.cpp:(.text.startup+0xefb): undefined reference to `FileGDBAPI::ErrorInfo::GetErrorDescription(int, std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >&)'
Domains.cpp:(.text.startup+0xf7b): undefined reference to `FileGDBAPI::ErrorInfo::GetErrorRecord(int, int&, std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >&)'
Domains.cpp:(.text.startup+0x1124): undefined reference to `FileGDBAPI::Table::AlterField(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
Domains.cpp:(.text.startup+0x115d): undefined reference to `FileGDBAPI::ErrorInfo::GetErrorDescription(int, std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >&)'
Domains.cpp:(.text.startup+0x11dd): undefined reference to `FileGDBAPI::ErrorInfo::GetErrorRecord(int, int&, std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >&)'
Domains.cpp:(.text.startup+0x12f4): undefined reference to `FileGDBAPI::ErrorInfo::GetErrorDescription(int, std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >&)'
collect2: error: ld returned 1 exit status
Makefile:30: recipe for target '../bin/Domains' failed
make[1]: *** [../bin/Domains] Error 1
make[1]: Leaving directory '/home/v/tmp/yaourt-tmp-v/aur-filegdb-api/src/filegdb-api/samples/Domains'
Makefile:27: recipe for target 'Domains' failed
make: *** [Domains] Error 2
==> ERROR: A failure occurred in build().
Aborting...
==> ERROR: Makepkg was unable to build filegdb-api.
[/code]

Would you have any idea? Thanks!

marcelhuber commented on 2014-07-01 08:17

Just for clarification of the last comment of mine:
The -Dlinux define is needed for successful building on linux.
The following code snippet shows the relevant section:

#ifndef EXPORT_FILEGDB_API
# if defined linux || defined __APPLE__
# define EXT_FILEGDB_API
# else
# define EXT_FILEGDB_API _declspec(dllimport)
# endif
#else

marcelhuber commented on 2014-07-01 08:13

Just for clarification of the last comment of mine:
The -Dlinux define is needed for successful building on linux. Curiously the dependant package gdal-filegdb defines it.
The following code snippet shows the relevant section:

#ifndef EXPORT_FILEGDB_API
# if defined linux || defined __APPLE__
# define EXT_FILEGDB_API
# else
# define EXT_FILEGDB_API _declspec(dllimport)
# endif
#else
...