From: iyzsong@member.fsf.org (宋文武)
To: Arne Babenhauserheide <arne_bab@web.de>
Cc: 36623-done@debbugs.gnu.org
Subject: bug#36623: [PATCH] gnu: gdal: add python support
Date: Sun, 21 Jul 2019 21:07:14 +0800 [thread overview]
Message-ID: <87k1cbo7st.fsf@member.fsf.org> (raw)
In-Reply-To: <8736izzv2t.fsf@web.de> (Arne Babenhauserheide's message of "Sun, 21 Jul 2019 09:48:58 +0200")
Arne Babenhauserheide <arne_bab@web.de> writes:
> 宋文武 <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!
next prev parent reply other threads:[~2019-07-21 13:08 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
2019-07-21 13:07 ` 宋文武 [this message]
2019-07-22 10:23 ` 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=87k1cbo7st.fsf@member.fsf.org \
--to=iyzsong@member.fsf.org \
--cc=36623-done@debbugs.gnu.org \
--cc=arne_bab@web.de \
/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).