]> git.donarmstrong.com Git - lilypond.git/blobdiff - Documentation/topdocs/INSTALL.texi
* GNUmakefile.in: remove no kpathsea hack.
[lilypond.git] / Documentation / topdocs / INSTALL.texi
index df2bc044d089d335ab5f700c8c2e101d272e76e3..cc64d3221e4a0a903c9ea07b6c27458d419266a0 100644 (file)
@@ -1,4 +1,5 @@
-@node 
+@node Top, , , (dir)
+@top
 @comment  node-name,  next,  previous,  up\input texinfo @c -*-texinfo-*-
 @setfilename INSTALL.info
 @settitle INSTALL - compiling and installing GNU LilyPond
 @comment  node-name,  next,  previous,  up\input texinfo @c -*-texinfo-*-
 @setfilename INSTALL.info
 @settitle INSTALL - compiling and installing GNU LilyPond
@@ -7,9 +8,6 @@
 <!--- @@WEB-TITLE@@=Installation Instructions --->
 @end html
 
 <!--- @@WEB-TITLE@@=Installation Instructions --->
 @end html
 
-@node Top, , , (dir)
-@top
-
 @contents
 
 @chapter INSTALL - compiling and installing GNU LilyPond
 @contents
 
 @chapter INSTALL - compiling and installing GNU LilyPond
@@ -33,43 +31,39 @@ servers}. Big enhancements go into the latest odd numbered version
 (1.5), whose webpages are on @uref{http://www.lilypond.org/,the lilypond
 site}.
 
 (1.5), whose webpages are on @uref{http://www.lilypond.org/,the lilypond
 site}.
 
+Building LilyPond is an involved process. We advise to use binary
+packages if these are available for your platform.
+
 @subsection Source code
 
 @subsection Source code
 
-If you want to compile LilyPond from source, download here:
+  If you want to compile LilyPond from source, download here:
 @itemize @bullet
 @item Download development releases from
 @c Hmm, these won't show up in lilypond.org/stats
 @c Otoh, lilypond.org is not updated when release mail arrives
 @itemize @bullet
 @item Download development releases from
 @c Hmm, these won't show up in lilypond.org/stats
 @c Otoh, lilypond.org is not updated when release mail arrives
