lilypond-user
[Top][All Lists]
Advanced

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

Re: building v2.19.83 - can't find libguile.so.17


From: David Kastrup
Subject: Re: building v2.19.83 - can't find libguile.so.17
Date: Sat, 25 Jan 2020 10:37:25 +0100
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux)

Jonas Hahnfeld <address@hidden> writes:

> Am Samstag, den 25.01.2020, 10:21 +0100 schrieb David Kastrup:
>> Jonas Hahnfeld <
>> address@hidden
>> > writes:
>> 
>> > Am Freitag, den 24.01.2020, 16:45 -0500 schrieb Bric:
>> > > i am building lilypond-2.19.83 on Ubuntu 18.04.2 LTS 
>> > > 
>> > > 
>> > > -pthread -L/usr/local/lib -lguile -lltdl -lgmp -lcrypt -lm -lltdl 
>> > > 
>> > > 
>> > > how can i make lilypond find the shared object?
>> > 
>> > I just checked and Ubuntu apparently doesn't look for libraries in
>> > /usr/local/lib (at least on my system). If you want it to, you might
>> > try export'ing LD_LIBRARY_PATH=/usr/local/lib in your shell. This
>> > *should* work without removing other versions of guile from your
>> > system.
>> 
>> I have my version of Guile-1.8 installed in a place where Ubuntu will
>> most certainly not bother looking unless told otherwise
>> 
>> guile-config is supposed to be supplying the required options for
>> compiling and linking to make it look in the installation place relevant
>> when guile-config was being installed.
>
> The error message is not about linking, but happens during runtime.

But during linking the place to look for a library at runtime can be
embedded into the executable.

dak@lola:/usr/local/tmp/lilypond$ ldd `which lilypond`
        linux-vdso.so.1 (0x00007ffd3b853000)
        libguile.so.17 => /usr/local/tmp/guile-1.8/lib/libguile.so.17 
(0x00007f60c85d8000)
[...]

dak@lola:/usr/local/tmp/lilypond$ grep guile /etc/ld.so.conf.d/*
/etc/ld.so.conf.d/x86_64-linux-gnu_guile-1.8.conf:/usr/local/tmp/guile-1.8/lib

Oh.  I did not put this manually there, so it likely ended up there with

sudo make install

dak@lola:/usr/local/tmp/lilypond$ ls -l 
/etc/ld.so.conf.d/x86_64-linux-gnu_guile-1.8.conf 
-rw-r--r-- 1 root root 29 Aug  2  2017 
/etc/ld.so.conf.d/x86_64-linux-gnu_guile-1.8.conf

And some time ago it seems.

dak@lola:/usr/local/tmp/lilypond$ ls -l 
/usr/local/tmp/guile-1.8/bin/guile-config 
-rwxr-xr-x 1 root root 9136 Aug 14  2018 
/usr/local/tmp/guile-1.8/bin/guile-config

That one has been updated more recently.

> There are ways to make the linker add a library path for runtime
> (rpath), but it doesn't seem to kick in here. I had the same problem
> with Ubuntu the other day when I was testing my changes for Python 3.
> That's why I recommend using LD_LIBRARY_PATH instead of removing all
> other versions of Guile.

LD_LIBRARY_PATH is empty on my system.

>
> It it works for you, then I guess there is some setup somewhere, either
> LD_LIBRARY_PATH or a change in /etc/ld.so.conf or ... Just do an `ldd'
> on your executable and if the library is not in /usr/lib/ then
> something non-standard is going on.
>
> Jonas

-- 
David Kastrup



reply via email to

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