lilypond-user
[Top][All Lists]
Advanced

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

Re: Guile for building lilypond on Ubuntu18.10


From: David Kastrup
Subject: Re: Guile for building lilypond on Ubuntu18.10
Date: Sat, 23 Mar 2019 21:08:43 +0100
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (gnu/linux)

"H. S. Teoh" <address@hidden> writes:

> On Sat, Mar 23, 2019 at 11:12:29AM +1100, Andrew Bernard wrote:
>>    Ubuntu now only supports guile 2 in its own repositories.
>>    How does on obtain the guile 1.8 needed to build lilypond for
>>    Ubuntu 18.10? Do we have to build from the source repository? If
>>    so, what exact release?
> [...]
>
> Others have already answered, but I'd like to provide another data point
> in case some people find it helpful.  I use a Debian/sid system, so it
> shares a lot of commonality with Ubuntu, but should apply to a wider
> range of Debian-based distros.
>
> I've also run into the problem that guile 1.8 is no longer in the
> official Debian repos, so I had to download guile-1.8 from gnu.org
> instead.  I discovered that it *is* possible to install guile-1.8
> outside the usual places (/usr, /usr/local) where it might conflict with
> newer versions of guile; I chose to install it under /usr/src/guile-1.8
> where I can keep it self-contained to only stuff that actually needs 1.8
> specifically. This is done by configuring guile-1.8 like this:
>
>       cd /path/to/guile-1.8/sources/
>       ./configure --prefix=/usr/src/guile-1.8
> CFLAGS="-Wno-unused-but-set-variable -Wno-misleading-indentation
> -Wno-deprecated-declarations"
>
> Guile configured this way would not be found by lilypond by default, so
> lilypond needs to be compiled with an overridden $PATH.  I also found
> that I needed python-2.7 (rather than python3), so that needs to be
> configured specially as well.  So the lilypond configure command I use
> is:
>
>       PATH=/usr/src/guile-1.8/bin:$PATH ./autogen.sh
> --with-python-include=/usr/include/python2.7/
> CFLAGS="-Wno-sequence-point"
> LDFLAGS="-Wl,-rpath,/usr/src/guile-1.8/lib"
>
> It's possible to install lilypond outside of /usr or /usr/local by using
> the --prefix option, if desired.  This configuration won't build
> directly, though, so you'd have to do this:
>
>       export PATH=/usr/src/guile-1.8/bin:$PATH
>       export LD_LIBRARY_PATH=/usr/src/guile-1.8/lib
>       make
>
> And unless you point your library paths to the right place, the lilypond
> executable may not be able to find libguile*.so, so I use this wrapper
> script instead (put it in /usr/bin or /usr/local/bin or /home/bin,
> wherever $PATH can find it):
>
>       #!/bin/sh
>       export LD_LIBRARY_PATH=/usr/src/guile-1.8/lib
>       /path/to/installdir/lilypond "$*"
>
> Using this method, I was able to compile and install an isolated version
> of lilypond that could coexist alongside the official Debian
> libguile/python/lilypond packages.

All much too complicated and side-effect-prone.  Just use

./configure GUILE_CONFIG=/usr/src/guile-1.8/bin/guile-config

for configuration.  By the way, having an installation prefix guile-1.8
under /usr/src is decidedly weird: I'd rather use /usr/local/guile-1.8
or /opt/guile-1.8 or so.

-- 
David Kastrup



reply via email to

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