Hi, is it possible to modify the PKGBUILD to download the 1.5.1 api and compile?
Search Criteria
Package Details: filegdb-api 1.5.1-5
Package Actions
Git Clone URL: | https://aur.archlinux.org/filegdb-api.git (read-only, click to copy) |
---|---|
Package Base: | filegdb-api |
Description: | ESRI File Geodatabase (FileGDB) API |
Upstream URL: | https://github.com/Esri/file-geodatabase-api |
Keywords: | GIS |
Licenses: | Apache |
Submitter: | okanisis |
Maintainer: | alireza6677 |
Last Packager: | alireza6677 |
Votes: | 3 |
Popularity: | 0.000068 |
First Submitted: | 2013-09-14 01:36 (UTC) |
Last Updated: | 2024-10-25 13:27 (UTC) |
Dependencies (2)
- gcc (gcc-gitAUR, gccrs-gitAUR, gcc11AUR, gcc-snapshotAUR) (make)
- libxml2 (libxml2-gitAUR, libxml2-2.9AUR) (make)
Required by (4)
- gdal-hdf4
- gdal-hdf4 (make)
- gdal-libkml-filegdb
- python-gdal-hdf4 (make)
Sources (1)
dobedobedo commented on 2018-07-03 10:30 (UTC)
alculquicondor commented on 2017-10-18 21:57 (UTC)
Upstream seems to have added support for gcc5.1+
https://github.com/Esri/file-geodatabase-api/blob/master/FileGDB_API_1.5.1/FileGDB_API_1_5_1-64gcc51.tar.gz
With this file, I was able to compile gdal with FileGDB support
bjdm commented on 2016-02-03 08:46 (UTC)
@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*
bjdm commented on 2016-02-03 08:05 (UTC)
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?
bjdm commented on 2016-02-03 08:05 (UTC)
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?
okanisis commented on 2016-01-25 18:32 (UTC)
@striges1111 Good work. Would you like to be a co-maintainer to make those changes?
striges1111 commented on 2016-01-18 02:57 (UTC)
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 (UTC)
@saultdon
Thanks Saultdon, compiling without the filegdb-api worked.
Have a great day,
okanisis commented on 2015-12-16 21:30 (UTC) (edited on 2015-12-16 21:31 (UTC) by okanisis)
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 (UTC)
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!
Pinned Comments
alireza6677 commented on 2023-09-24 08:51 (UTC)
Hi, I'm the new maintainer. I've updated the
PKGBUILD
and it should now work without any errors.