]> git.donarmstrong.com Git - lilypond.git/blob - Documentation/topdocs/INSTALL.texi
(Top): Remove generic Guile
[lilypond.git] / Documentation / topdocs / INSTALL.texi
1 @node 
2 @comment  node-name,  next,  previous,  up\input texinfo @c -*-texinfo-*-
3 @setfilename INSTALL.info
4 @settitle INSTALL - compiling and installing GNU LilyPond
5
6 @html
7 <!--- @@WEB-TITLE@@=Installation Instructions --->
8 @end html
9
10 @node Top, , , (dir)
11 @top
12
13 @contents
14
15 @chapter INSTALL - compiling and installing GNU LilyPond
16
17
18 This document describes how to build LilyPond on Unix platforms.  It
19 is also known to run and compile on Windows NT/95/98/ME/XP as well.
20 More information on this topic can be found at the
21 @uref{http://www.lilypond.org/cygwin/, LilyPond on Windows page}.
22
23
24 @html
25 <a name="download-source">
26 @end html
27
28 @section Downloading
29
30 Even numbered versions are `stable'. The webpages for the stable version
31 (1.4) reside @uref{http://www.gnu.org/software/lilypond, on the GNU
32 servers}. Big enhancements go into the latest odd numbered version
33 (1.5), whose webpages are on @uref{http://www.lilypond.org/,the lilypond
34 site}.
35
36 @subsection Source code
37
38 If you want to compile LilyPond from source, download here:
39 @itemize @bullet
40 @item Download development releases from
41 @c Hmm, these won't show up in lilypond.org/stats
42 @c Otoh, lilypond.org is not updated when release mail arrives
43 @uref{ftp://ftp.cs.uu.nl/pub/GNU/LilyPond/} by FTP and
44 @uref{http://ftp.cs.uu.nl/pub/GNU/LilyPond/}, by HTTP.
45 @item @uref{ftp://sca.uwaterloo.ca/pub/} by FTP (Canadian mirror)
46 @item at @code{lilypond.org} 
47 @uref{ftp://ftp.lilypond.org/pub/LilyPond/} by FTP and
48 @uref{http://www.lilypond.org/ftp/} by HTTP.
49 @end itemize
50
51
52 Of course, if your platform supports LilyPond, such as Debian GNU/Linux,
53 FreeBSD, OpenBSD or NetBSD, you're encouraged to use the native build
54 from source drill.
55
56 For Red Hat Linux and SuSE Linux, @file{.spec} files are included in the
57 tarball; see instructions below.
58
59
60 @subsubsection Anonymous CVS access
61
62 Short version:
63
64 @quotation
65 @example
66 cvs -d :pserver:anoncvs@@lilypond.org:/home/lilypond login
67 cvs -d :pserver:anoncvs@@lilypond.org:/home/lilypond co -P lilypond
68 @end example
69 @end quotation
70
71 See @uref{http://lilypond.org/wiki/?CVS} for more information.
72
73 @html
74 <a name="download-binaries">
75 @end html
76
77
78
79 @subsection Precompiled binaries
80
81 If you want to track bleeding edge development, try:
82
83 @itemize @bullet
84 @item @uref{ftp://ftp.debian.org/debian/pool/main/l/lilypond/, Debian
85 GNU/Linux} usually has the latest binaries for the most useful stable
86 and development versions, while
87 @item @uref{http://rpmfind.net/linux/mandrake/cooker/contrib/RPMS/,
88 Mandrake Cooker} also provides fairly recent versions.
89 @end itemize
90
91 Binaries are made available for other popular platforms, but as we need
92 to compile them ourselves, they are not updated for every version
93 released.
94
95 @itemize @bullet
96 @item @uref{ftp://ftp.cs.uu.nl/pub/GNU/LilyPond/binaries/RedHat/RPMS/, Red Hat i386}
97 @item @uref{ftp://ftp.lilypond.org/pub/LilyPond/binaries/SuSE, SuSE}
98 @item @uref{ftp://ftp.lilypond.org/pub/LilyPond/binaries/linuxppc/,
99 LinuxPPC}
100 @item
101 @uref{http://www.lilypond.org/gnu-windows/, Windows}
102 @end itemize
103
104 @subsection Upgrading
105
106 There are two options for upgrading sources.
107
108 @itemize
109 @item if you have an unpacked source tree of a previous version, you
110 may the patches.
111
112 @emph{If you upgrade by patching do remember to rerun autoconf after
113 applying the patch}.
114
115 @item if you have the @code{.tar.gz} file of a previous release, you can
116 use
117 @uref{ftp://ftp.xcf.berkeley.edu/pub/xdelta/, xdelta}.
118  This is much safer than using patches, and is the recommended way.
119
120 The following command produces @file{lilypond-1.4.3.tar.gz} from
121 @file{lilypond-1.4.2.tar.gz} identical (up to compression dates) to the .3
122 on the FTP site.
123 @example
124   xdelta patch lilypond-1.4.2-1.4.3.xd lilypond-1.4.2.tar.gz
125 @end example
126 @end itemize
127
128 @section Requirements
129
130 @subsection Compilation
131
132 You need the following packages to compile Lilypond.
133
134 @itemize
135 @item The GNU c++ compiler (version 2.95.2 or newer).
136 EGCS 1.1 may work, but is no longer supported.
137 Check out @uref{ftp://ftp.gnu.org/gnu/gcc/, the gcc site}.
138
139 WARNING: if you choose to upgrade to GCC 3.x, enquire if your
140 distribution supports g++ 3.x and flex.
141
142 @item Python (version 1.5 or newer).
143 Check out @uref{http://www.python.org, the python website}.
144
145 @item GUILE (version 1.4 or newer).
146 Check out
147 @uref{http://www.gnu.org/software/guile/guile.html,the GUILE webpage}.
148
149 @item GNU Make. 
150 Check out
151 @uref{ftp://ftp.gnu.org/gnu/make/, the GNU
152 make FTP directory}.
153
154 @item Flex (version 2.5.4a or newer). 
155 Check out @uref{http://www.gnu.org/software/flex/,the Flex webpage}.
156
157 WARNING: plain Flex 2.5.4(a) generates invalid C++ code.  GCC 3.x
158 chokes on this.  If you wish to use GCC 3.x, make sure that your
159 distribution supports g++ 3.x and flex.  For a workaround, see
160 lexer-gcc-3.0 below.
161
162 @item Bison (version 1.25 or newer).
163 Check out @uref{http://www.gnu.org/software/bison/,the bison  webpage}
164
165 @item @TeX{}.
166
167 @TeX{} is used as an output backend.
168
169 Also, @TeX{}'s libkpathsea is used to find the fonts (@file{.mf}, @file{.afm}, @file{.tfm}).
170 Make sure you have tetex 1.0 or newer (1.0.6 is known to work).  You may
171 need to install a tetex-devel or tetex-dev package too.
172
173 @item Texinfo (version 4.2 or newer).
174 The documentation of lily is written in texinfo.  Check out
175 @uref{ftp://ftp.gnu.org/gnu/texinfo/,the texinfo FTP directory}.
176
177 @item The geometry package for LaTeX is needed to use ly2dvi.  
178 It is available at
179 @uref{ftp://ftp.ctan.org/tex-archive/macros/latex/contrib/supported/geometry,the
180 FTP directory for @code{geometry}}. This package is normally included
181 with the @TeX{} distribution.
182
183 @item kpathsea, a library for searching (@TeX{}) files.  @code{kpathsea} is
184 usually included with your installation of @TeX{}.  You may need to install
185 a tetex-devel or tetex-dev package too. If kpathsea is not installed in
186 a directory where the compiler normally looks, read the hints for
187 Slackware below.
188
189 In the very unlikely case that kpathsea is not available for your
190 platform (ie, you're not running GNU/Linux, Windows, or any recent
191 UNIX), you can compile LilyPond without kpathsea support.  In that case,
192 you'll probably have to indicate where @TeX{}'s tfm files live.  Invoke
193 configure something like:
194
195 @quotation
196 @example
197 ./configure --without-kpathsea --enable-tfm-path=/usr/share/texmf/fonts/tfm/public/cm/:/usr/share/texmf/fonts/tfm/ams/symbols
198 @end example
199 @end quotation
200
201 @end itemize
202
203 @subsection Running requirements
204
205 GNU LilyPond does use a lot of resources. For operation you need the
206 following software
207
208 @itemize @bullet
209 @item @TeX{}.
210 @item Xdvi and Ghostscript
211 @item GUILE 1.4, or newer.
212 Check out
213 @uref{http://www.gnu.org/software/guile.html,the GUILE webpage}
214 @end itemize
215
216 For running LilyPond successfully you have to help @TeX{} and MetaFont find
217 various files.  The recommended way of doing so is adjusting the
218 environment variables in the start-up scripts of your shell. Appropriate
219 Csh and bourne sh scripts are left in
220 @file{buildscripts/out/lilypond-profile} and
221 @file{buildscripts/out/lilypond-login} after compilation.
222
223 LilyPond is a big and slow program.  A fast CPU and plenty of RAM is
224 recommended for comfortable use.
225
226 @subsection Website requirements
227
228 The documentation comes in the form of a website. You can view this
229 website on the internet, but you can also build it locally. This process
230 requires a successful compile of lilypond. The website is built 
231 by issuing
232 @example 
233
234   make web-doc
235  
236 @end example 
237
238 Building the website requires some additional tools: 
239
240 @itemize @bullet
241 @item The netpbm utilities, see @uref{http://netpbm.sourceforge.net/}
242 @item pktrace 1.0 or newer, needed for generating PostScript Type1
243 fonts. Get it from @uref{http://www.cs.uu.nl/~hanwen/pktrace/}.  You
244 will need to install some additional packages to get pktrace to work.
245 @end itemize
246
247 @section Building  LilyPond
248
249 to install GNU LilyPond, type:
250 @example 
251         gunzip -c lilypond-x.y.z | tar xf -
252         cd lilypond-x.y.z
253         ./configure             # run with --help to see appropriate options
254         make
255         make install
256         sh buildscripts/clean-fonts.sh      
257 @end example 
258
259 If you are doing an upgrade, you should remove all @file{feta}
260 @code{.pk} and @file{.tfm} files.  A script has been provided to do the
261 work for you, see @file{buildscripts/clean-fonts.sh}.
262
263
264 If you are not root, you should choose a @code{--prefix} argument that
265 points into your home directory, eg.
266 @example 
267
268         ./configure --prefix=$HOME/usr
269  
270 @end example 
271
272 In this case, you have to insert the contents of
273 @code{buildscripts/out/lilypond-login} or
274 @code{buildscripts/out/lilypond-profile} into your start up scripts by
275 hand.
276
277
278
279 @subsection Configuring for multiple platforms
280
281 If you want to build multiple versions of LilyPond with different
282 configuration settings, you can use the @code{--enable-config=CONF}
283 option of configure.  You should use @samp{make conf=CONF} to generate
284 the output in @file{out-CONF}.  Example: suppose I want to build with
285 and without profiling.  Then I'd use the following for the normal
286 build,
287 @c prefix=~ ?
288 @example 
289
290       ./configure --prefix=~ --enable-checking
291       make
292       make install
293 @end example 
294
295 and for the profiling version, I specify a different configuration.
296
297 @example 
298
299       ./configure --prefix=~ --enable-profiling --enable-config=prof --disable-checking
300       make conf=prof
301       make conf=prof install
302
303 @end example 
304
305
306
307
308
309 @section Emacs mode
310
311 An Emacs mode for entering music and running LilyPond is included with
312 the source archive as @file{lilypond-mode.el},
313 @file{lilypond-indent.el} and @file{lilypond-font-lock.el}.  You
314 should install these files somewhere in your @var{load-path}.  If you
315 have installed a precompiled LilyPond package, these files can be
316 found in @file{/usr/share/doc/lilypond-x.y.z/}.
317
318 Add this to your @file{~/.emacs} or @file{~/.emacs.el}, or install this
319 file in Emacs' @file{site-start.d}:
320 @quotation
321 @example
322   ;;; lilypond-init.el --- Startup code for LilyPond mode
323
324   (autoload 'LilyPond-mode "lilypond-mode")
325   (setq auto-mode-alist
326         (cons '("\\.ly$" . LilyPond-mode) auto-mode-alist))
327
328   (add-hook 'LilyPond-mode-hook (lambda () (turn-on-font-lock)))
329 @end example
330 @end quotation
331
332 If you have the latest LilyPond-1.4.x Debian package, LilyPond-mode is
333 automatically loaded, you not even need to modify your @code{~/.emacs}
334 file.
335
336 @section Compiling for distributions 
337
338 @subsection Red Hat Linux
339
340 Red Hat 7.x i386 RPMS are available from
341 @uref{ftp://ftp.cs.uu.nl/pub/GNU/LilyPond/binaries/}.  For running on
342 a Red Hat system you need these packages: guile, tetex, tetex-latex,
343 tetex-dvips, libstdc++, python, ghostscript.
344
345 You can also compile them yourself.  A spec file is in
346 @file{make/out/lilypond.redhat.spec}. This file is distributed along
347 with the sources.  You can make the rpm by issuing
348 @example 
349
350         tar xfz lilypond-x.y.z.tar.gz
351         rpm -bb lilypond-x.y.z/make/out/lilypond.redhat.spec
352         rpm -i /usr/src/redhat/RPMS/i386/lilypond-x.y.z
353
354 @end example 
355
356 For compilation on a Red Hat system you need these packages, in
357 addition to the those needed for running: glibc-devel, gcc-c++,
358 libstdc++-devel, guile-devel, flex, bison, texinfo, groff, pktrace,
359 netpbm-progs, autotrace, t1utils.
360
361
362
363 @subsection LinuxPPC
364
365
366 Some LinuxPPC RPMS should available from
367 @uref{ftp://ftp.cs.uu.nl/pub/GNU/LilyPond/binaries/}.
368
369 A LinuxPPC RPM can be made using the @file{lilypond.redhat.spec} file.
370
371 @subsection SuSE
372
373 Some SUSE RPMS should available from
374 @uref{ftp://ftp.lilypond.org/pub/LilyPond/binaries/SuSE}.
375
376 You can also compile a RPM for SUSE yourself.  A spec file is in
377 @file{make/out/lilypond.suse.spec}, see the instructions for building
378 the Red Hat RPM.
379
380 You must have the following packages: guile tcsh tetex te_latex te_kpath
381 te_mpost libpng python gpp libgpp gettext autoconf netpbm libnetpb
382 gs_serv gs_lib gs_fonts guile
383
384 @subsection Slackware
385
386 No precompiled packages for Slackware are available.
387
388 Problems have been reported with Slackware 7.0; apparently, it ships
389 with a faulty compiler. Do not compile LilyPond with -O2 on this
390 platform.
391
392 At least on Slackware 8.0, you have to manually specify the paths to the
393 Kpathsea library, using
394 @itemize
395 @item @code{rm config.cache}
396 @item @code{export LDFLAGS=-L/usr/share/texmf/lib}
397 @item @code{export CPPFLAGS=-I/usr/share/texmf/include}
398 @item @code{./configure}
399 @end itemize
400
401
402 @subsection Mandrake
403
404 Some binaries are available at rpmfind.net. Refer to 
405 @uref{http://rpmfind.net/linux/mandrake/cooker/contrib/RPMS/}.
406
407 You can also compile a RPM for Mandrake yourself.  A spec file is in
408 @file{make/out/lilypond.mandrake.spec}, see the instructions for building
409 the Red Hat RPM.
410
411 @subsection Debian GNU/Linux
412
413 A Debian package is also available.  You may install it easily by running
414 @command{apt-get} as root:
415 @example
416
417         apt-get install lilypond lilypond-doc
418 @end example
419
420 You can also compile the .deb for Debian yourself, do:
421 @example
422
423         apt-get -b source lilypond
424 @end example
425
426 If you're real impatient, you may even do:
427 @example
428
429         cd lilypond-x.y.z   # a previous version
430         uscan               # download and build latest directly from upstream
431 @end example
432
433
434 Debian's @TeX{} installation is a bit short on memory, you may want to
435 increase it like this:
436 @example
437 --- texmf.cnf.orig      Sun Dec 16 23:47:07 2001
438 +++ texmf.cnf   Sun Dec 16 23:46:34 2001
439 @@ -411,8 +411,8 @@
440  main_memory.context = 1500000
441  main_memory.mpost = 1000000
442  main_memory = 263000 % words of inimemory available; also applies to inimf&mp
443 -extra_mem_top = 0    % extra high memory for chars, tokens, etc.
444 -extra_mem_bot = 0    % extra low memory for boxes, glue, breakpoints, etc.
445 +extra_mem_top = 1000000    % extra high memory for chars, tokens, etc.
446 +extra_mem_bot = 1000000    % extra low memory for boxes, glue, breakpoints, etc.
447  
448  obj_tab_size.context = 300000
449  
450 @@ -430,7 +430,7 @@
451  % Max number of characters in all strings, including all error messages,
452  % help texts, font names, control sequences.  These values apply to TeX and MP.
453  pool_size.context = 750000
454 -pool_size = 125000             
455 +pool_size = 250000             
456  % Minimum pool space after TeX/MP's own strings; must be at least
457  % 25000 less than pool_size, but doesn't need to be nearly that large.
458  string_vacancies.context = 45000
459 @end example
460
461 You could also export @env{extra_mem_top} and @env{extra_mem_bot} as
462 environment variables if you do not want to or cannot modify
463 @file{/etc/texmf/texmf.cnf}.
464
465 Alternatively, visit
466
467 @itemize @bullet
468 @item @uref{http://packages.debian.org/lilypond,http://packages.debian.org/lilypond}
469 @item @uref{http://people.debian.org/~foka/lilypond/,http://people.debian.org/~foka/lilypond/}
470 for latest semi-unofficial build of LilyPond 1.4.2 for Debian 2.2 (potato) users.
471 The official stable Debian 2.2 is stuck with the old LilyPond-1.3.24.
472 Since LilyPond-1.4 has been released, the older lilypond1.3 Debian
473 package is now obsolete.
474 @end itemize
475
476 Please contact Anthony Fok @email{lilypond@@packages.debian.org} for more
477 information.
478
479 The build scripts are in the subdirectory @file{debian/}; you can
480 make the .deb by doing, for example:
481
482 @example
483         $ su - root
484         # dpkg --purge lilypond lilypond1.3
485         # exit
486         $ tar xzf lilypond-1.4.3.tar.gz
487         $ cd lilypond-1.4.3
488         $ dch -p -v 1.4.3-0.local.1 "Local build."
489         $ debuild -B
490         $ su - root
491         # dpkg -i ../lilypond_1.4.3*.deb
492         # exit
493         $
494 @end example
495
496 Use command @command{debuild} instead of @command{debuild -B} if you have
497 a very fast machine and want to build the HTML, PS and DVI documentation
498 too.
499
500 For compilation on a Debian GNU/Linux system you need these packages,
501 in addition to the those needed for running:
502
503 @itemize @bullet
504 @item g++, cpp, libc6-dev, libstdc++<@var{your-libstdc++-version-here}>-dev
505 @item libguile<@var{your-libguile-version-here}>-dev
506 @item make, m4, flex, bison
507 @item gettext
508 @item groff, texinfo
509 @item tetex-base, tetex-bin, tetex-extra, libkpathsea-dev or tetex-dev
510 @item dpkg-dev, debhelper, fakeroot
511 @item gs, netpbm
512 @item pnmtopng (only in Debian 2.2; pnmtopng has been merged with netpbm
513   in Debian testing/unstable.)
514 @end itemize
515
516 Most of these are listed on the @samp{Build-Depends} line in the
517 @file{debian/control} file.  To ensure the creation of the lilypond deb is
518 trouble-free, we recommend that you first install the following packages
519 by running \@command{apt-get} as root before building the package:
520
521 For Debian 2.2:
522
523 @example
524         apt-get install task-debian-devel task-c++-dev \
525                 python-base libguile6-dev tetex-bin tetex-dev \
526                 tetex-extra flex bison texinfo groff gs \
527                 netpbm pnmtopng m4 gettext
528 @end example
529
530 For Debian in development ("unstable", the future 2.3 or 3.0):
531
532 @example
533         apt-get install binutils cpp gcc libc6-dev \
534                 g++ libstdc++2.10-dev \
535                 python-base libguile-dev tetex-bin libkpathsea-dev \
536                 tetex-extra flex bison texinfo  groff gs \
537                 netpbm m4 gettext
538 @end example
539
540 And, just so that old fonts from previous versions of LilyPond won't
541 interfere with your build, you may want to do this before the build too:
542
543 @example
544         dpkg --purge lilypond lilypond1.3
545 @end example
546
547 @subsection MacOS X
548
549 LilyPond is available through fink, in the unstable cvs distribution.
550
551 You need to:
552 @itemize @bullet
553 @item Get the Fink package manager from @uref{http://fink.sourceforge.net}
554 @item Get the Lilypond package description by enabling the "unstable" tree
555 in fink and executing @command{fink selfupdate-cvs}.
556 @end itemize
557
558 Then do:
559 @quotation
560 @example
561         fink install lilypond-unstable
562 @end example
563 @end quotation
564
565 That's it!  The command should compile and install all LilyPond
566 prerequisites (python, TeX, X11, ghostscript) and then LilyPond
567 itself.
568
569
570 @subsubsection compiling on MacOS X
571 LilyPond has been built on Darwin, to be precise, on:
572 @example
573     Darwin buoux.aspiratie.nl 5.3 Darwin Kernel Version 5.3: Thu Jan 24
574     22:06:02 PST 2002; root:xnu/xnu-201.19.obj~1/RELEASE_PPC  Power Macintosh powerpc
575 @end example
576
577 using:   
578
579 @example
580     Apple Computer, Inc. version gcc-932.1, based on gcc version 2.95.2 19991024 (release)
581 @end example
582
583 To make sure you have all packages needed to build LilyPond installed,
584 run as root:
585
586 @example
587         apt-get install bash python guile debianutils flex bison texinfo \
588                 ghostscript6 netpbm m4 gettext
589 @end example        
590
591 and:
592                 
593 @example
594         fink install tetex
595 @end example        
596
597 For more information about @file{apt-get} and @file{fink}, see
598 @uref{http://fink.sf.net,fink.sourceforge.net}.
599
600 @c  brokenness of autoconf; don't ask
601 Then, configure, patch, make and install LilyPond using these commands:
602
603 @example
604         CC="cc -I/sw/include" CXX="c++ -I/sw/include" LDFLAGS="-L/sw/lib" \
605             ./configure --prefix=/sw
606         make -C lily out/parser.hh out/parser.cc out/config.h
607         patch -p0 < darwin.patch
608         make -C lily out/parser.o
609         make DEPENDENCIES_OUTPUT=/dev/null all
610         make install
611 @end example
612
613 For installing, you must be root, of course.
614
615 @c Why isn't this in BUGS (where it belongs?)
616 @section Problems
617
618 For help and questions use @email{lilypond-user@@gnu.org}.  Please
619 consult the FAQ before mailing your problems.  If you find bugs, please
620 send bug reports to @email{bug-lilypond@@gnu.org}.
621
622 Bugs that are not fault of LilyPond are documented here.
623
624 @unnumberedsubsec FLex-2.5.4a and gcc-3.0
625
626 Flex 2.5.4a does not produce g++-3.0 compliant C++ code.  To compile
627 LilyPond with gcc-3.0 you may do:
628
629 @example
630         CC=gcc-3.0 CXX=g++-3.0 ./configure --enable-config=gcc-3.0
631         make conf=gcc-3.0 -C lily out-gcc-3.0/lexer.cc
632         patch -p1 < lexer-gcc-3.0.patch
633         make conf=gcc-3.0 -C lily
634 @end example
635
636 Note that this is fixed in Debian/unstable for flex >= 2.5.4a-13.
637
638 @unnumberedsubsec Linux-2.4.0, Guile-1.4 --with-threads
639
640 There's a bug in certain kernels around version 2.4.0, that is
641 triggered when using Guile 1.4 compiled with pthreads.  You'll see
642 random segmentation fault crashes of LilyPond.  Upgrade to a newer
643 version of Linux.  If you can't do that, you may try to recompiling
644 Guile without threads (YMMV):
645
646 @example
647          guile-1.4$ ./configure --without-threads; make all install
648 @end example
649
650
651 @unnumberedsubsec NetBSD
652
653 @itemize @bullet
654 @item The flex precompiled in NetBSD-1.4.2 is broken.
655 Download flex-2.5.4a, build, install.
656
657 @item The configuration of Gcc (egcs-2.91.60 19981201 (egcs-1.1.1
658 release)) does not include @file{/usr/pkg} paths.  Configure using:
659 @example
660
661 CFLAGS='-I /usr/pkg/include' LDFLAGS='-L/usr/pkg/lib' ./configure
662
663 @end example
664
665 @end itemize
666
667 @unnumberedsubsec  Solaris:
668
669 @itemize @bullet
670 @item Sparc64/Solaris 2.6, GNU make-3.77
671
672 GNU make-3.77 is buggy on this platform, upgrade to 3.78.1 or newer.
673
674 @item Sparc64/Solaris 2.6, ld
675
676 Not yet resolved.
677 @end itemize
678
679
680 @unnumberedsubsec   AIX
681
682 @itemize @bullet
683 @item AIX 4.3 ld
684
685 The following is from the gcc install/SPECIFIC file.
686 @quotation
687    Some versions of the AIX binder (linker) can fail with a relocation
688    overflow severe error when the -bbigtoc option is used to link
689    GCC-produced object files into an executable that overflows the TOC.
690    A fix for APAR IX75823 (OVERFLOW DURING LINK WHEN USING GCC AND  
691    -BBIGTOC) is available from IBM Customer Support and from its
692    27service.boulder.ibm.com website as PTF U455193.   
693
694    Binutils does not support AIX 4.3 (at least through release 2.9). GNU
695    as and GNU ld will not work properly and one should not configure GCC
696    to use those GNU utilities. Use the native AIX tools which do
697    interoperate with GCC.
698 @end quotation
699
700 add -Wl,-bbigtoc to USER_LDFLAGS, ie:
701 @example
702     LDFLAGS='-Wl,-bbigtoc' ./configure
703 @end example
704
705 @end itemize
706
707
708 @bye
709