From: "Sébastien Lerique" <sl@eauchat.org>
To: david larsson <david.larsson@selfhosted.xyz>
Cc: help-guix@gnu.org,
Help-Guix <help-guix-bounces+someone=selfhosted.xyz@gnu.org>
Subject: Re: Profile's LD_LIBRARY_PATH by default
Date: Thu, 29 Oct 2020 11:07:10 +0100 [thread overview]
Message-ID: <87d0119whd.fsf@eauchat.org> (raw)
In-Reply-To: <aa5a7654977cdc03c89379563a1b482a@selfhosted.xyz>
Hello!
On 29 Oct 2020 at 10:10, david larsson
<david.larsson@selfhosted.xyz> wrote:
> On 2020-10-28 13:49, Sébastien Lerique wrote:
>> [snip]
>> While running a racket program which uses OpenCV, I realised
>> that my
>> LD_LIBRARY_PATH does not contain my user's profile libs. I have
>> `libopencv*.so` in `~/.guix-profile/lib/`, but running a racket
>> program which needs that fails:
>> ```
>> $ racket capture.rkt
>> ffi-lib: couldn't open "libopencv_core.so" (libopencv_core.so:
>> cannot
>> open shared object file: No such file or directory)
>> ```
>> While running
>> ```
>> env LD_LIBRARY_PATH=/home/sl/.guix-profile/lib/ racket
>> capture.rkt
>> ```
>> works.
>> (Also, this <http://0x0.st/ik3s.txt> is the output of `env
>> LD_DEBUG=libs racket capture.rkt`.)
>> Is this normal behaviour, i.e. that the path to dynamic libs
>> installed
>> in my user profile should be manually configured in my shell
>> startup
>> scripts? Should this not be included in
>> `~/.guix-profile/etc/profile`?
> I wondered the same, and got answer in the IRC #guix that
> setting
> LD_LIBRARY_PATH is highly discouraged (unless you have a
> specific and
> good reason to do so in a specific case - never globally). I a
> good explanation
> about it here:
> https://web.archive.org/web/20060719201954/http://www.visi.com/~barr/ldpath.html
>
> A good example of how it can go wrong:
>
> "In its startup script[a program called WidgetMan], it sets
> LD_LIBRARY_PATH to
> point to its copy of Motif so it uses that one when it runs. As
> it happens,
> WidgetMan is designed to launch other programs too.
> Unfortunately, when
> WidgetMan launches other apps, they inherit the LD_LIBRARY_PATH
> setting and some
> Motif based apps now break when run from WidgetMan because
> WidgetMan's Motif is
> incompatible with (but the same library version as) the system
> Motif library.
> Bummer!"
Yes I see that makes sense. Does this mean that one shouldn't
install libraries in user profiles?
Or maybe that, if I were to package this racket program, then it
would depend on `opencv` and set its required lib paths properly
in its package definition (so work no matter if it's system-wide
or in a user profile)?
Then, for development, is setting LD_LIBRARY_PATH still the only
way without installing the lib system-wide?
(that's a lot of questions, apologies!)
next prev parent reply other threads:[~2020-10-29 10:15 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-10-28 13:49 Profile's LD_LIBRARY_PATH by default Sébastien Lerique
2020-10-29 9:10 ` david larsson
2020-10-29 10:07 ` Sébastien Lerique [this message]
2020-10-29 11:07 ` david larsson
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=87d0119whd.fsf@eauchat.org \
--to=sl@eauchat.org \
--cc=david.larsson@selfhosted.xyz \
--cc=help-guix-bounces+someone=selfhosted.xyz@gnu.org \
--cc=help-guix@gnu.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.
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).