[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: `makeinfo` errors
From: |
Werner LEMBERG |
Subject: |
Re: `makeinfo` errors |
Date: |
Sat, 12 Nov 2022 22:10:40 +0000 (UTC) |
> I've often wanted to try to build the Lilypond Texinfo docs to see
> how well they work, but I haven't been able to find easily
> downloadable sources on the Lilypond website. Is there somewhere
> that such sources would be available, or would I need to compile
> Lilypond completely from source?
I fear you have to build from the source code. Alas, building
LilyPond's documentation is devilishly complicated from a technical
point of view.
The work for me.
Preliminaries
-------------
* Clone the LilyPond git repository.
* Install `texi2html` 1.82 (exactly this version).
* Install the latest `guile` 2.x (guile version 1.x is no longer
supported, 3.x isn't yet)
* Don't use gs versions that have the new PDF engine activated, which
is still too buggy to correctly build the LilyPond documentation.
Use a version < 9.56.1 instead.
Configuring
-----------
There are more dependencies but it is probably easiest to just follow
the `configure` script messages to identify the missing packages step
by step. After doing
```
mkdir build-lilypond && cd build-lilypond
```
continue with the following.
```
# for texi2html 1.82
export PATH=/path/to/texi2html:$PATH
# for guile 2.2
export PKG_CONFIG_PATH=/path/to/guile/pkgconfigdir
export PDFTEX=xetex
export PDFLATEX=xelatex
/path/to/lilypond-src-dir/autogen.sh --currdir --disable-optimising
```
Building
--------
Assuming that you want to build documentation for English and French,
do
```
PATH=/path/to/texi2html:$PATH make bytecode LANGS="en fr"
touch /path/to/lilypond-src-dir/ly/generate-documentation.ly
PATH=/path/to/texi2html:$PATH make bytecode LANGS="en fr"
PATH=/path/to/texi2html:$PATH make doc -j12 CPU_COUNT=12 LANGS="en fr"
```
[Currently, it's necessary to call `make bytecode` twice as shown above
because of a bug in Guile: the internal Scheme documentation
correctly prints Scheme function arguments only if generated with
compiled SCM files.]
The final info files (only English) are then found in
`Documentation/out-www`, the PDFs in `Documentation/out-ww/{en,fr}`.
Werner