[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.