Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code | Sign in
(2181)

Side by Side Diff: Documentation/included/compile.itexi

Issue 261430043: Doc: Included/compile.itexi - CG 4.2 - Updated notes on reqs for compiling (Closed)
Patch Set: Created 8 years, 6 months ago
Left:
Right:
Use n/p to move between diff chunks; N/P to move between comments. Please Sign in to add in-line comments.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 @c -*- coding: utf-8; mode: texinfo; -*- 1 @c -*- coding: utf-8; mode: texinfo; -*-
2 2
3 3
4 @c DO NOT TRANSLATE THIS FILE 4 @c DO NOT TRANSLATE THIS FILE
5 5
6 @c include any node/sections from the higher-level *texi file. 6 @c include any node/sections from the higher-level *texi file.
7 @c @n ode Compiling from source 7 @c @n ode Compiling from source
8 @c @s ection Compiling from source 8 @c @s ection Compiling from source
9 9
10 @menu 10 @menu
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after
53 @menu 53 @menu
54 * Requirements for running LilyPond:: 54 * Requirements for running LilyPond::
55 * Requirements for compiling LilyPond:: 55 * Requirements for compiling LilyPond::
56 * Requirements for building documentation:: 56 * Requirements for building documentation::
57 @end menu 57 @end menu
58 58
59 59
60 @node Requirements for running LilyPond 60 @node Requirements for running LilyPond
61 @subsection Requirements for running LilyPond 61 @subsection Requirements for running LilyPond
62 62
63 Running LilyPond requires proper installation of the following 63 This section contains the list of separate software packages that are
64 software: 64 required to run LilyPond.
65 65
66 @itemize 66 @itemize
67 @item @uref{http://www.dejavu-fonts.org/, DejaVu fonts} (normally 67
68 installed by default) 68 @item @uref{http://www.dejavu-fonts.org/, DejaVu fonts}
69 69 These are normally installed by default.
70 @item @uref{http://www.fontconfig.org/, FontConfig} (2.4.0 or newer) 70
71 71 @item
72 @item @uref{http://www.freetype.org/, Freetype} (2.1.10 or newer) 72 @uref{http://www.fontconfig.org/, FontConfig}
73 73 Use version 2.4.0 or newer.
74 @item @uref{http://www.ghostscript.com, Ghostscript} (8.60 or 74
75 newer) 75 @item
76 76 @uref{http://www.freetype.org/, Freetype}
77 @item @uref{http://www.gnu.org/software/guile/guile.html, Guile} 77 Use version 2.1.10 or newer.
78 (1.8.8 - version 2.x is not currently supported) 78
79 79 @item
80 @item @uref{http://www.pango.org/, Pango} (1.12 or newer) 80 @uref{http://www.ghostscript.com, Ghostscript}
81 81 Use version 8.60 or newer.
82 @item @uref{http://www.python.org, Python} (2.4 or newer) 82
83 @item
84 @uref{http://www.gnu.org/software/guile/guile.html, Guile}
85 Use version 1.8.8. Version 2.x of Guile is not currently supported.
86
87 @item
88 @uref{http://www.pango.org/, Pango}
89 User version 1.12 or newer.
90
91 @item
92 @uref{http://www.python.org, Python}
93 Use version 2.4 or newer.
94
95 @item
96 International fonts. For example:
97
98 Fedora:
99
100 @example
101 fonts-arabic
102 fonts-hebrew
103 fonts-ja
104 fonts-xorg-truetype
105 taipeifonts
106 ttfonts-ja
107 ttfonts-zh_CN
108 @end example
109
110 Debian based distributions:
111
112 @example
113 emacs-intl-fonts
114 ttf-kochi-gothic
115 ttf-kochi-mincho
116 xfonts-bolkhov-75dpi
117 xfonts-cronyx-75dpi
118 xfonts-cronyx-100dpi
119 xfonts-intl-.*
120 @end example
121
122 These are normally installed by default and are required only to create
123 music with international text or lyrics.
124
83 @end itemize 125 @end itemize
84 126
85 International fonts are required to create music with
86 international text or lyrics.
87
88 127
89 @node Requirements for compiling LilyPond 128 @node Requirements for compiling LilyPond
90 @subsection Requirements for compiling LilyPond 129 @subsection Requirements for compiling LilyPond
91 130
92 Below is a full list of packages needed to build LilyPond. 131 This section contains instructions on how to quickly and easily get all
93 However, for most common distributions there is an easy way of 132 the software packages required to build LilyPond.
94 installing most all build dependencies in one go: 133
95 134 Most of the more popular Linux distributions only require a few simple
96 @multitable @columnfractions .5 .5 135 commands to download all the software needed. For others, there is an
97 @headitem Distribution @tab Command 136 explicit list of all the individual packages (as well as where to get
98 @item Debian, Ubuntu 137 them from) for those that are not already included in your
99 @tab @code{sudo apt-get build-dep lilypond} 138 distributions' own repositories.
100 139
101 @item Fedora, RHEL 140 @ignore
102 @tab @code{sudo yum-builddep lilypond} 141 I have tested all of the following four Linux Distributions listed here
103 142 Using a simple virtual machine and the appropriate ISO image file
104 @item openSUSE, SLED 143 downloaded from each distribution's own website. The instructions
105 @c sorry for the idiosyncratic command, I really asked and argued 144 documented were run immeidiately after the initial installation
Trevor Daniels 2015/10/05 11:28:59 Typo
106 @c for "zypper build-dep" :-( 145 (without any further additional configuration to the OS) and I made sure
107 @tab @code{sudo zypper --build-deps-only source-install lilypond} 146 that I was able to run the full set of make, make test-baseline, make
108 @end multitable 147 check and a full make doc. - James
109 148 @end ignore
110 @itemize 149
111 @item Everything listed in @ref{Requirements for running 150 @menu
112 LilyPond} 151 * Fedora::
113 152 * Linux Mint::
114 @item Development packages for the above items (which should 153 * OpenSUSE::
115 include header files and libraries). 154 * Ubuntu::
116 155 * Other::
117 Red Hat Fedora: 156 @end menu
118 157
119 @c ghostscript-devel-[version] isn't needed 158
120 @example 159 @node Fedora
121 guile-devel-@var{version} 160 @unnumberedsubsubsec Fedora
122 fontconfig-devel-@var{version} 161
123 freetype-devel-@var{version} 162 The following instructions were tested on @q{Fedora 22} and include all
124 pango-devel-@var{version} 163 the software to both compile LilyPond and build the documenation.
125 python-devel-@var{version} 164
126 @end example 165 @itemize
127 166
128 Debian GNU/Linux: 167 @item
129 168 Download and install all the LilyPond build-dependencies (approximately
130 @c libgs-dev isn't needed 169 700MB);
131 @example 170
132 guile-@var{version}-dev 171 @example
133 libfontconfig1-dev 172 sudo dnf builddep lilypond --nogpgcheck
134 libfreetype6-dev 173 @end example
135 libpango1.0-dev 174
136 python@var{version}-dev 175 @item
137 @end example 176 Download and install additional @q{build} tools required for compiling;
138 177
139 @item @uref{http://flex.sourceforge.net/, Flex} 178 @example
140 179 sudo dnf install autoconf gcc-c++
141 @item @uref{http://fontforge.sf.net/, FontForge} (20060125 or 180 @end example
142 newer; 20100501 or newer is recommended; must be compiled 181
143 with @option{--enable-double}. Failure to do so can lead to 182 @item
144 poor intersection calculations and poorly-rendered glyphs.) 183 Download @code{texi2html 1.82} directly from:
145 184 @uref{http://download.savannah.gnu.org/releases/texi2html/texi2html-1.82.tar.gz} ;
146 @item @uref{http://www.gnu.org/software/bison/, GNU Bison} 185
147 186 @code{texi2html} is only required if you intend to compile LilyPond's
148 @item @uref{http://gcc.gnu.org/, GNU Compiler Collection} (3.4 or 187 own documentation (e.g. to help with any document writing). The version
149 newer, 4.@var{x} recommended) 188 available in the Fedora repositories is too new and will not work.
150 189 Extract the files into an appropriate location and then run the
151 @item @uref{http://www.gnu.org/software/gettext/gettext.html, GNU 190 commands;
152 gettext} (0.17 or newer) 191
153 192 @example
154 @item @uref{http://www.gnu.org/software/make/, GNU Make} (3.78 or 193 ./configure
155 newer) 194 make
156 195 sudo make install
157 @item @uref{http://metafont.tutorial.free.fr/, MetaFont} 196 @end example
158 (mf-nowin, mf, mfw or mfont binaries), usually packaged with 197
198 This should install @code{texi2html 1.82} into @code{/usr/local/bin},
199 which will normally take priority over @code{/usr/bin} where the
200 later, pre-installed versions gets put. Now verify that your operating
201 system is able to see the correct version of @code{texi2html}.
202
203 @example
204 texi2html --version
205 @end example
206
207 @item
208 Although not @q{required} to compile LilyPond, if you intend to
209 contribute to LilyPond (codebase or help improve the documentation) then
210 it is recommended that you also need to install @code{git}.
211
212 @example
213 sudo dnf install git
214 @end example
215
216 Also see @ruser{Starting with Git}.
217
218 @item
219 To use the @code{lily-git.tcl} GUI;
220
221 @example
222 sudo dnf install tk
223 @end example
224
225 See @ruser{lily-git}.
226
227 @end itemize
228
229
230
231 @node Linux Mint
232 @unnumberedsubsubsec Linux Mint
233
234 The following instructions were tested on @q{Linux Mint 17.1} and
235 @q{LMDE - Betsy} and include all the software to both compile LilyPond
236 and build the documenation.
237
238 @itemize
239
240 @item
241 Enable the @emph{sources} repository;
242
243 @enumerate
244
245 @item
246 Using the @emph{Software Sources} GUI (located under
247 @emph{Administration}).
248
249 @item
250 Select @emph{Official Repositories}.
251
252 @item
253 Check the @emph{Enable source code repositories} box under the
254 @emph{Source Code} section.
255
256 @item
257 Click the @emph{Update the cache} button and when it has completed,
258 close the @emph{Software Sources} GUI.
259
260 @end enumerate
261
262 @item
263 Download and instgall all the LilyPond build-dependencies (approximately
Trevor Daniels 2015/10/05 11:28:59 Typo
264 200MB);
265
266 @example
267 sudo apt-get build-dep lilypond
268 @end example
269
270 @item
271 Download and install additional @q{build} tools required for compiling;
272
273 @example
274 sudo apt-get install autoconf fonts-texgyre texlive-lang-cyrillic
275 @end example
276
277 @item
278 Although not @q{required} to compile LilyPond, if you intend to
279 contribute to LilyPond (codebase or help improve the documentation) then
280 it is recommended that you also need to install @code{git}.
281
282 @example
283 sudo apt-get install git
284 @end example
285
286 Also see @ruser{Starting with Git}.
287
288 @item
289 To use the @code{lily-git.tcl} GUI;
290
291 @example
292 sudo apt-get install tk
293 @end example
294
295 Also see @ruser{lily-git}.
296
297 @end itemize
298
299
300 @node OpenSUSE
301 @unnumberedsubsubsec OpenSUSE
302
303 The following instructions were tested on @q{OpenSUSE 13.2} and include
304 all the software to both compile LilyPond and build the documenation.
305
306 @itemize
307
308 @item
309 Add the @emph{sources} repository;
310
311 @smallexample
312 sudo zypper addrepo -f \
313 "http://download.opensuse.org/source/distribution/13.2/repo/oss/" sources
314 @end smallexample
315
316 @item
317 Download and install all the LilyPond build-dependencies (approximately
318 680MB);
319
320 @example
321 sudo zypper source-install lilypond
322 @end example
323
324 @item
325 Download and install additional @q{build} tools required for compiling;
326
327 @example
328 sudo zypper install make
329 @end example
330
331 @item
332 Although not @q{required} to compile LilyPond, if you intend to
333 contribute to LilyPond (codebase or help improve the documentation) then
334 it is recommended that you also need to install @code{git}.
335
336 @example
337 sudo apt-get install git
338 @end example
339
340 Also see @ruser{Starting with Git}.
341
342 @item
343 To use the @code{lily-git.tcl} GUI;
344
345 @example
346 sudo zypper install tk
347 @end example
348
349 Also see @ruser{lily-git}.
350
351 @end itemize
352
353
354
355 @node Ubuntu
356 @unnumberedsubsubsec Ubuntu
357
358 The following commands were tested on Ubuntu versions @code{14.04 LTS},
359 @code{14.10} and @code{15.04} and include all the software to both
360 compile LilyPond and build the documenation.
361
362 @itemize
363
364 @item
365 Download and install all the LilyPond build-dependencies (approximately
366 200MB);
367
368 @example
369 sudo apt-get build-dep lilypond
370 @end example
371
372 @item
373 Download and install additional @q{build} tools required for compiling;
374
375 @example
376 sudo apt-get install autoconf fonts-texgyre texlive-land-cyrillic
377 @end example
378
379 @item
380 Although not @q{required} to compile LilyPond, if you intend to
381 contribute to LilyPond (codebase or help improve the documentation) then
382 it is recommended that you also need to install @code{git}.
383
384 @example
385 sudo apt-get install git
386 @end example
387
388 Also see @ruser{Starting with Git}.
389
390 @item
391 To use the @code{lily-git.tcl} GUI;
392
393 @example
394 sudo apt-get install tk
395 @end example
396
397 Also see @ruser{lily-git}.
398
399 @end itemize
400
401
402 @node Other
403 @unnumberedsubsubsec Other
404
405 The following individual software packages are required just to compile
406 LilyPond.
407
408 @itemize
409
410 @item
411 @uref{http://www.gnu.org/software/autoconf, GNU Autoconf}
412
413 @item
414 @uref{http://www.gnu.org/software/bison/, GNU Bison}
415
416 Use version @code{2.0} or newer.
417
418 @item
419 @uref{http://gcc.gnu.org/, GNU Compiler Collection}
420
421 Use version @code{3.4} or newer (@code{4.x} recommended).
422
423 @item
424 @uref{http://flex.sourceforge.net/, Flex}
425
426 @item
427 @uref{http://fontforge.sf.net/, FontForge}
428
429 Use version @code{20060125} or newer (we recommend using at least
430 @code{20100501}); it must also be compiled with the
431 @option{--enable-double} switch, else this can lead to inaccurate
432 intersection calculations which end up with poorly-rendered glyphs in
433 the output.
434
435 @item
436 @uref{http://www.gnu.org/software/gettext/gettext.html, GNU gettext}
437
438 Use version @code{0.17} or newer.
439
440 @item
441 @uref{http://www.gnu.org/software/make/, GNU Make}
442
443 Use version @code{3.78} or newer.
444
445 @item
446 @uref{http://metafont.tutorial.free.fr/, MetaFont}
447
448 The @code{mf-nowin}, @code{mf}, @code{mfw} or @code{mfont} binaries are
449 usually packaged along with
159 @uref{http://www.latex-project.org/ftp.html, @TeX{}}. 450 @uref{http://www.latex-project.org/ftp.html, @TeX{}}.
160 451
161 @item @uref{http://cm.bell-labs.com/who/hobby/MetaPost.html, 452 @item
162 MetaPost} (mpost binary), usually packaged with 453 @uref{http://cm.bell-labs.com/who/hobby/MetaPost.html, MetaPost}
454
455 The @code{mpost} binary is also usually packaged with
163 @uref{http://www.latex-project.org/ftp.html, @TeX{}}. 456 @uref{http://www.latex-project.org/ftp.html, @TeX{}}.
164 457
165 @item @uref{http://www.perl.org/, Perl} 458 @item
166 459 @uref{http://www.perl.org/, Perl}
167 @item @uref{http://www.gnu.org/software/texinfo/, Texinfo} (4.11 460
168 or newer) 461 @item
169 462 @uref{http://www.gnu.org/software/texinfo/, Texinfo}
170 @item @uref{http://www.lcdf.org/~eddietwo/type/#t1utils, Type 1 463
171 utilities} (1.33 or newer recommended) 464 Use version @code{4.11} or newer.
465
466 @item
467 @uref{http://www.lcdf.org/~eddietwo/type/#t1utils, Type 1 utilities}
468
469 Use version @code{1.33} or newer.
470
471 @item
472 @uref{https://www.ctan.org/pkg/cyrillic?lang=en, Cyrillic fonts}
473
474 Often packaged in repositories as @code{texlive-lang-cyrillic}.
475
476 @item
477 TeX Gyre @q{OTF} font packages. As of LilyPond version @code{2.19.26},
478 the previous default serif, san serif and monospace fonts now use Tex
479 Gyre's @emph{Schola}, @emph{Heros} and @emph{Cursor} fonts respectively.
480 Also See @ruser{Fonts}.
481
482 Some distributions do not always provide @q{OTF} font files in the Tex
483 Gyre packages from their repositories. Use the command
484 @code{fc-list | grep texgyre} to list the fonts available to your system
485 and check that the appropriate @code{*.otf} files are reported. If they
486 are not then download and manually extract the @q{OTF} files to either
487 your local @code{~/.fonts/} directory or use the
488 @code{configure} command and the
489 @code{--with-texgyre-dir=/path_to_otf_files/} option.
490
491 The following font families are required:
492
493 @uref{http://www.gust.org.pl/projects/e-foundry/tex-gyre/schola, Schola},
494 @uref{http://www.gust.org.pl/projects/e-foundry/tex-gyre/heros, Heros}
495 and
496 @uref{http://www.gust.org.pl/projects/e-foundry/tex-gyre/cursor, Cursor}.
497
172 @end itemize 498 @end itemize
173 499
174 500
501
175 @node Requirements for building documentation 502 @node Requirements for building documentation
176 @subsection Requirements for building documentation 503 @subsection Requirements for building documentation
177 504
178 You can view the documentation online at 505 The entire set of documentation for the most current build of LilyPond
179 @uref{http://www.lilypond.org/doc/}, but you can also build it 506 is available online at
180 locally. This process requires some additional tools and 507 @uref{http://lilypond.org/doc/v2.19/Documentation/web/development}, but
181 packages: 508 you can also build them locally from the source code. This process
182 509 requires some additional tools and packages.
183 @itemize 510
184 @item Everything listed in @ref{Requirements for compiling 511 @warning{If you have used the instructions for one of the Linux
185 LilyPond} 512 distributions explicitly listed in the previous section
186 513 (@rcontrib{Requirements for compiling LilyPond}) then the following can
187 @item @uref{http://www.imagemagick.org/, ImageMagick} 514 be ignored as the software should already be installed.}
188 515
189 @item @uref{http://netpbm.sourceforge.net/, Netpbm} 516 @itemize
190 517
191 @item @uref{http://gzip.org/, gzip} 518 @item
192 519 Everything listed in @ref{Requirements for compiling LilyPond}
193 @item @uref{http://rsync.samba.org/, rsync} 520
194 521 @item
195 @item @uref{http://www.nongnu.org/texi2html/, Texi2HTML} (1.82) 522 @uref{http://www.imagemagick.org/, ImageMagick}
196 523
197 @item International fonts 524 @item
198 525 @uref{http://netpbm.sourceforge.net/, Netpbm}
199 Red Hat Fedora: 526
527 @item
528 @uref{http://gzip.org/, gzip}
529
530 @item
531 @uref{http://rsync.samba.org/, rsync}
532
533 @item
534 @uref{http://www.nongnu.org/texi2html/, Texi2HTML}
535
536 Use version @code{1.82}. Later versions will not work.
537
538 Download @code{texi2html 1.82} directly from:
539 @uref{http://download.savannah.gnu.org/releases/texi2html/texi2html-1.82.tar.gz} ;
540
541 Extract the files into an appropriate location and then run the
542 commands;
543
544 @example
545 ./configure
546 make
547 sudo make install
548 @end example
549
550 Now verify that your operating system is able to see the correct version
551 of @code{texi2html}.
552
553 @example
554 texi2html --version
555 @end example
556
557 @item
558 International fonts. For example:
559
560 Fedora:
200 561
201 @example 562 @example
202 fonts-arabic 563 fonts-arabic
203 fonts-hebrew 564 fonts-hebrew
204 fonts-ja 565 fonts-ja
205 fonts-xorg-truetype 566 fonts-xorg-truetype
206 taipeifonts 567 taipeifonts
207 ttfonts-ja 568 ttfonts-ja
208 ttfonts-zh_CN 569 ttfonts-zh_CN
209 @end example 570 @end example
210 571
211 Debian GNU/Linux: 572 Debian based distributions:
212 573
213 @example 574 @example
214 emacs-intl-fonts 575 emacs-intl-fonts
215 ttf-kochi-gothic 576 ttf-kochi-gothic
216 ttf-kochi-mincho 577 ttf-kochi-mincho
217 xfonts-bolkhov-75dpi 578 xfonts-bolkhov-75dpi
218 xfonts-cronyx-75dpi 579 xfonts-cronyx-75dpi
219 xfonts-cronyx-100dpi 580 xfonts-cronyx-100dpi
220 xfonts-intl-.* 581 xfonts-intl-.*
221 @end example 582 @end example
583
222 @end itemize 584 @end itemize
223 585
224 586
587
225 @node Getting the source code 588 @node Getting the source code
226 @section Getting the source code 589 @section Getting the source code
227 590
228 591
229 @subheading Downloading the Git repository 592 @subheading Downloading the Git repository
230 593
231 In general, developers compile LilyPond from within a local Git 594 In general, developers compile LilyPond from within a local Git
232 repository. Setting up a local Git repository is explained in 595 repository. Setting up a local Git repository is explained in
233 @rcontrib{Starting with Git}. 596 @rcontrib{Starting with Git}.
234 597
(...skipping 680 matching lines...) Expand 10 before | Expand all | Expand 10 after
915 @rcontrib{Regression tests}. 1278 @rcontrib{Regression tests}.
916 1279
917 @node Problems 1280 @node Problems
918 @section Problems 1281 @section Problems
919 1282
920 For help and questions use @email{lilypond-user@@gnu.org}. Send 1283 For help and questions use @email{lilypond-user@@gnu.org}. Send
921 bug reports to @email{bug-lilypond@@gnu.org}. 1284 bug reports to @email{bug-lilypond@@gnu.org}.
922 1285
923 Bugs that are not fault of LilyPond are documented here. 1286 Bugs that are not fault of LilyPond are documented here.
924 1287
925 @unnumberedsubsec Bison 1.875
926
927 There is a bug in bison-1.875: compilation fails with "parse error
928 before `goto'" in line 4922 due to a bug in bison. To fix, please
929 recompile bison 1.875 with the following fix
930
931 @example
932 $ cd lily; make out/parser.cc
933 $ vi +4919 out/parser.cc
934 # append a semicolon to the line containing "__attribute__ ((__unused__))
935 # save
936 $ make
937 @end example
938
939 1288
940 @unnumberedsubsec Compiling on MacOS@tie{}X 1289 @unnumberedsubsec Compiling on MacOS@tie{}X
941 1290
942 Here are special instructions for compiling under MacOS@tie{}X. 1291 Here are special instructions for compiling under MacOS@tie{}X.
943 These instructions assume that dependencies are installed using 1292 These instructions assume that dependencies are installed using
944 @uref{http://www.macports.org/, MacPorts.} The instructions have 1293 @uref{http://www.macports.org/, MacPorts.} The instructions have
945 been tested using OS X 10.5 (Leopard). 1294 been tested using OS X 10.5 (Leopard).
946 1295
947 First, install the relevant dependencies using MacPorts. 1296 First, install the relevant dependencies using MacPorts.
948 1297
(...skipping 188 matching lines...) Expand 10 before | Expand all | Expand 10 after
1137 1486
1138 @item 1487 @item
1139 not (?) used in the main docs? 1488 not (?) used in the main docs?
1140 1489
1141 @item 1490 @item
1142 the numbers in VERSION file: MINOR_VERSION should be 1 more than 1491 the numbers in VERSION file: MINOR_VERSION should be 1 more than
1143 the last release, VERSION_DEVEL should be the last @strong{online} 1492 the last release, VERSION_DEVEL should be the last @strong{online}
1144 release. Yes, VERSION_DEVEL is less than VERSION. 1493 release. Yes, VERSION_DEVEL is less than VERSION.
1145 1494
1146 @end itemize 1495 @end itemize
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
RSS Feeds Recent Issues | This issue
This is Rietveld f62528b