[PATCH] gnu: gdal: add python support

DoneSubmitted by Arne Babenhauserheide.
Details
4 participants
  • Arne Babenhauserheide
  • 宋文武
  • Julien Lepiller
  • Ludovic Courtès
Owner
unassigned
Severity
normal
A
A
Arne Babenhauserheide wrote on 12 Jul 2019 23:32
(address . guix-patches@gnu.org)(name . Arne Babenhauserheide)(address . arne_bab@web.de)
20190712213247.23250-1-arne_bab@web.de
* gnu/packages/geo.scm (gdal): add python support--- gnu/packages/geo.scm | 29 +++++++++++++++++++++++++++-- 1 file changed, 27 insertions(+), 2 deletions(-)
Toggle diff (66 lines)diff --git a/gnu/packages/geo.scm b/gnu/packages/geo.scmindex 4cccd97643..3e2ec04b53 100644--- a/gnu/packages/geo.scm+++ b/gnu/packages/geo.scm@@ -537,6 +537,8 @@ development.") (build-system gnu-build-system) (arguments `(#:tests? #f+ ;; validating runpath does not work yet for Python, so skip this phase.+ #:validate-runpath? #f #:configure-flags (let-syntax ((with (syntax-rules () ((_ option input)@@ -544,6 +546,10 @@ development.") (assoc-ref %build-inputs input)))))) (list ;; TODO: --with-pcidsk, --with-pcraster+ ;; Add $libdir to the RUNPATH of all the executables.+ (string-append "LDFLAGS=-Wl,-rpath=" %output "/apps/.libs")+ (string-append "LD_RUN_PATH=" %output "/apps/.libs")+ (string-append "LD_LIBRARY_PATH=" %output "/apps/.libs") (with "--with-freexl" "freexl") (with "--with-libjson-c" "json-c") (with "--with-png" "libpng")@@ -553,13 +559,27 @@ development.") (with "--with-libtiff" "libtiff") (with "--with-geotiff" "libgeotiff") (with "--with-libz" "zlib")- "--with-pcre"))+ "--with-pcre"+ "--with-python")) #:phases (modify-phases %standard-phases (add-before 'build 'fix-path (lambda _ (substitute* "frmts/mrf/mrf_band.cpp"- (("\"../zlib/zlib.h\"") "<zlib.h>")))))))+ (("\"../zlib/zlib.h\"") "<zlib.h>"))))+ (add-after+ 'unpack 'patch-test-shebangs+ (lambda _+ (substitute* '("apps/GNUmakefile")+ (("/bin/sh") (which "sh")))+ #t))+ (add-after+ 'unpack 'patch-test-shebangs+ (lambda _+ (substitute* '("GDALmake.opt.in")+ (("LDFLAGS = @LDFLAGS@") (string-append "LDFLAGS = @LDFLAGS@ -Wl,-rpath=" %output "/apps -Wl,-rpath=" %output "/apps/.libs")))+ #t)+ )))) (inputs `(("freexl" ,freexl) ("geos" ,geos)@@ -572,6 +592,11 @@ development.") ("libwebp" ,libwebp) ("pcre" ,pcre) ("zlib" ,zlib)))+ (native-inputs+ `(("pkg-config" ,pkg-config)))+ (propagated-inputs+ `(("python" ,python)+ ("python-setuptools" ,python-setuptools))) (home-page "http://www.gdal.org/") (synopsis "Raster and vector geospatial data format library") (description "GDAL is a translator library for raster and vector geospatial
--2.22.0
J
J
Julien Lepiller wrote on 13 Jul 2019 10:15
5E0BF317-99AC-43D9-9E30-1528A1A61DAA@lepiller.eu
Le 12 juillet 2019 23:32:47 GMT+02:00, Arne Babenhauserheide <arne_bab@web.de> a écrit :
Toggle quote (60 lines)>* gnu/packages/geo.scm (gdal): add python support>---> gnu/packages/geo.scm | 29 +++++++++++++++++++++++++++--> 1 file changed, 27 insertions(+), 2 deletions(-)>>diff --git a/gnu/packages/geo.scm b/gnu/packages/geo.scm>index 4cccd97643..3e2ec04b53 100644>--- a/gnu/packages/geo.scm>+++ b/gnu/packages/geo.scm>@@ -537,6 +537,8 @@ development.")> (build-system gnu-build-system)> (arguments> `(#:tests? #f>+ ;; validating runpath does not work yet for Python, so skip>this phase.>+ #:validate-runpath? #f> #:configure-flags> (let-syntax ((with (syntax-rules ()> ((_ option input)>@@ -544,6 +546,10 @@ development.")> (assoc-ref %build-inputs input))))))> (list> ;; TODO: --with-pcidsk, --with-pcraster>+ ;; Add $libdir to the RUNPATH of all the executables.>+ (string-append "LDFLAGS=-Wl,-rpath=" %output "/apps/.libs")>+ (string-append "LD_RUN_PATH=" %output "/apps/.libs")>+ (string-append "LD_LIBRARY_PATH=" %output "/apps/.libs")> (with "--with-freexl" "freexl")> (with "--with-libjson-c" "json-c")> (with "--with-png" "libpng")>@@ -553,13 +559,27 @@ development.")> (with "--with-libtiff" "libtiff")> (with "--with-geotiff" "libgeotiff")> (with "--with-libz" "zlib")>- "--with-pcre"))>+ "--with-pcre">+ "--with-python"))> #:phases> (modify-phases %standard-phases> (add-before 'build 'fix-path> (lambda _> (substitute* "frmts/mrf/mrf_band.cpp">- (("\"../zlib/zlib.h\"") "<zlib.h>")))))))>+ (("\"../zlib/zlib.h\"") "<zlib.h>"))))>+ (add-after>+ 'unpack 'patch-test-shebangs>+ (lambda _>+ (substitute* '("apps/GNUmakefile")>+ (("/bin/sh") (which "sh")))>+ #t))>+ (add-after>+ 'unpack 'patch-test-shebangs>+ (lambda _>+ (substitute* '("GDALmake.opt.in")>+ (("LDFLAGS = @LDFLAGS@") (string-append "LDFLAGS >= @LDFLAGS@ -Wl,-rpath=" %output "/apps -Wl,-rpath=" %output>"/apps/.libs")))>+ #t)>+ ))))
Could you rename that phase to something like 'patch-rpath? Is it needed since you already pass it to the configure?
Toggle quote (13 lines)> (inputs> `(("freexl" ,freexl)> ("geos" ,geos)>@@ -572,6 +592,11 @@ development.")> ("libwebp" ,libwebp)> ("pcre" ,pcre)> ("zlib" ,zlib)))>+ (native-inputs>+ `(("pkg-config" ,pkg-config)))>+ (propagated-inputs>+ `(("python" ,python)>+ ("python-setuptools" ,python-setuptools)))
Is setuptools really necessary at runtime? Can we patch gdal so to embed python's store path? I'd prefer not to propagate it.
Toggle quote (7 lines)> (home-page "http://www.gdal.org/")> (synopsis "Raster and vector geospatial data format library")>(description "GDAL is a translator library for raster and vector>geospatial>-->2.22.0
Thank you!
A
A
Arne Babenhauserheide wrote on 13 Jul 2019 23:14
(name . Julien Lepiller)(address . julien@lepiller.eu)(address . 36623@debbugs.gnu.org)
87pnmdr60f.fsf@web.de
Julien Lepiller <julien@lepiller.eu> writes:
Toggle quote (63 lines)> Le 12 juillet 2019 23:32:47 GMT+02:00, Arne Babenhauserheide <arne_bab@web.de> a écrit :>>* gnu/packages/geo.scm (gdal): add python support>>--->> gnu/packages/geo.scm | 29 +++++++++++++++++++++++++++-->> 1 file changed, 27 insertions(+), 2 deletions(-)>>>>diff --git a/gnu/packages/geo.scm b/gnu/packages/geo.scm>>index 4cccd97643..3e2ec04b53 100644>>--- a/gnu/packages/geo.scm>>+++ b/gnu/packages/geo.scm>>@@ -537,6 +537,8 @@ development.")>> (build-system gnu-build-system)>> (arguments>> `(#:tests? #f>>+ ;; validating runpath does not work yet for Python, so skip>>this phase.>>+ #:validate-runpath? #f>> #:configure-flags>> (let-syntax ((with (syntax-rules ()>> ((_ option input)>>@@ -544,6 +546,10 @@ development.")>> (assoc-ref %build-inputs input))))))>> (list>> ;; TODO: --with-pcidsk, --with-pcraster>>+ ;; Add $libdir to the RUNPATH of all the executables.>>+ (string-append "LDFLAGS=-Wl,-rpath=" %output "/apps/.libs")>>+ (string-append "LD_RUN_PATH=" %output "/apps/.libs")>>+ (string-append "LD_LIBRARY_PATH=" %output "/apps/.libs")>> (with "--with-freexl" "freexl")>> (with "--with-libjson-c" "json-c")>> (with "--with-png" "libpng")>>@@ -553,13 +559,27 @@ development.")>> (with "--with-libtiff" "libtiff")>> (with "--with-geotiff" "libgeotiff")>> (with "--with-libz" "zlib")>>- "--with-pcre"))>>+ "--with-pcre">>+ "--with-python"))>> #:phases>> (modify-phases %standard-phases>> (add-before 'build 'fix-path>> (lambda _>> (substitute* "frmts/mrf/mrf_band.cpp">>- (("\"../zlib/zlib.h\"") "<zlib.h>")))))))>>+ (("\"../zlib/zlib.h\"") "<zlib.h>"))))>>+ (add-after>>+ 'unpack 'patch-test-shebangs>>+ (lambda _>>+ (substitute* '("apps/GNUmakefile")>>+ (("/bin/sh") (which "sh")))>>+ #t))>>+ (add-after>>+ 'unpack 'patch-test-shebangs>>+ (lambda _>>+ (substitute* '("GDALmake.opt.in")>>+ (("LDFLAGS = @LDFLAGS@") (string-append "LDFLAGS >>= @LDFLAGS@ -Wl,-rpath=" %output "/apps -Wl,-rpath=" %output>>"/apps/.libs")))>>+ #t)>>+ ))))>> Could you rename that phase to something like 'patch-rpath? Is it needed since you already pass it to the configure?
Renamed, see the new patch :-)
I did not get this to work without it.
Toggle quote (15 lines)>> (inputs>> `(("freexl" ,freexl)>> ("geos" ,geos)>>@@ -572,6 +592,11 @@ development.")>> ("libwebp" ,libwebp)>> ("pcre" ,pcre)>> ("zlib" ,zlib)))>>+ (native-inputs>>+ `(("pkg-config" ,pkg-config)))>>+ (propagated-inputs>>+ `(("python" ,python)>>+ ("python-setuptools" ,python-setuptools)))>> Is setuptools really necessary at runtime? Can we patch gdal so to embed python's store path? I'd prefer not to propagate it.
I’m not really sure why it is, but I did not get it workingwithout. Activating Python-support was harder than I thought (but I needit working for a project on a deadline).
Toggle quote (9 lines)>> (home-page "http://www.gdal.org/")>> (synopsis "Raster and vector geospatial data format library")>>(description "GDAL is a translator library for raster and vector>>geospatial>>-->>2.22.0>> Thank you!
Thank you for reviewing!
From 5f8b1dc1bb5ce7b061bcca10174f9330cf89696c Mon Sep 17 00:00:00 2001From: Arne Babenhauserheide <arne_bab@web.de>Date: Sat, 11 May 2019 15:16:22 +0200Subject: [PATCH] gnu: gdal: add python support
* gnu/packages/geo.scm (gdal): add python support--- gnu/packages/geo.scm | 29 +++++++++++++++++++++++++++-- 1 file changed, 27 insertions(+), 2 deletions(-)
Toggle diff (68 lines)diff --git a/gnu/packages/geo.scm b/gnu/packages/geo.scmindex 4cccd97643..a6942d2a45 100644--- a/gnu/packages/geo.scm+++ b/gnu/packages/geo.scm@@ -537,6 +537,8 @@ development.") (build-system gnu-build-system) (arguments `(#:tests? #f+ ;; validating runpath does not work yet for Python, so skip this phase.+ #:validate-runpath? #f #:configure-flags (let-syntax ((with (syntax-rules () ((_ option input)@@ -544,6 +546,10 @@ development.") (assoc-ref %build-inputs input)))))) (list ;; TODO: --with-pcidsk, --with-pcraster+ ;; Add $libdir to the RUNPATH of all the executables.+ (string-append "LDFLAGS=-Wl,-rpath=" %output "/apps/.libs")+ (string-append "LD_RUN_PATH=" %output "/apps/.libs")+ (string-append "LD_LIBRARY_PATH=" %output "/apps/.libs") (with "--with-freexl" "freexl") (with "--with-libjson-c" "json-c") (with "--with-png" "libpng")@@ -553,13 +559,27 @@ development.") (with "--with-libtiff" "libtiff") (with "--with-geotiff" "libgeotiff") (with "--with-libz" "zlib")- "--with-pcre"))+ "--with-pcre"+ "--with-python")) #:phases (modify-phases %standard-phases (add-before 'build 'fix-path (lambda _ (substitute* "frmts/mrf/mrf_band.cpp"- (("\"../zlib/zlib.h\"") "<zlib.h>")))))))+ (("\"../zlib/zlib.h\"") "<zlib.h>"))))+ (add-after+ 'unpack 'patch-test-shebangs+ (lambda _+ (substitute* '("apps/GNUmakefile")+ (("/bin/sh") (which "sh")))+ #t))+ (add-after+ 'unpack 'patch-rpath+ (lambda _+ (substitute* '("GDALmake.opt.in")+ (("LDFLAGS = @LDFLAGS@") (string-append "LDFLAGS = @LDFLAGS@ -Wl,-rpath=" %output "/apps -Wl,-rpath=" %output "/apps/.libs")))+ #t)+ )))) (inputs `(("freexl" ,freexl) ("geos" ,geos)@@ -572,6 +592,11 @@ development.") ("libwebp" ,libwebp) ("pcre" ,pcre) ("zlib" ,zlib)))+ (native-inputs+ `(("pkg-config" ,pkg-config)))+ (propagated-inputs+ `(("python" ,python)+ ("python-setuptools" ,python-setuptools))) (home-page "http://www.gdal.org/") (synopsis "Raster and vector geospatial data format library") (description "GDAL is a translator library for raster and vector geospatial-- 2.22.0
Best wishes,Arne-- Unpolitisch seinheißt politisch seinohne es zu merken
-----BEGIN PGP SIGNATURE-----
iQIzBAEBCAAdFiEE801qEjXQSQPNItXAE++NRSQDw+sFAl0qSdQACgkQE++NRSQDw+v4wxAA1CZIrptd6O+YGtpCjmyrDuek1gEEQg+I3iQjuRwDacLGVE2wJp4gQbryj5T9C8+LgVeudfWYUXfe2YVn/ucwoT2PogUYMzEuqCF+iytLEy+J1L0hLf7v9R7ZnmDWl0gNl+U0ue7WpiPX0QHRiuxv/c+8u0Smw2GbKPoPM0uNX3+3lM05c2UqhZQdXnLo4hiomuA83Z/iqQvLonxpKquq8Do2a8EnzlAJ9kbaMzfkT8KSCl1cmkxfJScVI6N69zQ/+2KZPYsvxLfeBCnAq0eXbbwfhgy7g5ucHhZhLzeJg/yVPfntuvtneFXsDpv7Uy86st9vaHS+dpny18ruUDgALgo1K8voOuK+9QHAnORdl+8RdF1Td7WG95CZ85Se1/kPoiSB0Mry9ifZzThjvzKs8BhWJNcBDlxojZVT/Lryv2MjEmOb8EEIWi8/esn6IIp9QMxaSeIIN9xnc2Fd1W4K4HYPMu7aurcHtfQySM/dWXKSqa0+Edp0PWONj81tqJiixNPO/E8J64rLIAt1XUXSncBCD5Jx8IEA02sPUiZqwScGNC+C4rL6awS3ZtsjIT1dmeW45ajysfMnfZHGN+SsOhRJ3msrTDk1D2cPSA9FQY+jfdmb6EN8qYMrCIBrkpLhYuXz4pxT6ktSL9iO37Op8uOUuvhV0TquL+WWbHapQcmIswQBAQgAHRYhBN0ovebZh1yrzkqLHdzPDbMLwQVIBQJdKknUAAoJENzPDbMLwQVI1vkD/AyL9Y6IC4VjxluX/11LSk7ZdtzJmPaX3OPgXZVjSb0OKWUMXWRV6JxO+gx6YpmrViAN7lcyqA+f6uURZJpLNAKhK2Ui9Kil8XI63R9fwZIG5qS6Z+KXdHJWSWcVfDhDeRoEZhGc5LSSaiLtfep5+hg5iBlXHQYT8INmJkGEI2v3=vcoq-----END PGP SIGNATURE-----
L
L
Ludovic Courtès wrote on 17 Jul 2019 14:57
(name . Arne Babenhauserheide)(address . arne_bab@web.de)
87blxsddjz.fsf@gnu.org
Hello!
Complementing Julien’s feedback…
Arne Babenhauserheide <arne_bab@web.de> skribis:
Toggle quote (21 lines)> From 5f8b1dc1bb5ce7b061bcca10174f9330cf89696c Mon Sep 17 00:00:00 2001> From: Arne Babenhauserheide <arne_bab@web.de>> Date: Sat, 11 May 2019 15:16:22 +0200> Subject: [PATCH] gnu: gdal: add python support>> * gnu/packages/geo.scm (gdal): add python support> ---> gnu/packages/geo.scm | 29 +++++++++++++++++++++++++++--> 1 file changed, 27 insertions(+), 2 deletions(-)>> diff --git a/gnu/packages/geo.scm b/gnu/packages/geo.scm> index 4cccd97643..a6942d2a45 100644> --- a/gnu/packages/geo.scm> +++ b/gnu/packages/geo.scm> @@ -537,6 +537,8 @@ development.")> (build-system gnu-build-system)> (arguments> `(#:tests? #f> + ;; validating runpath does not work yet for Python, so skip this phase.> + #:validate-runpath? #f
What happens when you let the ‘validate-runpath’ phase run?
Thanks,Ludo’.
A
A
Arne Babenhauserheide wrote on 17 Jul 2019 18:22
(name . Ludovic Courtès)(address . ludo@gnu.org)
87ims08wbo.fsf@web.de
Ludovic Courtès <ludo@gnu.org> writes:
Toggle quote (29 lines)> Hello!>> Complementing Julien’s feedback…>> Arne Babenhauserheide <arne_bab@web.de> skribis:>>> From 5f8b1dc1bb5ce7b061bcca10174f9330cf89696c Mon Sep 17 00:00:00 2001>> From: Arne Babenhauserheide <arne_bab@web.de>>> Date: Sat, 11 May 2019 15:16:22 +0200>> Subject: [PATCH] gnu: gdal: add python support>>>> * gnu/packages/geo.scm (gdal): add python support>> --->> gnu/packages/geo.scm | 29 +++++++++++++++++++++++++++-->> 1 file changed, 27 insertions(+), 2 deletions(-)>>>> diff --git a/gnu/packages/geo.scm b/gnu/packages/geo.scm>> index 4cccd97643..a6942d2a45 100644>> --- a/gnu/packages/geo.scm>> +++ b/gnu/packages/geo.scm>> @@ -537,6 +537,8 @@ development.")>> (build-system gnu-build-system)>> (arguments>> `(#:tests? #f>> + ;; validating runpath does not work yet for Python, so skip this phase.>> + #:validate-runpath? #f>> What happens when you let the ‘validate-runpath’ phase run?
\ 'validate-runpath' phasebuilder for `/gnu/store/ykfnx8m38ndnggdqsv1fbgf3ycry5f88-gdal-2.2.4.drv' failed with exit code 1build of /gnu/store/ykfnx8m38ndnggdqsv1fbgf3ycry5f88-gdal-2.2.4.drv failedView build log at '/var/log/guix/drvs/yk/fnx8m38ndnggdqsv1fbgf3ycry5f88-gdal-2.2.4.drv.bz2'.
starting phase `validate-runpath'validating RUNPATH of 6 binaries in "/gnu/store/q9sb0wv41ig429f1m1xspg22xm8pwpwh-gdal-2.2.4/lib".../gnu/store/q9sb0wv41ig429f1m1xspg22xm8pwpwh-gdal-2.2.4/lib/python3.7/site-packages/osgeo/_gdal.cpython-37m-x86_64-linux-gnu.so: error: depends on 'libgdal.so.20', which cannot be found in RUNPATH ("/gnu/store/b7fqhszxl02g6pfm3vw6b3cjz472qrly-python-3.7.0/lib" "/gnu/store/h90vnqw0nwd0hhm1l5dgxsdrigddfmq4-glibc-2.28/lib" "/gnu/store/4sqps8dczv3g7rwbdibfz6rf5jlk7w90-gcc-5.5.0-lib/lib" "/gnu/store/4sqps8dczv3g7rwbdibfz6rf5jlk7w90-gcc-5.5.0-lib/lib/gcc/x86_64-unknown-linux-gnu/5.5.0/../../..")/gnu/store/q9sb0wv41ig429f1m1xspg22xm8pwpwh-gdal-2.2.4/lib/python3.7/site-packages/osgeo/_gdalconst.cpython-37m-x86_64-linux-gnu.so: error: depends on 'libgdal.so.20', which cannot be found in RUNPATH ("/gnu/store/b7fqhszxl02g6pfm3vw6b3cjz472qrly-python-3.7.0/lib" "/gnu/store/h90vnqw0nwd0hhm1l5dgxsdrigddfmq4-glibc-2.28/lib" "/gnu/store/4sqps8dczv3g7rwbdibfz6rf5jlk7w90-gcc-5.5.0-lib/lib" "/gnu/store/4sqps8dczv3g7rwbdibfz6rf5jlk7w90-gcc-5.5.0-lib/lib/gcc/x86_64-unknown-linux-gnu/5.5.0/../../..")/gnu/store/q9sb0wv41ig429f1m1xspg22xm8pwpwh-gdal-2.2.4/lib/python3.7/site-packages/osgeo/_gnm.cpython-37m-x86_64-linux-gnu.so: error: depends on 'libgdal.so.20', which cannot be found in RUNPATH ("/gnu/store/b7fqhszxl02g6pfm3vw6b3cjz472qrly-python-3.7.0/lib" "/gnu/store/h90vnqw0nwd0hhm1l5dgxsdrigddfmq4-glibc-2.28/lib" "/gnu/store/4sqps8dczv3g7rwbdibfz6rf5jlk7w90-gcc-5.5.0-lib/lib" "/gnu/store/4sqps8dczv3g7rwbdibfz6rf5jlk7w90-gcc-5.5.0-lib/lib/gcc/x86_64-unknown-linux-gnu/5.5.0/../../..")/gnu/store/q9sb0wv41ig429f1m1xspg22xm8pwpwh-gdal-2.2.4/lib/python3.7/site-packages/osgeo/_ogr.cpython-37m-x86_64-linux-gnu.so: error: depends on 'libgdal.so.20', which cannot be found in RUNPATH ("/gnu/store/b7fqhszxl02g6pfm3vw6b3cjz472qrly-python-3.7.0/lib" "/gnu/store/h90vnqw0nwd0hhm1l5dgxsdrigddfmq4-glibc-2.28/lib" "/gnu/store/4sqps8dczv3g7rwbdibfz6rf5jlk7w90-gcc-5.5.0-lib/lib" "/gnu/store/4sqps8dczv3g7rwbdibfz6rf5jlk7w90-gcc-5.5.0-lib/lib/gcc/x86_64-unknown-linux-gnu/5.5.0/../../..")/gnu/store/q9sb0wv41ig429f1m1xspg22xm8pwpwh-gdal-2.2.4/lib/python3.7/site-packages/osgeo/_osr.cpython-37m-x86_64-linux-gnu.so: error: depends on 'libgdal.so.20', which cannot be found in RUNPATH ("/gnu/store/b7fqhszxl02g6pfm3vw6b3cjz472qrly-python-3.7.0/lib" "/gnu/store/h90vnqw0nwd0hhm1l5dgxsdrigddfmq4-glibc-2.28/lib" "/gnu/store/4sqps8dczv3g7rwbdibfz6rf5jlk7w90-gcc-5.5.0-lib/lib" "/gnu/store/4sqps8dczv3g7rwbdibfz6rf5jlk7w90-gcc-5.5.0-lib/lib/gcc/x86_64-unknown-linux-gnu/5.5.0/../../..")validating RUNPATH of 24 binaries in "/gnu/store/q9sb0wv41ig429f1m1xspg22xm8pwpwh-gdal-2.2.4/bin"...Backtrace: 5 (primitive-load "/gnu/store/kzsb94cspp48r9l26y8gv9zy6la…")In ice-9/eval.scm: 191:35 4 (_ _)In srfi/srfi-1.scm: 863:16 3 (every1 #<procedure 817960 at /gnu/store/gfprsx2m62cvq…> …)In /gnu/store/gfprsx2m62cvqbh7ysc9ay9slhijvmal-module-import/guix/build/gnu-build-system.scm: 799:28 2 (_ _) 558:10 1 (validate-runpath #:validate-runpath? _ # _ #:outputs _)In unknown file: 0 (scm-error misc-error #f "~A" ("RUNPATH validation fa…") …)
ERROR: In procedure scm-error:RUNPATH validation failed
Best wishes,Arne-- Unpolitisch seinheißt politisch seinohne es zu merken
-----BEGIN PGP SIGNATURE-----
iQIzBAEBCAAdFiEE801qEjXQSQPNItXAE++NRSQDw+sFAl0vS10ACgkQE++NRSQDw+u6MA/7B5/rCmG/Otm83whgtA/SW3a6xp/jM7rKA+xPUulfc1Xx/G+kfHMnSeU7mBmNxQGTnvBdaV6xq5jtSOUr0OHjAWPu8c+v5LcyWRsOPBAGowDUpRdkcNgvmp8e2qI4URqVxL5dF0nEJW5Fx4MgdKOrGZ4pJtX2tY5FeniND6JDSp70FEX7y2OsH236KavzR9bKhL9Fdx9BPzEqGe4eKya3871t6vgk3vxYrI7qh9cVIWjGQYaNDJJ+3WfG4dBCFPNnI/5dEYmywVpZsEZq6eNptEAXmU78XbnPKkSuOwSxijuOgJSbIQn2r/KbiIUfMJ1RWjfpenHMNZvIj1dTB25uziA4S2eNp0PcQxsswbhkMvyQ0LkPKqVQ/HITEttsM43OG+L0VDfJfyGkXRw0bYdBif68v4mCGyD3ZJsRatqlv1b1FYpMq1K6fPvuFkhtOcrMDI5LPzt1cTzEOsz/kNM49r0sQdwP35njh/+dCGWjmrksFBun7eIRj1bqYWxqBThMNKdG27CfoykEnYeDMrOm9a8k6/ippFDo5qoMCbaXNWml3JYNZsGnaHSQVoAolSviSz+O9Cl22b7Wu8rMPqEnypsDP4iXSwN1B8ak2BNknfWt0Xg1PAsAOMSna51aFBgxHhvIuVNSUsMnRbFgz71qmDP8dTvsjQU0iq494eZ8WICIswQBAQgAHRYhBN0ovebZh1yrzkqLHdzPDbMLwQVIBQJdL0teAAoJENzPDbMLwQVI6V4D/3vr86Qq/LsnLEx+rFjrxy0mg7XrhAsFJHuCtS0r4wruXYwOGsJM+3lUTyqD7O0TXY6alTktdE3RXe3QH7melf2Gz+FKCFFEJLKO2CwZudl2ND7b+cpGKkuVqyM4t80yBy5WSbo00h2dmWA/RqMdAoXNraJMTNt8FsS8+HuhZqLx=2YWM-----END PGP SIGNATURE-----
L
L
Ludovic Courtès wrote on 19 Jul 2019 14:07
(name . Arne Babenhauserheide)(address . arne_bab@web.de)
87pnm6b53u.fsf@gnu.org
Hello,
Arne Babenhauserheide <arne_bab@web.de> skribis:
Toggle quote (3 lines)> validating RUNPATH of 6 binaries in "/gnu/store/q9sb0wv41ig429f1m1xspg22xm8pwpwh-gdal-2.2.4/lib"...> /gnu/store/q9sb0wv41ig429f1m1xspg22xm8pwpwh-gdal-2.2.4/lib/python3.7/site-packages/osgeo/_gdal.cpython-37m-x86_64-linux-gnu.so: error: depends on 'libgdal.so.20', which cannot be found in RUNPATH ("/gnu/store/b7fqhszxl02g6pfm3vw6b3cjz472qrly-python-3.7.0/lib" "/gnu/store/h90vnqw0nwd0hhm1l5dgxsdrigddfmq4-glibc-2.28/lib" "/gnu/store/4sqps8dczv3g7rwbdibfz6rf5jlk7w90-gcc-5.5.0-lib/lib" "/gnu/store/4sqps8dczv3g7rwbdibfz6rf5jlk7w90-gcc-5.5.0-lib/lib/gcc/x86_64-unknown-linux-gnu/5.5.0/../../..")
I’m not familiar with Cython so I don’t know how this was handledbefore. However, to me, it indicates that the resulting binaries areunlikely to work.
Namely, Python would dlopen “_gdal.cython*.so”, and that would fail tofind ‘libgdal.so’.
Thoughts?
Ludo’.
A
A
Arne Babenhauserheide wrote on 19 Jul 2019 17:06
(name . Ludovic Courtès)(address . ludo@gnu.org)
874l3it66f.fsf@web.de
Hello Ludo`,
Ludovic Courtès <ludo@gnu.org> writes:
Toggle quote (12 lines)>> validating RUNPATH of 6 binaries in "/gnu/store/q9sb0wv41ig429f1m1xspg22xm8pwpwh-gdal-2.2.4/lib"...>> /gnu/store/q9sb0wv41ig429f1m1xspg22xm8pwpwh-gdal-2.2.4/lib/python3.7/site-packages/osgeo/_gdal.cpython-37m-x86_64-linux-gnu.so: error: depends on 'libgdal.so.20', which cannot be found in RUNPATH ("/gnu/store/b7fqhszxl02g6pfm3vw6b3cjz472qrly-python-3.7.0/lib" "/gnu/store/h90vnqw0nwd0hhm1l5dgxsdrigddfmq4-glibc-2.28/lib" "/gnu/store/4sqps8dczv3g7rwbdibfz6rf5jlk7w90-gcc-5.5.0-lib/lib" "/gnu/store/4sqps8dczv3g7rwbdibfz6rf5jlk7w90-gcc-5.5.0-lib/lib/gcc/x86_64-unknown-linux-gnu/5.5.0/../../..")>> I’m not familiar with Cython so I don’t know how this was handled> before. However, to me, it indicates that the resulting binaries are> unlikely to work.>> Namely, Python would dlopen “_gdal.cython*.so”, and that would fail to> find ‘libgdal.so’.>> Thoughts?
Yes: It does work. But I don’t know why.
Cython runs at compile-time to generate c-code that acts as interfacefor Python. Given the paths in here, this needs gdal already installedin the runpath where it seems to be missing during validation.
How can we fix that?
Best wishes,Arne-- Unpolitisch seinheißt politisch seinohne es zu merken
-----BEGIN PGP SIGNATURE-----
iQIzBAEBCAAdFiEE801qEjXQSQPNItXAE++NRSQDw+sFAl0x3HsACgkQE++NRSQDw+vQQg//VAPtF0ess3zeOXZGLXEIkZaa7zaDw8rfo1/JpJTYM//0+s2PEOHTBblhi0g2k6ATJWt2c9EJU40mHeTNgzbLNsgYzz1S88dQfEsZF7XEVAxl6IIpvEWPeAGIoHzo7S3dUzqLUW4bkoUWmtdxXhPUEvWwx8LCECNKoroscEnodWnsTGh2/57TESaqkmyGTxFaIQTq/Ah+ah8mrmKwgrZynqccwO73PLgBufBZHzUrmsM7+YlfcyVpip4NBQf4zBAgDj5JKEeLlY8xWda0XPhha+CRM2DymDfg6nZM8waJ22K2ZnwFhVdCSYNAE1bHM/Pk98ogM2QYUACECPhew6p4x0A4vPWePnw4irT1/VcMfCzhINxIsWo8/lRa6mrdT1d4rocX2xAuIczNpZ6JhXFHvLnrQptOGQe4Xwe7K3Ivc89PzHz5smaYVJJ5hg1XrF9SH60vVGmgxfLMhe/09hF45oYCcrIPgIvNODN0K1lC5+nUKpoWdQ2GBdNdcs6YijyuBLZM50mDrtfwFH1I7pZpVBpdl1O3wCwTw9VyOgvubTXSRxiMOnl6Te4VANJ/40f7WUqHPhJFMkWV7+fPJj6imYq9zqeiw5PPpAKyKDlMC0LJz3XLgHaKysLOTHPyxGJDUOjS1CRO/t1DFMHADW6jI1TfJ5gPZjtUeFHr+uPO8TyIswQBAQgAHRYhBN0ovebZh1yrzkqLHdzPDbMLwQVIBQJdMdx7AAoJENzPDbMLwQVIUqwD/0QDBOJNpO/ApH5MJthDG1HcAW6OFYSQQpUnHgkv9jyyyTtW9GJ4As0IJr4G1UjHC3jeG3yZHG6qDAumRt2sbvSoe1aNAM2RoJutE8U0Z5lF1hu5FW7mNvZLJjMuGJIMYjqhXW5B5+yf6rPWxH6zxe8YgOGLhgISEPbiCZjOTWMo=QGEm-----END PGP SIGNATURE-----
宋文武 wrote on 20 Jul 2019 16:55
(name . Arne Babenhauserheide)(address . arne_bab@web.de)
87tvbgkb6b.fsf@member.fsf.org
Arne Babenhauserheide <arne_bab@web.de> writes:
Toggle quote (24 lines)> Hello Ludo`,>> Ludovic Courtès <ludo@gnu.org> writes:>>>> validating RUNPATH of 6 binaries in "/gnu/store/q9sb0wv41ig429f1m1xspg22xm8pwpwh-gdal-2.2.4/lib"...>>> /gnu/store/q9sb0wv41ig429f1m1xspg22xm8pwpwh-gdal-2.2.4/lib/python3.7/site-packages/osgeo/_gdal.cpython-37m-x86_64-linux-gnu.so:>>> error: depends on 'libgdal.so.20', which cannot be found in RUNPATH>>> ("/gnu/store/b7fqhszxl02g6pfm3vw6b3cjz472qrly-python-3.7.0/lib">>> "/gnu/store/h90vnqw0nwd0hhm1l5dgxsdrigddfmq4-glibc-2.28/lib">>> "/gnu/store/4sqps8dczv3g7rwbdibfz6rf5jlk7w90-gcc-5.5.0-lib/lib">>> "/gnu/store/4sqps8dczv3g7rwbdibfz6rf5jlk7w90-gcc-5.5.0-lib/lib/gcc/x86_64-unknown-linux-gnu/5.5.0/../../..")>>>> I’m not familiar with Cython so I don’t know how this was handled>> before. However, to me, it indicates that the resulting binaries are>> unlikely to work.>>>> Namely, Python would dlopen “_gdal.cython*.so”, and that would fail to>> find ‘libgdal.so’.
>>>> Thoughts?>> Yes: It does work. But I don’t know why.
This is because the _gdal.cython*.so don't have rpath to the "lib"directory, where libgdal.so will going.
Toggle quote (7 lines)>> Cython runs at compile-time to generate c-code that acts as interface> for Python. Given the paths in here, this needs gdal already installed> in the runpath where it seems to be missing during validation.>> How can we fix that?
I think cython (which compile .py files to .c files) is not here.. Ithas python C libraries generated by swig.
Toggle quote (4 lines)>> Best wishes,> Arne
In the end the python bindings for gdal can be build seperated (whichhandle the missing rpath to libgdal nicely), and I prefer this way:
From 09254f646b948a5603b2b3dcb99a7f2f6ad0c8de Mon Sep 17 00:00:00 2001From: =?UTF-8?q?=E5=AE=8B=E6=96=87=E6=AD=A6?= <iyzsong@member.fsf.org>Date: Sat, 20 Jul 2019 22:39:33 +0800Subject: [PATCH] gnu: Add python-gdal.
For https://issues.guix.gnu.org/issue/36623, thank to Arne Babenhauserheidefor the original patch.
* gnu/packages/geo.scm (python-gdal): New package.--- gnu/packages/geo.scm | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+)
Toggle diff (32 lines)diff --git a/gnu/packages/geo.scm b/gnu/packages/geo.scmindex e4b6a262c7..8005c46129 100644--- a/gnu/packages/geo.scm+++ b/gnu/packages/geo.scm@@ -604,6 +604,25 @@ utilities for data translation and processing.") ;; frmts/mrf/libLERC license:asl2.0)))) +(define-public python-gdal+ (package (inherit gdal)+ (name "python-gdal")+ (build-system python-build-system)+ (arguments+ '(#:tests? #f ; no tests+ #:phases+ (modify-phases %standard-phases+ (add-before 'build 'chdir+ (lambda _+ (chdir "swig/python")+ #t)))))+ (native-inputs '())+ (propagated-inputs+ `(("python-numpy" ,python-numpy)))+ (inputs+ `(("gdal" ,gdal)))+ (synopsis "GDAL (Geospatial Data Abstraction Library) python bindings")))+ (define-public postgis (package (name "postgis")-- 2.19.2
I test it with "~/src/guix/pre-inst-env guix environment --ad-hoc pythonpython-gdal", and in it I can run "python3 swig/python/samples/rel.py"etc.
Does it work for you, Arne? If so, I'll push my patch, thank you!
A
A
Arne Babenhauserheide wrote on 21 Jul 2019 09:48
(name . 宋文武)(address . iyzsong@member.fsf.org)
8736izzv2t.fsf@web.de
宋文武 <iyzsong@member.fsf.org> writes:
Toggle quote (89 lines)> Arne Babenhauserheide <arne_bab@web.de> writes:>>> Hello Ludo`,>>>> Ludovic Courtès <ludo@gnu.org> writes:>>>>>> validating RUNPATH of 6 binaries in "/gnu/store/q9sb0wv41ig429f1m1xspg22xm8pwpwh-gdal-2.2.4/lib"...>>>> /gnu/store/q9sb0wv41ig429f1m1xspg22xm8pwpwh-gdal-2.2.4/lib/python3.7/site-packages/osgeo/_gdal.cpython-37m-x86_64-linux-gnu.so:>>>> error: depends on 'libgdal.so.20', which cannot be found in RUNPATH>>>> ("/gnu/store/b7fqhszxl02g6pfm3vw6b3cjz472qrly-python-3.7.0/lib">>>> "/gnu/store/h90vnqw0nwd0hhm1l5dgxsdrigddfmq4-glibc-2.28/lib">>>> "/gnu/store/4sqps8dczv3g7rwbdibfz6rf5jlk7w90-gcc-5.5.0-lib/lib">>>> "/gnu/store/4sqps8dczv3g7rwbdibfz6rf5jlk7w90-gcc-5.5.0-lib/lib/gcc/x86_64-unknown-linux-gnu/5.5.0/../../..")>>>>>> I’m not familiar with Cython so I don’t know how this was handled>>> before. However, to me, it indicates that the resulting binaries are>>> unlikely to work.>>>>>> Namely, Python would dlopen “_gdal.cython*.so”, and that would fail to>>> find ‘libgdal.so’.>>>>>>> Thoughts?>>>> Yes: It does work. But I don’t know why.>> This is because the _gdal.cython*.so don't have rpath to the "lib"> directory, where libgdal.so will going.>>>>> Cython runs at compile-time to generate c-code that acts as interface>> for Python. Given the paths in here, this needs gdal already installed>> in the runpath where it seems to be missing during validation.>>>> How can we fix that?>> I think cython (which compile .py files to .c files) is not here.. It> has python C libraries generated by swig.>>>> Best wishes,>> Arne>> In the end the python bindings for gdal can be build seperated (which> handle the missing rpath to libgdal nicely), and I prefer this way:>> From 09254f646b948a5603b2b3dcb99a7f2f6ad0c8de Mon Sep 17 00:00:00 2001> From: =?UTF-8?q?=E5=AE=8B=E6=96=87=E6=AD=A6?= <iyzsong@member.fsf.org>> Date: Sat, 20 Jul 2019 22:39:33 +0800> Subject: [PATCH] gnu: Add python-gdal.>> For <https://issues.guix.gnu.org/issue/36623>, thank to Arne Babenhauserheide> for the original patch.>> * gnu/packages/geo.scm (python-gdal): New package.> ---> gnu/packages/geo.scm | 19 +++++++++++++++++++> 1 file changed, 19 insertions(+)>> diff --git a/gnu/packages/geo.scm b/gnu/packages/geo.scm> index e4b6a262c7..8005c46129 100644> --- a/gnu/packages/geo.scm> +++ b/gnu/packages/geo.scm> @@ -604,6 +604,25 @@ utilities for data translation and processing.")> ;; frmts/mrf/libLERC> license:asl2.0))))> > +(define-public python-gdal> + (package (inherit gdal)> + (name "python-gdal")> + (build-system python-build-system)> + (arguments> + '(#:tests? #f ; no tests> + #:phases> + (modify-phases %standard-phases> + (add-before 'build 'chdir> + (lambda _> + (chdir "swig/python")> + #t)))))> + (native-inputs '())> + (propagated-inputs> + `(("python-numpy" ,python-numpy)))> + (inputs> + `(("gdal" ,gdal)))> + (synopsis "GDAL (Geospatial Data Abstraction Library) python bindings")))> +> (define-public postgis> (package> (name "postgis")
Wow, that looks pretty good!
Thank you for fixing up my patch!
Best wishes,Arne-- Unpolitisch seinheißt politisch seinohne es zu merken
-----BEGIN PGP SIGNATURE-----
iQIzBAEBCAAdFiEE801qEjXQSQPNItXAE++NRSQDw+sFAl00GOwACgkQE++NRSQDw+skLg/+LR5Pj+CWslJ3ZyCDmHwxnsQrQLX96F5j2KL5kaVIH8QiCHPAZtWJbc/c8ejIpeeoFMSzZaym9qFCEukId0FrgQLyxddUrmPvLT6vGqYtMZfEzr8R4+O4v4tkm+RsmX4JF7tduaZKwUOQdLSCdFGEmn6YLv7UfORwSVrimWre7STdj3mc2feppVdDtDnuuN3GyM+AwadBgjLhiGtWDFd+rYgNLI5OyFxMUplr/PtFDB9nILV99TMdD/SVxCjUt+ao4juDwqxgQgMxnvKaqJqcr6+/+ncOKzPlWHcI+HrQhHaidrKgIc0t3wuN1zSbmUnyYhwZMZClh+I31xFw7/81SvOEERdBdWf0DAvETLwk35W5ffoZ6o3qHHuhNAn+1tn+EQ9uVK5WajLD/tzkRAl91hxLn2h08HhIk7oT4oEf8nZ/n6VIaQILZwuRN9FY8tTelWgr6ocPOyo/m7k0DyAvuaRGZLhlcyYPtGM8uC3ADZhpwrB/qeTnz6KAY+NzOBAL1vuqnAUuZhStrcATC68n7Fc0w32nctp2+0bKBaj7fx9wY7CULY/UUPadPWEEXTLKfccZi1Efu66peM9XeX56GrjD4Ilxwvc0ToN/Odd2oV5frDTX84Ek2HWE+XDzbhXcZaYBj9yew/zKnBoqzw3ETeclTU+4BxD6N+qPps9XrbuIswQBAQgAHRYhBN0ovebZh1yrzkqLHdzPDbMLwQVIBQJdNBjsAAoJENzPDbMLwQVI03MEAItmxmJwsQ+f+/6kQAMPIzrFtvZ7o0tuL6saaMqWM2tbruGkxbCamRl7MMFC66RjoQrTwXJJGMktV8H1ZcckTz33UnKfiVuZP58dsTHgTv9Q2wyEY5n6y7fmZWcNrdG/DddBHMYdxSpvKDasvU2zO1c+xb+3QUS/bKs35eftyJbK=fgKu-----END PGP SIGNATURE-----
宋文武 wrote on 21 Jul 2019 15:07
(name . Arne Babenhauserheide)(address . arne_bab@web.de)(address . 36623-done@debbugs.gnu.org)
87k1cbo7st.fsf@member.fsf.org
Arne Babenhauserheide <arne_bab@web.de> writes:
Toggle quote (96 lines)> 宋文武 <iyzsong@member.fsf.org> writes:>>> Arne Babenhauserheide <arne_bab@web.de> writes:>>>>> Hello Ludo`,>>>>>> Ludovic Courtès <ludo@gnu.org> writes:>>>>>>>> validating RUNPATH of 6 binaries in "/gnu/store/q9sb0wv41ig429f1m1xspg22xm8pwpwh-gdal-2.2.4/lib"...>>>>> /gnu/store/q9sb0wv41ig429f1m1xspg22xm8pwpwh-gdal-2.2.4/lib/python3.7/site-packages/osgeo/_gdal.cpython-37m-x86_64-linux-gnu.so:>>>>> error: depends on 'libgdal.so.20', which cannot be found in RUNPATH>>>>> ("/gnu/store/b7fqhszxl02g6pfm3vw6b3cjz472qrly-python-3.7.0/lib">>>>> "/gnu/store/h90vnqw0nwd0hhm1l5dgxsdrigddfmq4-glibc-2.28/lib">>>>> "/gnu/store/4sqps8dczv3g7rwbdibfz6rf5jlk7w90-gcc-5.5.0-lib/lib">>>>> "/gnu/store/4sqps8dczv3g7rwbdibfz6rf5jlk7w90-gcc-5.5.0-lib/lib/gcc/x86_64-unknown-linux-gnu/5.5.0/../../..")>>>>>>>> I’m not familiar with Cython so I don’t know how this was handled>>>> before. However, to me, it indicates that the resulting binaries are>>>> unlikely to work.>>>>>>>> Namely, Python would dlopen “_gdal.cython*.so”, and that would fail to>>>> find ‘libgdal.so’.>>>>>>>>>> Thoughts?>>>>>> Yes: It does work. But I don’t know why.>>>> This is because the _gdal.cython*.so don't have rpath to the "lib">> directory, where libgdal.so will going.>>>>>>>> Cython runs at compile-time to generate c-code that acts as interface>>> for Python. Given the paths in here, this needs gdal already installed>>> in the runpath where it seems to be missing during validation.>>>>>> How can we fix that?>>>> I think cython (which compile .py files to .c files) is not here.. It>> has python C libraries generated by swig.>>>>>> Best wishes,>>> Arne>>>> In the end the python bindings for gdal can be build seperated (which>> handle the missing rpath to libgdal nicely), and I prefer this way:>>>> From 09254f646b948a5603b2b3dcb99a7f2f6ad0c8de Mon Sep 17 00:00:00 2001>> From: =?UTF-8?q?=E5=AE=8B=E6=96=87=E6=AD=A6?= <iyzsong@member.fsf.org>>> Date: Sat, 20 Jul 2019 22:39:33 +0800>> Subject: [PATCH] gnu: Add python-gdal.>>>> For <https://issues.guix.gnu.org/issue/36623>, thank to Arne Babenhauserheide>> for the original patch.>>>> * gnu/packages/geo.scm (python-gdal): New package.>> --->> gnu/packages/geo.scm | 19 +++++++++++++++++++>> 1 file changed, 19 insertions(+)>>>> diff --git a/gnu/packages/geo.scm b/gnu/packages/geo.scm>> index e4b6a262c7..8005c46129 100644>> --- a/gnu/packages/geo.scm>> +++ b/gnu/packages/geo.scm>> @@ -604,6 +604,25 @@ utilities for data translation and processing.")>> ;; frmts/mrf/libLERC>> license:asl2.0))))>> >> +(define-public python-gdal>> + (package (inherit gdal)>> + (name "python-gdal")>> + (build-system python-build-system)>> + (arguments>> + '(#:tests? #f ; no tests>> + #:phases>> + (modify-phases %standard-phases>> + (add-before 'build 'chdir>> + (lambda _>> + (chdir "swig/python")>> + #t)))))>> + (native-inputs '())>> + (propagated-inputs>> + `(("python-numpy" ,python-numpy)))>> + (inputs>> + `(("gdal" ,gdal)))>> + (synopsis "GDAL (Geospatial Data Abstraction Library) python bindings")))>> +>> (define-public postgis>> (package>> (name "postgis")>> Wow, that looks pretty good!>> Thank you for fixing up my patch!>
Sure, pushed!
Closed
L
L
Ludovic Courtès wrote on 22 Jul 2019 12:23
(name . Arne Babenhauserheide)(address . arne_bab@web.de)
87o91m4bcq.fsf@gnu.org
Hello,
Arne Babenhauserheide <arne_bab@web.de> skribis:
Toggle quote (2 lines)> 宋文武 <iyzsong@member.fsf.org> writes:
[...]
Toggle quote (10 lines)>> From 09254f646b948a5603b2b3dcb99a7f2f6ad0c8de Mon Sep 17 00:00:00 2001>> From: =?UTF-8?q?=E5=AE=8B=E6=96=87=E6=AD=A6?= <iyzsong@member.fsf.org>>> Date: Sat, 20 Jul 2019 22:39:33 +0800>> Subject: [PATCH] gnu: Add python-gdal.>>>> For <https://issues.guix.gnu.org/issue/36623>, thank to Arne Babenhauserheide>> for the original patch.>>>> * gnu/packages/geo.scm (python-gdal): New package.
[...]
Toggle quote (4 lines)> Wow, that looks pretty good!>> Thank you for fixing up my patch!
Great that it works. Please push and close this issue, 宋文武!
Thanks to both of you,Ludo’.
?
Your comment

This issue is archived.

To comment on this conversation send email to 36623@debbugs.gnu.org