[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