unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
From: Arne Babenhauserheide <arne_bab@web.de>
To: 宋文武 <iyzsong@member.fsf.org>
Cc: 36623@debbugs.gnu.org
Subject: [bug#36623] [PATCH] gnu: gdal: add python support
Date: Sun, 21 Jul 2019 09:48:58 +0200	[thread overview]
Message-ID: <8736izzv2t.fsf@web.de> (raw)
In-Reply-To: <87tvbgkb6b.fsf@member.fsf.org>

[-- Attachment #1: Type: text/plain, Size: 3504 bytes --]


宋文武 <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!

Best wishes,
Arne
-- 
Unpolitisch sein
heißt politisch sein
ohne es zu merken

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 1076 bytes --]

  reply	other threads:[~2019-07-21  7:50 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-07-12 21:32 [bug#36623] [PATCH] gnu: gdal: add python support Arne Babenhauserheide
2019-07-13  8:15 ` Julien Lepiller
2019-07-13 21:14   ` Arne Babenhauserheide
2019-07-17 12:57     ` Ludovic Courtès
2019-07-17 16:22       ` Arne Babenhauserheide
2019-07-19 12:07         ` Ludovic Courtès
2019-07-19 15:06           ` Arne Babenhauserheide
2019-07-20 14:55             ` 宋文武
2019-07-21  7:48               ` Arne Babenhauserheide [this message]
2019-07-21 13:07                 ` bug#36623: " 宋文武
2019-07-22 10:23                 ` [bug#36623] " Ludovic Courtès

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://guix.gnu.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=8736izzv2t.fsf@web.de \
    --to=arne_bab@web.de \
    --cc=36623@debbugs.gnu.org \
    --cc=iyzsong@member.fsf.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).