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: H. S. Teoh
Subject: Re: Guile for building lilypond on Ubuntu18.10
Date: Fri, 22 Mar 2019 22:20:13 -0700
User-agent: Mutt/1.10.1 (2018-07-13)

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.


T

-- 
It said to install Windows 2000 or better, so I installed Linux instead.



reply via email to

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