lilypond-user
[Top][All Lists]
Advanced

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

Re: LilyPond v2.20.0 on Raspberry Pi OS (Debian buster)


From: H. S. Teoh
Subject: Re: LilyPond v2.20.0 on Raspberry Pi OS (Debian buster)
Date: Wed, 16 Dec 2020 11:27:10 -0800

On Tue, Dec 15, 2020 at 05:08:10PM -0700, Anthony Fok wrote:
> Hi Feri and renyhp,
> 
> On Sun, Nov 22, 2020 at 2:40 AM <wferi@niif.hu> wrote:
> > renyhp <renyhp@disroot.org> writes:
> > > If the path of installing debs is totally closed, is it possible
> > > to make my own build?
> > Ask the Debian package maintainer to provide an official backport.
> > It should be straightforward.
[...]

I'm using Debian, and have been building Lilypond myself.  Due to
problems with the latest version of Guile in Debian, I downloaded the
sources of guile-1.8 and built it separately, so that I can build
lilypond with guile-1.8.

My configure command for guile-1.8 is:

        ./configure --prefix=/usr/src/guile-1.8 
CFLAGS="-Wno-unused-but-set-variable -Wno-misleading-indentation 
-Wno-deprecated-declarations"

I use a custom prefix so that it doesn't interfere with anything else on
my system that might use Guile. The other flags are to suppress compiler
complaints about the older-style code in guile-1.8.

My lilypond configure command is:

        [ ! -d build ] && mkdir build
        cd build && PATH=/usr/src/guile-1.8/bin:$PATH 
PKG_CONFIG_PATH=/usr/src/guile-1.8/guile-1.8.8/ ../configure 
--prefix=/usr/src/lilypond/

The PKG_CONFIG_PATH hack is so that the configure script will find the
correct Guile installation instead of the system default one.  I also
configure a custom prefix for lilypond so that it doesn't interfere with
the official build of lilypond (though I haven't used the latter for a
long time now -- mainly because I find it excruciatingly slow due to
being built with a later version of Guile).

With this configuration, you need a special environment to build
lilypond, otherwise it may not find the right version of guile during
the build:

        export PATH=/usr/src/guile-1.8/bin:$PATH
        export LD_LIBRARY_PATH=/usr/src/guile-1.8/lib
        cd build && make -j2

The -j2 is optional, and possibly risky, since the last time I checked
lilypond's build isn't 100% concurrent-safe, so you might run into build
problems under some circumstances.  If you want to be sure, omit the -j2
and you just have to wait slightly longer for the build.

Running lilypond under this configuration also needs some care; the way
I do it is to install it somewhere outside of $PATH, then use the
following wrapper script that you put in $PATH, e.g., in
$HOME/bin/lilypond:

        #!/bin/sh
        export LD_LIBRARY_PATH=/usr/src/guile-1.8/lib
        /usr/src/lilypond/bin/lilypond "$*"


T

-- 
He who laughs last thinks slowest.



reply via email to

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