guix-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: (python) ctypes.util.find_library full path ?


From: Alex Vong
Subject: Re: (python) ctypes.util.find_library full path ?
Date: Sat, 23 Feb 2019 23:39:40 +0800
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/26.1 (gnu/linux)

Hello simon,

I don't know if there's an easier fix. But what I would do is to add a
'wrap-program' phase and use the 'wrap-program' procedure to create a
wrapper to set the required environment variable at run-time. My guess
is that 'LD_LIBRARY_PATH' should be set to:

  (string-append (assoc-ref inputs "cairo") "/lib")

Examples can be found in '(gnu packages bioinformatics)'.

Cheers,
Alex

zimoun <address@hidden> writes:

> Dear,
>
> I would like to try WeasyPrint [1] to convert some HTML docs to PDF
> ones and maybe print them. Or maybe presentation etc.
>
> [1] https://weasyprint.org/
>
> Well, excluding the check phase at first because some dependencies
> does not seem clean with Python2/Python3. Anyway!
>
> it is almost straightforward with `guix import pypi -r weasyprint'. Awesome !
> (there is some tweaks in url: "cairosvg" -> "CairoSVG")
>
> However, the command `weasyprint` fails at run time. Because an issue
> about `dlopen'.
>
> To be precise, and from my understanding, the culprit is these lines:
> https://github.com/Kozea/cairocffi/blob/v1.0.2/cairocffi/__init__.py#L30-L31
>
> In other word, ctypes.util.find_library('cairo') returns the expected
> 'libcairo.so.2'.
> But then it is not recognized by their `ffi.dlopen`.
> And if the full path is provided then it works, e.g.,
>  
> ffi.dlopen('/gnu/store/13i02w6r4awyb5d4n8plk8m0idvryib0-cairo-1.14.12/lib/libcairo.so.2')
>  <Lib object for
> '/gnu/store/13i02w6r4awyb5d4n8plk8m0idvryib0-cairo-1.14.12/lib/libcairo.so.2'>
>
> There is an old "similar" issue on the bug Nix tracker #7307 [2],
> asking if `ctypes.util.find_library` should return full path (so apply
> somehow a patch) or add another env variable. I do not know what is
> the status now.
>
> [2] https://github.com/NixOS/nixpkgs/issues/7307
>
>
> My questions is: is there a fix for this kind of issue ?
> I guess, it should happen with Python packages.
>
> If yes, what is the trick ?
> If no, what should be the trick ? What do you think ?
>
>
> Thank you for any pointer and/or comments.
>
>
> All the best,
> simon

Attachment: signature.asc
Description: PGP signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]