-@uref{ftp://ftp.cs.uu.nl/pub/GNU/LilyPond/} by FTP and
-@uref{http://ftp.cs.uu.nl/pub/GNU/LilyPond/}, by HTTP.
-@item @uref{ftp://sca.uwaterloo.ca/pub/} by FTP (Canadian mirror)
-@item at @code{lilypond.org} 
 @uref{ftp://ftp.lilypond.org/pub/LilyPond/} by FTP and
 @uref{http://www.lilypond.org/ftp/} by HTTP.
 @uref{ftp://ftp.lilypond.org/pub/LilyPond/} by FTP and
 @uref{http://www.lilypond.org/ftp/} by HTTP.
+@item @uref{ftp://sca.uwaterloo.ca/pub/} by FTP (Canadian mirror)
 @end itemize
 
 
 @end itemize
 
 
-Of course, if your platform supports LilyPond, such as Debian GNU/Linux,
-FreeBSD, OpenBSD or NetBSD, you're encouraged to use the native build
-from source drill.
-
 For Red Hat Linux and SuSE Linux, @file{.spec} files are included in the
 tarball; see instructions below.
 
 For Red Hat Linux and SuSE Linux, @file{.spec} files are included in the
 tarball; see instructions below.
 
+Of course, if your platform supports LilyPond, such as Debian GNU/Linux,
+FreeBSD, OpenBSD or NetBSD, you're encouraged to use the native build
+from source drill.
 
 
-@subsubsection Anonymous CVS access
-
-Short version:
+The latest development version is also available through anonymous
+CVS. See @uref{http://savannah.gnu.org/cvs/?group=lilypond}.
 
 
+CVS does not contain generated files.  To create @file{configure}, run
 @quotation
 @example
 @quotation
 @example
-cvs -d :pserver:anoncvs@@lilypond.org:/home/lilypond login
-cvs -d :pserver:anoncvs@@lilypond.org:/home/lilypond co -P lilypond
+./autogen.sh
 @end example
 @end quotation
 
 @end example
 @end quotation
 
-See @uref{http://lilypond.org/wiki/?CVS} for more information.
-
 @html
 <a name="download-binaries">
 @end html
 @html
 <a name="download-binaries">
 @end html
@@ -93,7 +87,7 @@ to compile them ourselves, they are not updated for every version
 released.
 
 @itemize @bullet
 released.
 
 @itemize @bullet
-@item @uref{ftp://ftp.cs.uu.nl/pub/GNU/LilyPond/binaries/RedHat/RPMS/, Red Hat i386}
+@item @uref{http://www-ccrma.stanford.edu/planetccrma/software/soundapps.html#lilypond,Red Hat i386}
 @item @uref{ftp://ftp.lilypond.org/pub/LilyPond/binaries/SuSE, SuSE}
 @item @uref{ftp://ftp.lilypond.org/pub/LilyPond/binaries/linuxppc/,
 LinuxPPC}
 @item @uref{ftp://ftp.lilypond.org/pub/LilyPond/binaries/SuSE, SuSE}
 @item @uref{ftp://ftp.lilypond.org/pub/LilyPond/binaries/linuxppc/,
 LinuxPPC}
@@ -125,6 +119,18 @@ on the FTP site.
 @end example
 @end itemize
 
 @end example
 @end itemize
 
+@subsection Font problems.
+
+If you are upgrading from a previous version of LilyPond, be sure to
+remove all old font files. These include @file{.pk} and @file{.tfm} files
+that may be located in @file{/var/lib/texmf}, @file{/var/spool/texmf},
+@file{/var/tmp/texmf} or @file{@var{prefix}/share/lilypond/fonts/}.  A
+script automating this has been included, see
+@file{buildscripts/clean-fonts.sh}.
+
+
+
+
 @section Requirements
 
 @subsection Compilation
 @section Requirements
 
 @subsection Compilation
@@ -137,12 +143,14 @@ EGCS 1.1 may work, but is no longer supported.
 Check out @uref{ftp://ftp.gnu.org/gnu/gcc/, the gcc site}.
 
 WARNING: if you choose to upgrade to GCC 3.x, enquire if your
 Check out @uref{ftp://ftp.gnu.org/gnu/gcc/, the gcc site}.
 
 WARNING: if you choose to upgrade to GCC 3.x, enquire if your
-distribution supports g++ 3.x and flex.
+distribution supports g++ 3.x and flex.  At the time of writing (Fri
+Jul 5 2002), @strong{no} distribution that we know of ships a flex
+that generates gcc-3.1.x compliant C++ code.
 
 
-@item Python (version 1.5 or newer).
+@item Python (version 2.1 or newer).
 Check out @uref{http://www.python.org, the python website}.
 
 Check out @uref{http://www.python.org, the python website}.
 
-@item GUILE (version 1.4 or newer).
+@item GUILE (version 1.6 or newer).
 Check out
 @uref{http://www.gnu.org/software/guile/guile.html,the GUILE webpage}.
 
 Check out
 @uref{http://www.gnu.org/software/guile/guile.html,the GUILE webpage}.
 
@@ -156,8 +164,8 @@ Check out @uref{http://www.gnu.org/software/flex/,the Flex webpage}.
 
 WARNING: plain Flex 2.5.4(a) generates invalid C++ code.  GCC 3.x
 chokes on this.  If you wish to use GCC 3.x, make sure that your
 
 WARNING: plain Flex 2.5.4(a) generates invalid C++ code.  GCC 3.x
 chokes on this.  If you wish to use GCC 3.x, make sure that your
-distribution supports g++ 3.x and flex.  For a workaround, see
-lexer-gcc-3.0 below.
+distribution supports g++ 3.x and flex.  For workarounds, see
+lexer-gcc-3.0.patch and lexer-gcc-3.1.sh in the source directory.
 
 @item Bison (version 1.25 or newer).
 Check out @uref{http://www.gnu.org/software/bison/,the bison  webpage}
 
 @item Bison (version 1.25 or newer).
 Check out @uref{http://www.gnu.org/software/bison/,the bison  webpage}
@@ -166,9 +174,10 @@ Check out @uref{http://www.gnu.org/software/bison/,the bison  webpage}
 
 @TeX{} is used as an output backend.
 
 
 @TeX{} is used as an output backend.
 
-Also, @TeX{}'s libkpathsea is used to find the fonts (@file{.mf}, @file{.afm}, @file{.tfm}).
-Make sure you have tetex 1.0 or newer (1.0.6 is known to work).  You may
-need to install a tetex-devel or tetex-dev package too.
+Also, @TeX{}'s libkpathsea is used to find the fonts (@file{.mf},
+@file{.afm}, @file{.tfm}).  Make sure you have tetex 1.0 or newer
+(1.0.6 is known to work).  You may need to install a tetex-devel (or
+tetex-dev or libkpathsea-dev) package too.
 
 @item Texinfo (version 4.2 or newer).
 The documentation of lily is written in texinfo.  Check out
 
 @item Texinfo (version 4.2 or newer).
 The documentation of lily is written in texinfo.  Check out
@@ -181,10 +190,10 @@ FTP directory for @code{geometry}}. This package is normally included
 with the @TeX{} distribution.
 
 @item kpathsea, a library for searching (@TeX{}) files.  @code{kpathsea} is
 with the @TeX{} distribution.
 
 @item kpathsea, a library for searching (@TeX{}) files.  @code{kpathsea} is
-usually included with your installation of @TeX{}.  You may need to install
-a tetex-devel or tetex-dev package too. If kpathsea is not installed in
-a directory where the compiler normally looks, read the hints for
-Slackware below.
+usually included with your installation of @TeX{}.  You may need to
+install a tetex-devel or tetex-dev package too. If kpathsea is not
+installed in a directory where the compiler normally looks, read the
+hints for Slackware below.
 
 In the very unlikely case that kpathsea is not available for your
 platform (ie, you're not running GNU/Linux, Windows, or any recent
 
 In the very unlikely case that kpathsea is not available for your
 platform (ie, you're not running GNU/Linux, Windows, or any recent
@@ -208,7 +217,8 @@ following software
 @itemize @bullet
 @item @TeX{}.
 @item Xdvi and Ghostscript
 @itemize @bullet
 @item @TeX{}.
 @item Xdvi and Ghostscript
-@item GUILE 1.4, or newer.  Check out
+@item GUILE 1.4, or newer.
+Check out
 @uref{http://www.gnu.org/software/guile.html,the GUILE webpage}
 @end itemize
 
 @uref{http://www.gnu.org/software/guile.html,the GUILE webpage}
 @end itemize
 
@@ -222,15 +232,15 @@ Csh and bourne sh scripts are left in
 LilyPond is a big and slow program.  A fast CPU and plenty of RAM is
 recommended for comfortable use.
 
 LilyPond is a big and slow program.  A fast CPU and plenty of RAM is
 recommended for comfortable use.
 
-@subsection Website requirements
+@subsection Building documentation
 
 
-The documentation comes in the form of a website. You can view this
-website on the internet, but you can also build it locally. This process
-requires a successful compile of lilypond. The website is built 
-by issuing
+You can view the documentation online at
+@uref{http://www.lilypond.org/stable/Documentation/out-www/}, but you
+can also build it locally. This process requires a successful compile of
+lilypond. The documentation is built by issuing
 @example 
 
 @example 
 
-  make web-doc
+  make web
  
 @end example 
 
  
 @end example 
 
@@ -238,12 +248,12 @@ Building the website requires some additional tools:
 
 @itemize @bullet
 @item The netpbm utilities, see @uref{http://netpbm.sourceforge.net/}
 
 @itemize @bullet
 @item The netpbm utilities, see @uref{http://netpbm.sourceforge.net/}
-@item pktrace 1.0 or newer, needed for generating PostScript Type1
-fonts. Get it from @uref{http://www.cs.uu.nl/~hanwen/pktrace/}.  You
-will need to install some additional packages to get pktrace to work.
+@item mftrace 1.0 or newer, needed for generating PostScript Type1
+fonts. Get it from @uref{http://www.cs.uu.nl/~hanwen/mftrace/}.  You
+will need to install some additional packages to get mftrace to work.
 @end itemize
 
 @end itemize
 
-@section Building  LilyPond
+@section Building LilyPond
 
 to install GNU LilyPond, type:
 @example 
 
 to install GNU LilyPond, type:
 @example 
@@ -286,7 +296,7 @@ build,
 @c prefix=~ ?
 @example 
 
 @c prefix=~ ?
 @example 
 
-      ./configure --prefix=~ --enable-checking
+      ./configure --prefix=$HOME/usr/ --enable-checking
       make
       make install
 @end example 
       make
       make install
 @end example 
@@ -295,7 +305,7 @@ and for the profiling version, I specify a different configuration.
 
 @example 
 
 
 @example 
 
-      ./configure --prefix=~ --enable-profiling --enable-config=prof --disable-checking
+      ./configure --prefix=$HOME/usr/ --enable-profiling --enable-config=prof --disable-checking
       make conf=prof
       make conf=prof install
 
       make conf=prof
       make conf=prof install
 
@@ -307,24 +317,22 @@ and for the profiling version, I specify a different configuration.
 
 @section Emacs mode
 
 
 @section Emacs mode
 
-An Emacs mode for entering music and running LilyPond is included with
+An Emacs mode for entering music and running LilyPond is contained in
 the source archive as @file{lilypond-mode.el},
 the source archive as @file{lilypond-mode.el},
-@file{lilypond-indent.el} and @file{lilypond-font-lock.el}.  You
-should install these files somewhere in your @var{load-path}.  If you
-have installed a precompiled LilyPond package, these files can be
-found in @file{/usr/share/doc/lilypond-x.y.z/}.
-
-Add this to your @file{~/.emacs} or @file{~/.emacs.el}, or install this
-file in Emacs' @file{site-start.d}:
+@file{lilypond-indent.el}, @file{lilypond-font-lock.el} and 
+@file{lilypond.words}.
+You should install these files to a directory included in your 
+@var{load-path}. File @file{lilypond-init.el} should be placed to 
+@var{load-path}@file{/site-start.d/} or appended to your @file{~/.emacs}
+or @file{~/.emacs.el}. If you have installed a precompiled LilyPond 
+package, these files can be found in @file{/usr/share/doc/lilypond-x.y.z/}. 
+
+As a user, you may want add your source path or, e.g., @file{~/site-lisp/} 
+to your @var{load-path}. Append the following line (modified) to your 
+@file{~/.emacs}:
 @quotation
 @example
 @quotation
 @example
-  ;;; lilypond-init.el --- Startup code for LilyPond mode
-
-  (autoload 'LilyPond-mode "lilypond-mode")
-  (setq auto-mode-alist
-        (cons '("\\.ly$" . LilyPond-mode) auto-mode-alist))
-
-  (add-hook 'LilyPond-mode-hook (lambda () (turn-on-font-lock)))
+(setq load-path (append (list (expand-file-name "~/site-lisp")) load-path))
 @end example
 @end quotation
 
 @end example
 @end quotation
 
@@ -332,20 +340,39 @@ If you have the latest LilyPond-1.4.x Debian package, LilyPond-mode is
 automatically loaded, you not even need to modify your @code{~/.emacs}
 file.
 
 automatically loaded, you not even need to modify your @code{~/.emacs}
 file.
 
+@section Vim mode
+
+A Vim mode for entering music and running LilyPond is contained in
+the source archive. Append the content of @file{vimrc} to @file{~/.vimrc}
+to get shortcuts. Install file @file{lilypond.words} to @file{~/.vim/} to 
+get auto-completion. Syntax highlighting you get by installing 
+@file{lilypond.vim} to @file{~/.vim/syntax/} and appending the following
+to @file{~/.vim/filetype.vim}:
+@quotation
+@example
+" my filetype file
+if exists("did_load_filetypes")
+  finish
+endif
+augroup filetypedetect
+  au! BufRead,BufNewFile  *.ly          setfiletype lilypond
+augroup
+@end example
+@end quotation
+
 @section Compiling for distributions 
 
 @subsection Red Hat Linux
 
 @section Compiling for distributions 
 
 @subsection Red Hat Linux
 
-Red Hat 7.x i386 RPMS are available from
-@uref{ftp://ftp.cs.uu.nl/pub/GNU/LilyPond/binaries/}.  For running on
-a Red Hat system you need these packages: guile, tetex, tetex-latex,
-tetex-dvips, libstdc++, python, ghostscript.
 
 
-You can also compile them yourself.  A spec file is in
+You can compile RPMS yourself.  For running on a Red Hat system you
+need these packages: guile, tetex, tetex-latex, tetex-dvips,
+libstdc++, python, ghostscript.  A spec file is in
 @file{make/out/lilypond.redhat.spec}. This file is distributed along
 with the sources.  You can make the rpm by issuing
 @example 
 
 @file{make/out/lilypond.redhat.spec}. This file is distributed along
 with the sources.  You can make the rpm by issuing
 @example 
 
+        cp lilypond-x.y.z.tar.gz /usr/src/redhat/SOURCES/
         tar xfz lilypond-x.y.z.tar.gz
        rpm -bb lilypond-x.y.z/make/out/lilypond.redhat.spec
        rpm -i /usr/src/redhat/RPMS/i386/lilypond-x.y.z
         tar xfz lilypond-x.y.z.tar.gz
        rpm -bb lilypond-x.y.z/make/out/lilypond.redhat.spec
        rpm -i /usr/src/redhat/RPMS/i386/lilypond-x.y.z
@@ -354,19 +381,9 @@ with the sources.  You can make the rpm by issuing
 
 For compilation on a Red Hat system you need these packages, in
 addition to the those needed for running: glibc-devel, gcc-c++,
 
 For compilation on a Red Hat system you need these packages, in
 addition to the those needed for running: glibc-devel, gcc-c++,
-libstdc++-devel, guile-devel, flex, bison, texinfo, groff, pktrace,
+libstdc++-devel, guile-devel, flex, bison, texinfo, groff, mftrace,
 netpbm-progs, autotrace, t1utils.
 
 netpbm-progs, autotrace, t1utils.
 
-
-
-@subsection LinuxPPC
-
-
-Some LinuxPPC RPMS should available from
-@uref{ftp://ftp.cs.uu.nl/pub/GNU/LilyPond/binaries/}.
-
-A LinuxPPC RPM can be made using the @file{lilypond.redhat.spec} file.
-
 @subsection SuSE
 
 Some SUSE RPMS should available from
 @subsection SuSE
 
 Some SUSE RPMS should available from
@@ -377,7 +394,7 @@ You can also compile a RPM for SUSE yourself.  A spec file is in
 the Red Hat RPM.
 
 You must have the following packages: guile tcsh tetex te_latex te_kpath
 the Red Hat RPM.
 
 You must have the following packages: guile tcsh tetex te_latex te_kpath
-te_mpost libpng python gpp libgpp gettext autoconf253 netpbm libnetpb
+te_mpost libpng python gpp libgpp gettext autoconf netpbm libnetpb
 gs_serv gs_lib gs_fonts guile
 
 @subsection Slackware
 gs_serv gs_lib gs_fonts guile
 
 @subsection Slackware
@@ -389,13 +406,7 @@ with a faulty compiler. Do not compile LilyPond with -O2 on this
 platform.
 
 At least on Slackware 8.0, you have to manually specify the paths to the
 platform.
 
 At least on Slackware 8.0, you have to manually specify the paths to the
-Kpathsea library, using
-@itemize
-@item @code{rm config.cache}
-@item @code{export LDFLAGS=-L/usr/share/texmf/lib}
-@item @code{export CPPFLAGS=-I/usr/share/texmf/include}
-@item @code{./configure}
-@end itemize
+Kpathsea library, see the section on kpathsea 
 
 
 @subsection Mandrake
 
 
 @subsection Mandrake
@@ -566,7 +577,7 @@ prerequisites (python, TeX, X11, ghostscript) and then LilyPond
 itself.
 
 
 itself.
 
 
-@subsubsection compiling on MacOS X
+@subsection compiling on MacOS X
 LilyPond has been built on Darwin, to be precise, on:
 @example
     Darwin buoux.aspiratie.nl 5.3 Darwin Kernel Version 5.3: Thu Jan 24
 LilyPond has been built on Darwin, to be precise, on:
 @example
     Darwin buoux.aspiratie.nl 5.3 Darwin Kernel Version 5.3: Thu Jan 24
@@ -620,7 +631,30 @@ send bug reports to @email{bug-lilypond@@gnu.org}.
 
 Bugs that are not fault of LilyPond are documented here.
 
 
 Bugs that are not fault of LilyPond are documented here.
 
-@unnumberedsubsec FLex-2.5.4a and gcc-3.0
+@subsection Linking to kpathsea
+
+If kpathsea and the corresponding header files are installed in some
+directory where GCC does not search by default, for example in
+@file{/usr/local/lib/} and @file{/usr/local/include/} respectively,
+you have to explicitly tell configure where to find it. To do this,
+
+@itemize
+@item @code{rm config.cache}
+@item @code{export LDFLAGS=-L/usr/share/texmf/lib}
+@item @code{export CPPFLAGS=-I/usr/share/texmf/include}
+@item @code{./configure}
+@end itemize
+Once configure has found them, the paths are stored in
+@file{config.make} and will be used even if you don't have the
+environment variables set during make.
+
+
+@unnumberedsubsec Gcc-3.0.4
+
+Gcc 3.0.4, is a bit flaky.  Try downgrading to 2.95.x, or if you're
+adventurous (see below), upgrading to 3.1.x.
+
+@unnumberedsubsec Flex-2.5.4a and gcc-3.x
 
 Flex 2.5.4a does not produce g++-3.0 compliant C++ code.  To compile
 LilyPond with gcc-3.0 you may do:
 
 Flex 2.5.4a does not produce g++-3.0 compliant C++ code.  To compile
 LilyPond with gcc-3.0 you may do:
@@ -634,6 +668,23 @@ LilyPond with gcc-3.0 you may do:
 
 Note that this is fixed in Debian/unstable for flex >= 2.5.4a-13.
 
 
 Note that this is fixed in Debian/unstable for flex >= 2.5.4a-13.
 
+@unnumberedsubsec Flex-2.5.4a and gcc-3.1.x
+
+Flex 2.5.4a does not produce g++-3.1.1 compliant C++ code.  To compile
+LilyPond with gcc-3.1.1 you may do:
+
+@example
+        CONF=gcc-3.1 ./lexer-gcc-3.1.sh
+        CPPFLAGS=-I$(pwd)/lily/out-gcc-3.1 CC=gcc-3.1 CXX=g++-3.1 \
+            ./configure --enable-config=gcc-3.1
+        CONF=gcc-3.1 ./lexer-gcc-3.1.sh
+        make conf=gcc-3.1
+@end example
+
+This assumes that the GCC 3.1 binaries are called gcc-3.1 and g++-3.1.
+Note that this is @strong{not} fixed in Debian/unstable for flex <=
+2.5.4a-26.
+
 @unnumberedsubsec Linux-2.4.0, Guile-1.4 --with-threads
 
 There's a bug in certain kernels around version 2.4.0, that is
 @unnumberedsubsec Linux-2.4.0, Guile-1.4 --with-threads
 
 There's a bug in certain kernels around version 2.4.0, that is
@@ -646,6 +697,16 @@ Guile without threads (YMMV):
          guile-1.4$ ./configure --without-threads; make all install
 @end example
 
          guile-1.4$ ./configure --without-threads; make all install
 @end example
 
+@unnumberedsubsec OpenBSD
+
+@itemize @bullet
+@item By default, gcc on OpenBSD doesn't include
+@file{/usr/local/include} and @file{/usr/local/lib} in the system
+paths.  Depending upon where/how you installed kpathsea and other
+libraries, you may need to refer to the section ``Linking to
+kpathsea''.
+
+@end itemize
 
 @unnumberedsubsec NetBSD
 
 
 @unnumberedsubsec NetBSD
 
@@ -663,9 +724,22 @@ CFLAGS='-I /usr/pkg/include' LDFLAGS='-L/usr/pkg/lib' ./configure
 
 @end itemize
 
 
 @end itemize
 
-@unnumberedsubsec  Solaris:
+@unnumberedsubsec  Solaris
 
 @itemize @bullet
 
 @itemize @bullet
+@item Solaris7, ./configure
+
+@file{./configure} needs a POSIX compliant shell.  On Solaris7,
+@file{/bin/sh} is not yet POSIX compliant, but @file{/bin/ksh} or bash
+is.  Please run configure like:
+@example
+        CONFIG_SHELL=/bin/ksh ksh -c ./configure
+@end example
+or
+@example
+        CONFIG_SHELL=/bin/bash bash -c ./configure
+@end example
+
 @item Sparc64/Solaris 2.6, GNU make-3.77
 
 GNU make-3.77 is buggy on this platform, upgrade to 3.78.1 or newer.
 @item Sparc64/Solaris 2.6, GNU make-3.77
 
 GNU make-3.77 is buggy on this platform, upgrade to 3.78.1 or newer.