![]() |
GNU LilyPondWelcome to the home of the GNU Music Typesetter |
|
LilyPond on W32FIXME: remove yodl refs. [FIXME: THIS DOCUMENTED IS OUTDATED] No, there's no reason to be concered, Lily should work in Windows-NT(/95/98?) too. The setup may not be easy or smooth. This document will help you getting started. DISCLAIMERIf you have the Cygnus gnu-windows32 port of the GNU utils, LilyPond will work in Windows-NT (/95/98?). We still recommend you use Unix. In particular, use GNU/Linux: We've been there, and we've seen it happen several times. It is much easier and quicker to install RedHat Linux and LilyPond than to obtain, compile and install all the necessary tools to compile and run LilyPond on Windows. "Ok, thanks for the suggestions. I can't run Linux or I don't want to run Unix. What can I expect?"
LilyPond will now install/extract in a unix-like tree: usr/[local/]bin/ usr/[local/]share/lilypond/* etc. Lily runs in a the unix-like Cygnus gnu-windows environment;
hopefully Cygnus will adopt the md lilypond cd lilypond unzip ../lilypond-0.1.77.exe.zip and add If you've received a binary release of LilyPond ( It can be done! Occasionally, the Cygnus b19.1 cross compiler and
utilities under GNU/Linux are used to make the binary I have heard of such tools that think they're probably much smarter than the packager and thus decide for themselves that they don't need to unpack certain files (e.g., empty directories such as bin/out). To unpack the lilypond sources, you should do something like: tar zxf releases/lilypond-x.y.z.tar.gz If you're familiar with the GNU/Cygnus development package, you may skip this. Don't forget to set /start/settings/control-panel/system/environment/system-variables: GCC_EXEC_PREFIX=/Cygnus/b19/H-i386-cygwin32/lib/gcc-lib/ MAKE_MODE=UNIX You want to run bash, while building Lily: c:\bash bash-2.01$ The install instructions mention something like: configure make make install Now for a small UNIX lesson: The current working directory (cwd) is by default not in your PATH, like it is under DOS (for security reasons). Check this by looking at the output of: echo $PATH The cwd looks like PATH=$PATH:. or you must use './' when issuing a command in th cwd, try: ./configure make My point of reference comes from 15 odd years working with a variety
of
Currently as stated above lilypond is primarily a Please follow the documentation Cygnus has on there web site for
downloading and installing. The important part is that you down load
the entire development kit. I believe it is The shortcut points to @ECHO OFF rem default environment rem GNU cygnus installation SET CYGREL=B19.1 SET MAKE_MODE=unix SET LOCAL_ROOT=d:\gnuwin32 SET LOCAL_FS=d:/gnuwin32 SET LOCAL_DIR=d:/gnuwin32/cygwin-b20 SET CYGROOT=%LOCAL_ROOT%\cygwin-b20 SET CYGFS=%LOCAL_FS%/cygwin-b20 SET TCL_LIBRARY=%CYGROOT%\share\tcl8.0 rem rem This was not in the original but is needed by lots of packages rem SET BISON_SIMPLE=%CYGFS%/share/bison.simple rem rem I place the cygnus stuff in front of /WINNT rem SET PATH=d:\bin;%LOCAL_ROOT%\bin;%CYGROOT%\H-i586-cygwin32\bin;%PATH% SET MANPATH=%LOCAL_ROOT%\man;%LOCAL_ROOT%\cygwin-b20\full-man\man SET INFOPATH=%LOCAL_FS%/cygwin-b20/full-man/info;%LOCAL_FS%/cygwin-b20/info;%LOCAL_DIR%/info rem General tools not included with Cygnus Development Kit rem CVS SET PATH=%PATH%;%LOCAL_ROOT%\cvs-1.9.28\bin SET INFOPATH=%INFOPATH%;%LOCAL_FS%/cvs-1.9.28/info SET MANPATH=%MANPATH%;%LOCAL_ROOT%\cvs-1.9.28\man rem EMACS SET PATH=%PATH%;%LOCAL_ROOT%\emacs-19.34\bin SET INFOPATH=%INFOPATH%;%LOCAL_FS%/emacs-19.34/info rem VIM SET VIM=%LOCAL_ROOT%\vim-4.6\doc SET PATH=%PATH%;%LOCAL_ROOT%\vim-4.6 rem TeX SET PATH=%PATH%;%LOCAL_ROOT%\texmf\miktex\bin rem a2ps SET PATH=%PATH%;%LOCAL_ROOT%\a2ps-4.10\bin SET INFOPATH=%INFOPATH%;%LOCAL_FS%/a2ps-4.10/info SET MANPATH=%MANPATH%;%LOCAL_ROOT%\a2ps-4.10\man rem python SET PATH=%PATH%;\Program Files\Python rem perl SET PATH=%PATH%;\qub rem yodl uname -sv bash -login Please look over this carefully. Be careful with the forward and
backward slash notations. The paths specified were done for good
reasons. Maybe someday we will all be using The installation also suggests that you create a directory
There is also some discussion of how you want to mount the Cygnus
development kit. mount is a
If you have other disks that you intend to use for data generated by cygnus tools you will have to mount those devices with the -b switch. http://www.xraylith.wisc.edu/~khan/software/gnu-win32/egcs.html Cygnus now distributes the ecgs compiler with cygwin-b20. http://www.gnu.org/order/ftp.html Considering the origin of the major contributors of lilypond, this is a
must. However before we actually do a GNU build we have to
discuss some caveats of the Windows-NT OS in particular the naming of
executable files. #!/bin/sh realinstall=/gnuwin32/cygwin-b20/H-i586-cygwin32/bin/install.exe args='' while [ $# -ne 0 ] do case $1 in -*) args="$args $1" ;; *) if [ -f $1.exe ]; then args="$args $1.exe" else args="$args $1" fi ;; esac shift done $realinstall $args I place this in script
Following the instructions for gettext package to download, build, and install the groff package. http://www.python.org Python is the scripting language of choice for a lilypond build.
There is a native I believe perl is used in some legacy scripts to date. There is a
native The development methodology of LilyPond relies on a the following directory structure: $HOME/usr/src/ |-releases/ |-patches/ |-test/
I strongly recommend using this file structure to build yodl and lilypond.
GUILE, GNU's Ubiquitous Intelligent Language for Extension, is a library that implements the Scheme language plus various convenient facilities. It's designed so that you can link it into an application or utility to make it extensible. GNU's plan is to link this library into all GNU programs that call for extensibility.
If you have built lilypond on
I choose to build lilypond with the standard To generate a new release and patch you must use the directory
. And follow the
instructions found in
The new release is placed in
We are now distributing a formated binary distribution for Windows-NT. Please refer to http://home.austin.rr.com/jbr/jeff/lilypond/ for current news, download, installation, and running information. Jeffrey B. Reed daboys@austin.rr.com RUNNING LILYPOND - by Dominique CretelYou may want to refer to section FIXME, for more current information about downloading, installing, and running the Windows-NT binary distribution.
Note:
Bye, PROBLEMS AND ANWSWERSThis is all to confusing. I have:
I did have a problem with lilypond.info. And I will look into this further. After mending lilypond.info issue, it compiled and install with no problems. I have 64 Meg of physical memory and 64 Meg of swap. Actually I need to increase the swap space. If a memory problem is occuring it most likely is during the link process of lilypond. There is a boat load of objects to link. Jan the mount -b stuff is confussing to me. I have the entire system mounted _without_ -b and only use -b on certain paths for programs that create binary files that do not use O_BINARY open option. By the way the midi file open is one of these cases, I need to look into that. I have had no problems with this methodology. The windows multiroot filesystem is an utterly broken concept. Please do everything on one (urg) drive, C:. > configure > creating cache ./config.cache > [..] > creating config.make > creating config.hh > cd: lstat /d failed Ok, this looks like another stupid windows problem. You're working on 'drive D:', right? I can think of some solutions, but i don't know if they work; i just had to do some work in windows some time ago. If you have problems with this, please ask gnu-win32@cygnus.com. I'll start with the simplest:
> - First I have installed Python (for win32) "Pyth151.exe" and "Configure
Yes, of course. It should be possible to have different versions of tools installed (e.g. perl 4 and perl 5). The best way to tell people (or tools like configure) which one to use is to put it in the path? Another small unix lesson: Where under dos each program installs itself into a nice directory c:\DosProgram\* under unix, installation is handled centrally. Executables go in
> 4. make -C lily don't work. I get an error (see below). I get several > object files in the ./lily/out directory (34 files: 17 *.dep, 16 *.o, > and 1 *.hh): > [...] > include/engraver-group.hh:35: virtual memory exhausted > make: *** [out/bar-grav.o] Error 1 > bash-2.01$ Ok, so everything works now, there's only some error with one of the source files. Lets see which one (and now the cc's now why they're reading this :-) It looks like you've run out of memory. You should compile without optimisation, gcc/egcs need a lot of memory for optimising. Reconfigure without optimisation: configure --disable-optimise or edit ## USER_CXXFLAGS = -g # -O no optimise! USER_CXXFLAGS = -g There are some other things to look at: how much RAM do you have (please say something > 8Mb :-)? Although it might be an egcs bug, you should have a look at the size of your swap file. For an US version of windows, you should find it here: /start/settings/control-panel/system/performance/virtual-memory you see, amongst others, these entries: paging file size for selected drive: space-available: xx initial-size: xx maximum-size: xx total paging file size for all drives currently allocated: xx Try to set: initial-size: 64 maximum-size: 128 Make sure that:
|
||
Go back to index of LilyPond.
Please send GNU LilyPond questions and comments to gnu-music-discuss@gnu.org. Please send comments on these web pages to (address unknown) Copyright (c) 1997, 1998, 1999, 2000 Han-Wen Nienhuys and Jan Nieuwenhuizen. Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.
|