]> git.donarmstrong.com Git - lilypond.git/blob - Documentation/windows/installing.texi
make flat heavier.
[lilypond.git] / Documentation / windows / installing.texi
1 \input texinfo @c -*-texinfo-*-
2 @setfilename installing.info
3 @settitle LilyPond on Windows
4
5 @html
6 <!--- @@WEB-TITLE@@=Windows Installation --->
7 @end html
8
9 @node Top
10 @top
11
12 @chapter WINDOWS - Installing GNU LilyPond on Windows
13
14 This document explains how to install the binary release for windows
15 on a Microsoft Windows 95, 98, ME, NT, 2000 or XP machine.  Please
16 follow the instructions carefully.  If it doesn't work for you, please
17 send a bugreport, following the guidelines in the section on
18 bugreports below.
19
20 @section QuickInstall
21
22 Click @uref{http://cygwin.com/setup.exe, Install Lily now}, run the
23 installer (@file{setup.exe}), and in the Package View dialogue, select
24 LilyPond, found in the Publishing section.
25
26 If you have any problems, please read the rest of this page.
27
28 @section Windows binary setup 
29
30 The binary LilyPond setup for Windows is in fact a
31 @uref{http://cygwin.com, Cygwin} installation, including the LilyPond
32 package for Cygwin.
33
34 If you run Windows NT, 2000 or XP, please become administrator first;
35 installing as an ordinary user does not seem to work on certain
36 Windows-NT variants.  Download and run
37 @uref{http://cygwin.com/setup.exe, setup.exe}.  You will be asked some
38 questions.  If you are unsure just click "Next".  Do not change the
39 default install directory @file{c:/cygwin}.  Do not change the default
40 text type @samp{UNIX}, i.e., do not use @samp{DOS} mounts.
41
42 In the Package View dialogue window, click on the Publishing section
43 to view the available publishing software for Cygwin.  Make sure that
44 LilyPond is selected.  If this is a new or first installation, click
45 on @emph{Skip} to select.
46
47 This installs LilyPond, and Cygwin, GUILE, Python, teTeX (MikTeX is not
48 supported).  If you already have some of that software under
49 @file{c:/cygwin}, then don't worry: nothing will be installed twice.
50
51 @subsection Additional software
52
53 If you install the Cygwin's XFree86 X11 window system, tetex-x11 and
54 ghostscript-x11 packages too, you can view the @code{dvi} output doing
55 @code{xdvi test.dvi}.
56
57 LilyPond needs a PostScript/PDF viewer to be really useful.  At this
58 time (Sun Aug 11 2002), such software is not available in Cygwin, so
59 you must use native Windows software instead.
60
61 @table @samp
62 @item Ghostview.
63
64 You can use GSView-2.6.  This old package has two advantages.  It has
65 gsview and ghostscript bundeled, and it doesn't popup @emph{Register
66 Now|Cancel} windows all the time.
67
68 Install
69 @uref{ftp://mirror.cs.wisc.edu/pub/mirrors/ghost/aladdin/gs550/gsv27550.exe,GSView-2.7}
70 (GhostView for Windows), or visit
71 @uref{ftp://mirror.cs.wisc.edu/pub/mirrors/ghost/ghostgum,ftp://mirror.cs.wisc.edu/}.
72
73 @c check/update versions
74 If you need to view PDFs, or want to create PDFs using GSView, you can
75 install the newer versions GSView-3.6 and GhostScript-6.50.  You get
76 annoying @emph{Register Now|Cancel} popups, though.
77
78 Install
79 @uref{ftp://mirror.cs.wisc.edu/pub/mirrors/ghost/ghostgum/gsv36w32.exe,GSview-3.6}
80 and
81 @uref{ftp://mirror.cs.wisc.edu/pub/mirrors/ghost/AFPL/gs650/gs650w32.exe,
82 GhostScript-6.50}, or visit the @uref{http://www.cs.wisc.edu/~ghost/,
83 Ghostview and GSview site}.
84 @end table
85
86 Note: @uref{ftp://ftp.cs.wisc.edu/pub/ghost/README,ftp.cs.wisc.edu}
87 has moved the ghostscript/ghostview distribution to a
88 @uref{ftp://mirror.cs.wisc.edu/pub/mirrors/ghost/,rather unreliable
89 server}.
90
91 @section Testing LilyPond
92
93 Open a LilyPond shell (To open a a lilypond shell, click the "GNU
94 LilyPond" or "Cygwin" icon), and type
95
96
97 @example
98 lilypond --help
99 @end example
100
101
102 You should see something similar to
103
104
105 @example
106 GNU LilyPond 1.6.0
107 Usage: lilypond [OPTION]... FILE...
108
109 Typeset music and or play MIDI from FILE
110
111 LilyPond is a music typesetter.  It produces beautiful sheet music
112 using a high level description file as input.  LilyPond is part of 
113 the GNU Project.
114
115 Options:
116   -h,--help             this help
117 [..]
118 @end example
119
120
121 Then, prepare a file called @file{foo.ly}, by issuing
122
123 @example
124 notepad foo.ly
125 @end example
126
127 Enter the following into the file
128
129 @example
130
131 \score @{ \notes @{ c4 ( ) c4 @} @}
132
133 @end example
134
135 Close the editor and save the file.  Then run the following command.
136
137 @example
138 ly2dvi -p foo
139 @end example
140
141 At the end, it should say
142
143 @example
144 DVI output to `foo.dvi'...
145 PS output to `foo.ps'...
146 PDF output to `foo.pdf'...
147 @end example
148
149 If you install the Cygwin's XFree86 X11 window system, tetex-x11 and
150 ghostscript-x11 packages too, you can view the @code{dvi} output
151 @c copied from tutorial, where xdvi command has been explained above
152 @c doing @code{xdvi test.dvi}.
153 doing:
154
155 @example
156 startx
157 xdvi test.dvi
158 @end example
159
160 If you have installed a PostScript/PDF viewer,
161 such as @code{GSView} from @uref{http://www.cs.wisc.edu/~ghost},
162 viewing the PS file can be done with:
163
164 @example
165 gsview32 foo.ps
166 @end example
167
168
169 If this works, then you can head to the
170 @uref{../../user/out-www/lilypond/Tutorial.html,Tutorial}
171 @c Hmm, this only works for 1.6.5-1 installs.
172 @c Cygwin does not have a proper html documentation index such as dwww
173 @c Should add for debian and red hat packages too.
174 (@uref{file:///c/cygwin/usr/doc/lilypond-1.6.5-1/html/Documentation/user/out-www/Tutorial.html,
175 local copy})
176 to start using LilyPond.
177
178 @section Removing LilyPond
179
180 Start @file{setup.exe}, click Next, select "Install from Local
181 Directory".  Then click next until you reach "Select packages to
182 install".  Click "View".  Now, for every package, click on the recycle
183 icon until it says "Uninstall".  Then, click Next.
184
185 (If you find this too tedious, you can also simply remove
186 @file{c:/cygwin}. This also removes the @file{/home/} directories under
187 cygwin (i.e. @file{C:\CYGWIN\HOME}, so make sure that you bring
188 important files in safety first.)
189
190 @section Troubleshooting
191
192 For problems and solutions see
193 @uref{http://lilypond.org/wiki?TroubleshootingWindows,Troubleshooting
194 Windows}
195
196 If you have a problem running LilyPond, you should first make sure
197 that you are running the latest version.  Chances are, that your
198 problem was already reported and fixed in a newer release.  Click
199 @uref{http://cygwin.com/setup.exe, Update Lily now} to check if
200 new software is available.
201
202 If you subscribe to the @uref{http://cygwin.com/ml/cygwin-announce/,
203 cygwin-announce (archives)} mailing list, see
204 @uref{http://sources.redhat.com/cygwin/lists.html, Cygwin mailing
205 lists}, bottom of page.  You'll be notified of new and updated
206 software for Cygwin, including LilyPond.
207
208 Chances are, that a problem you experience has been noted by others.
209 Cygwin specific problems will be reported to the
210 @uref{http://cygwin.com/ml/cygwin, cygwin-user (archives)} mailing
211 list (@uref{http://sources.redhat.com/cygwin/lists.html, Cygwin mailing
212 lists}, bottom of page).
213
214 LilyPond specific problems, also concering Cygwin/Windows, are
215 reported and discussed on the
216 @uref{http://mail.gnu.org/pipermail/lilypond-user, lilypond-user
217 (archives)} mailing list.
218
219 @subsection Setup.exe does not run at all
220
221 Make sure that you run @uref{http://cygwin.com/setup.exe, this latest
222 setup.exe}.
223 This will also work if  you were using a setup.exe you donwloaded
224 before from lilypond.org before.
225
226 If you're sure that you have the very latest version, and it doesn't
227 work, and the @uref{http://cygwin.com/ml/cygwin, cygwin-user archives}
228 do not mention the problem, write to @email{cygwin@@cygwin.com}.
229 Setup is under heavy development, so you may have been unlucky and
230 have dowloaded a buggy version.
231
232 @subsection ly2dvi:error: filename should not contain spaces
233
234 @quotation
235 @emph{I don't seem to be able to either change this "default" or to point
236 Lilypond to another directory which does not have the space.}
237
238 @example
239 ly2dvi:error: filename should not contain spaces: `/usr/bin/Ralph Whedon/foo'
240 @end example
241
242 @emph{Any ideas what I should do?}
243 @end quotation
244 Best is to create a new home directory.  Start the Cygwin or LilyPond
245 shell, and do:
246
247 @example
248 HOME=/home/ralph
249 mkdir -p $HOME
250 cd
251 @end example
252
253 To go there automatically, each time you log in, edit the file
254
255 @example
256 /etc/passwd   # windows name: c:\cygwin\etc\passwd
257 @end example
258
259
260 using vim or wordpad, and change the `/usr/bin/Ralph Whedon/' to
261 `/home/ralph'.
262
263 @subsection What's this Bash/Cygwin shell?
264
265 The bash shell is a basic UNIX-like console that we use for the
266 Windows release.  Using such an intercompatible shell makes it easier
267 to maintain the Windows release reasonably, notably because it works
268 the same as the normal UNIX setup.  Keep in mind that none of the
269 developers are using Windows.
270
271 Also it is possible to build LilyPond from source with a complete
272 Cygwin install, see @uref{compiling.html,Compiling LilyPond on Windows}.
273
274 Bash is not very different from the MS-DOS shell, you'll just have to
275 (re-)learn a few commands needed to browse through your hard-drive.
276 Here are some commands you'll definitely be needing.
277
278 To change folders, the usual @code{cd}
279
280
281 @example
282 cd ../..    # If you type this at startup, you should be in the root
283             # directory.  Better do:
284 cd /            
285 @end example
286
287
288 You'll notice that file names in Bash are written with the slash (/),
289 and not the backslash (\) bar as in MS-DOS and Windows.
290
291
292 @example
293 C:\Win98\Bureau\  ---> /cygdrive/c/Win98/Bureau
294 @end example
295
296 The equivalent of the MS-DOS dir command is ls -l :
297
298 @example
299 ls -l       #You'll get the listing of the current folder.
300 @end example
301
302 To copy a file, use the cp command:
303
304 @example
305 cp srcfile destfile
306 @end example
307
308 For more information, see the
309 @uref{http://www.linuxdoc.org/HOWTO/DOS-Win-to-Linux-HOWTO.html,DOS/Windows
310 to Linux HOWTO}.
311
312
313
314 @subsection Requirements and DLLs
315
316 TeTeX and LilyPond depend on a number of library packages, but as it
317 seems, they sometimes do not get selected automagically.
318
319 @itemize @samp
320 @item teTeX
321   requires: ash cygwin ed grep jpeg libkpathsea3 libncurses6 libpng12 tiff
322   sed termcap zlib
323   
324 @item LilyPond
325   requires: bash libguile12 libiconv2 libintl2 libkpathsea3 python
326   tetex-bin, tetex-tiny or tetex-base
327 @end itemize
328
329 @multitable @columnfractions .40 .40
330 @item DLL              @tab Package
331 @item cygguile-12.dll  @tab libguile12
332 @item cygintl-2.dll    @tab libintl2
333 @item cygiconv-2.dll   @tab libiconv2
334 @item cygltdl-3.dll    @tab libltdl3
335 @item cygpcre.dll      @tab pcre
336 @item cygpng12.dll     @tab libpng12
337 @item cygtiff3.dll     @tab tiff
338 @end multitable
339
340 Also, the more general info on missing DLLs may be helpful:
341 @example
342     @uref{http://cygwin.com/faq/faq_4.html#SEC32}
343     @uref{http://cygwin.com/ml/cygwin/2002-01/msg01619.html}
344 @end example
345
346 @subsection Why don't you fix this?
347
348 Well, we've tried several times, but we can't reproduce the problem
349 ('It works for me').  If you're experiencing DLL problems, you're much
350 invited to help us find the bug and fix it.  You can install the
351 binutils package, and use objdump to find which executable depends on
352 the missing dll.
353
354 @example
355 objdump -x <path to download dir>/setup.exe | grep -i dll
356 objdump -x /usr/bin/awk.exe | grep -i dll
357 objdump -x /usr/bin/python.exe | grep -i dll
358 @end example
359
360 Of course, you should check what version of the offending package you
361 have installed (see @file{/var/log/setup.log} and
362 @file{/var/log/setup.log.full)}.
363
364 @subsection Check your TeX installation
365
366 Start a LilyPond shell and run
367
368 @example
369 latex sample2e
370 @end example
371
372 This should print a few lines of information and produce a file
373 @file{sample2e.dvi}. Then run
374
375 @example
376 dvips sample2e
377 @end example
378
379
380 which produces a sample2e.ps, which you can view using @code{gsview32}.
381
382 When this works correctly, you could resume your attempts with
383 LilyPond.
384
385
386 @subsection Bugreports
387
388 So you have checked by running @uref{http://cygwin.com/setup.exe,
389 Update Lily now} that you run the latest version, and
390 @uref{http://lilypond.org/wiki?TroubleshootingWindows,Troubleshooting
391 Windows} nor @uref{http://cygwin.com/ml/cygwin, cygwin-user
392 (archives)} or @uref{http://mail.gnu.org/pipermail/lilypond-user,
393 lilypond-user (archives)} mentions your problem.  It looks like you
394 found a bug.
395
396 We can only help you with a problem if you give a full, detailed
397 bugreport. A bugreport includes
398
399 @itemize @bullet
400 @item A @emph{precise} description of the problem.  
401 @item A full description of your platform (machine type, operating
402 system)
403 @item All version numbers of relevant software you run.
404       The best way to this is to run
405       
406       @example
407       sh -x /usr/bin/bug-lilypond-cygwin >& bug.txt
408       @end example
409       
410       and include the file @file{bug.txt}.  (If you are running
411       lilypond 1.5.73 or earlier, download
412       @uref{http://lilypond.org/cygwin/bug-lilypond-cygwin,
413       bug-lilypond-cygwin here}.
414 @end itemize
415
416 If you have trouble using bug-lilypond-cygwin, you must gather this
417 information by hand.  Specifically, we want to see the output of the
418 following commands:
419 @itemize @bullet
420 @item Version info
421
422 @example
423   python -V
424   lilypond --version
425   ly2dvi --version
426 @end example
427
428 @item If ly2dvi fails, then please run it as follows and include the
429   output in the 
430
431 @example
432   ly2dvi --verbose MY-FILE
433 @end example
434
435 @end itemize
436
437 The file @file{bug.txt} should contain information on your system
438 (check that).  Send your problem together with @file{bug.txt} to
439 @email{lilypond-user@@gnu.org}.
440
441 Be sure to turn off HTML email.  It is very annoying.  For reasons
442 unknown to man, most Windows email clients have that turned on by
443 default.
444
445 If you are using Microsoft Outlook (Express), you can send normal
446 plain text messages by clicking through the menus
447 Tools/Options/Send/Mail Sending Format/Plain Text, with options:
448
449 @example
450 Set Message format as MIME, set "Encode text using:" to None.  Set
451 Automatically wrap text at 70, and > is used to indent original text.
452 @end example
453
454 Easy instructions for various email clients can be found at
455 @uref{http://helpdesk.rootsweb.com/listadmins/plaintext.html,
456 helpdesk.rootsweb.com}.
457