Hi, when trying to build LilyPond 2.1.9, I ran into some problems, all of which I managed to fix/workaround, so you may probably be interested. Two problems are directly related to the LilyPond sources, the other two are related to bison 1.875 and mftrace/potrace, but may nevertheless be mentioned in the section "Problems" of the installation guide (especially that evil mftrace/potrace beast, see below).
First, the versions of used packages I used to build LilyPond: mftrace 1.0.26 AutoTrace 0.31.1 potrace 1.2 (won't work, see below) Python 2.3.2 gcc 3.3.2 bison 1.875 (with patch, see below) flex 2.5.31 texinfo 4.6 GNU Make 3.80 kpathsea version 3.4.5 (teTeX-2.0.2) Guile 1.6.0 So to the problems: When using shell other than bash (or a bash restricted to POSIX), make web will fail to copy several .png and .ly files to their final destination. That's due to the use of the {,,,} globbing feature of bash within Documentation/user/GNUMakefile: -cp -f $(outdir)/*.{png,ly} $(outdir)/lilypond AFAIK, that globbing is very bash-specific. Fixed in attached lilypond-2.1.9.patch. Next, the pfa_trace target in mf/GNUMakefile is broken if the value of MFTRACE contains an absolute path (anything else than just `mftrace'). Also fixed in lilypond-2.1.9.patch (I just replaced $(basedir ...) by $(notdir ...)). However, even with this fix, MFTRACE will still be restricted to some program called `mftrace', not `my-mftrace' or `better-than-mftrace', so that pfa_trace target should be rewritten. It would also nice to have configure recognice an MFTRACEFLAGS environment variable. That would simplify the workaround on the potrace bug mentioned below. The third problem is triggered by a bug in bison-1.875: compilation fails with "parse error before `goto'" in line 4922 due to a bug in bison. To fix, either recompile bison 1.875 with the attached bison-1.875.patch or: $ cd lily; make out/parser.cc $ vi +4919 out/parser.cc # append a semicolon to the line containing "__attribute__ ((__unused__)) # save $ make The last problem is related to potrace. When both, autotrace *and* potrace are installed, mftrace seems to prefer potrace. However, whith potrace installed, there will be several error messages in the LilyPond build like this: | Tracing bitmaps... [33warning: potrace: command exited with value 139 (ignored) warning: Trace failed on bitmap. Bitmap left in `/usr/local/src/sound/LilyPond/lilypond-2.1.9/mf/trace-bug-feta-din10.7227gf-33.pbm' | Failed command was: | | potrace -u 1 -q -c --eps --output=char.eps /usr/local/src/sound/LilyPond/lilypond-2.1.9/mf/trace-bug-feta-din10.7227gf-33.pbm | | Please submit a bugreport to potrace development. | Continuing trace... | warning: Failed, skipping character. | (skipping character)][102][109][112][114][115](624.0, 924.0) That happens for all feta-din* as well as for feta-nummer* fonts. Unfortunately, after the failure of potrace, mftrace just continues, so does the whole LilyPond build. You'll end up with a running (but completely broken) LilyPond. It will vertically displace clefs, accidentals, stems, ... see attached lily-1269333678.ly and lily-1269333678.png (taken from the last example from section `Notation in LilyPond' of the user manual). Since that bug of mftrace/potrace is hard to find (it tokk me two days), it should me mentioned in INSTALL.txt and INSTALL.html, in *bold* face :-) To fix that potrace problem, either don't install potrace but only autotrace, or create a simple wrapper script `mftrace' within the LilyPond source directory: $ cd lilypond-2.1.9 $ cat > mftrace #!/bin/sh exec /usr/local/bin/mftrace --autotrace "$@" ^D $ chmod +x mftrace Then, just run ./configure with MFTRACE set to `pwd`/mftrace: $ MFTRACE=`pwd`/mftrace ./configure With all those fixes, LilyPond 2.1.9 seems to work great. Ciao, Kili
diff -rNu ../lilypond-2.1.9/Documentation/user/GNUmakefile ./Documentation/user/GNUmakefile --- ../lilypond-2.1.9/Documentation/user/GNUmakefile 2003-09-26 11:41:20.000000000 +0200 +++ ./Documentation/user/GNUmakefile 2004-01-18 18:24:41.000000000 +0100 @@ -69,7 +69,7 @@ mkdir -p $(dir $@) $(MAKEINFO) --output=$(outdir)/lilypond --html $< $(MAKEINFO) -I $(outdir) --output=$@ --html --no-split --no-headers $< - -cp -f $(outdir)/*.{png,ly} $(outdir)/lilypond + -cp -f $(outdir)/*.png $(outdir)/*.ly $(outdir)/lilypond $(outdir)/lilypond-internals/lilypond-internals.html: $(outdir)/lilypond-internals.texi mkdir -p $(dir $@) diff -rNu ../lilypond-2.1.9/mf/GNUmakefile ./mf/GNUmakefile --- ../lilypond-2.1.9/mf/GNUmakefile 2004-01-05 01:54:42.000000000 +0100 +++ ./mf/GNUmakefile 2004-01-18 16:39:20.000000000 +0100 @@ -72,7 +72,7 @@ pfa_warning: -ifneq ($(basename $(MFTRACE)),mftrace) +ifneq ($(notdir $(MFTRACE)),mftrace) @echo "" @echo "ERROR: mftrace not found" @echo ""
diff -rNu ../bison-1.875/data/yacc.c ./data/yacc.c --- ../bison-1.875/data/yacc.c 2002-12-28 09:36:02.000000000 +0100 +++ ./data/yacc.c 2004-01-18 12:22:00.000000000 +0100 @@ -1114,7 +1114,7 @@ /* Suppress GCC warning that yyerrlab1 is unused when no action invokes YYERROR. */ #if defined (__GNUC_MINOR__) && 2093 <= (__GNUC__ * 1000 + __GNUC_MINOR__) - __attribute__ ((__unused__)) + __attribute__ ((__unused__)); #endif ]b4_location_if([ yylerrsp = yylsp;
% Generated automatically by: lilypond-book.py % options are notexidoc \include "paper16.ly" \paper { linewidth = 455.244096\pt } \include "engraver-example.lyinc" \score { << \new Staff << \topVoice \\ \botVoice >> \new Staff << \pah \\ \hoom >> >> }
lily-1269333678.png
Description: Binary data
_______________________________________________ Bug-lilypond mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/bug-lilypond