]> git.donarmstrong.com Git - lilypond.git/blob - Documentation/topdocs/INSTALL.texi
df2bc044d089d335ab5f700c8c2e101d272e76e3
[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.  Check out
212 @uref{http://www.gnu.org/software/guile.html,the GUILE webpage}
213 @end itemize
214
215 For running LilyPond successfully you have to help @TeX{} and MetaFont find
216 various files.  The recommended way of doing so is adjusting the
217 environment variables in the start-up scripts of your shell. Appropriate
218 Csh and bourne sh scripts are left in
219 @file{buildscripts/out/lilypond-profile} and
220 @file{buildscripts/out/lilypond-login} after compilation.
221
222 LilyPond is a big and slow program.  A fast CPU and plenty of RAM is
223 recommended for comfortable use.
224
225 @subsection Website requirements
226
227 The documentation comes in the form of a website. You can view this
228 website on the internet, but you can also build it locally. This process
229 requires a successful compile of lilypond. The website is built 
230 by issuing
231 @example 
232
233   make web-doc
234  
235 @end example 
236
237 Building the website requires some additional tools: 
238
239 @itemize @bullet
240 @item The netpbm utilities, see @uref{http://netpbm.sourceforge.net/}
241 @item pktrace 1.0 or newer, needed for generating PostScript Type1
242 fonts. Get it from @uref{http://www.cs.uu.nl/~hanwen/pktrace/}.  You
243 will need to install some additional packages to get pktrace to work.
244 @end itemize
245
246 @section Building  LilyPond
247
248 to install GNU LilyPond, type:
249 @example 
250         gunzip -c lilypond-x.y.z | tar xf -
251         cd lilypond-x.y.z
252         ./configure             # run with --help to see appropriate options
253         make
254         make install
255         sh buildscripts/clean-fonts.sh      
256 @end example 
257
258 If you are doing an upgrade, you should remove all @file{feta}
259 @code{.pk} and @file{.tfm} files.  A script has been provided to do the
260 work for you, see @file{buildscripts/clean-fonts.sh}.
261
262
263 If you are not root, you should choose a @code{--prefix} argument that
264 points into your home directory, eg.
265 @example 
266
267         ./configure --prefix=$HOME/usr
268  
269 @end example 
270
271 In this case, you have to insert the contents of
272 @code{buildscripts/out/lilypond-login} or
273 @code{buildscripts/out/lilypond-profile} into your start up scripts by
274 hand.
275
276
277
278 @subsection Configuring for multiple platforms
279
280 If you want to build multiple versions of LilyPond with different
281 configuration settings, you can use the @code{--enable-config=CONF}
282 option of configure.  You should use @samp{make conf=CONF} to generate
283 the output in @file{out-CONF}.  Example: suppose I want to build with
284 and without profiling.  Then I'd use the following for the normal
285 build,
286 @c prefix=~ ?
287 @example 
288
289       ./configure --prefix=~ --enable-checking
290       make
291       make install
292 @end example 
293
294 and for the profiling version, I specify a different configuration.
295
296 @example 
297
298       ./configure --prefix=~ --enable-profiling --enable-config=prof --disable-checking
299       make conf=prof
300       make conf=prof install
301
302 @end example 
303
304
305
306
307
308 @section Emacs mode
309
310 An Emacs mode for entering music and running LilyPond is included with
311 the source archive as @file{lilypond-mode.el},
312 @file{lilypond-indent.el} and @file{lilypond-font-lock.el}.  You
313 should install these files somewhere in your @var{load-path}.  If you
314 have installed a precompiled LilyPond package, these files can be
315 found in @file{/usr/share/doc/lilypond-x.y.z/}.
316
317 Add this to your @file{~/.emacs} or @file{~/.emacs.el}, or install this
318 file in Emacs' @file{site-start.d}:
319 @quotation
320 @example
321   ;;; lilypond-init.el --- Startup code for LilyPond mode
322
323   (autoload 'LilyPond-mode "lilypond-mode")
324   (setq auto-mode-alist
325         (cons '("\\.ly$" . LilyPond-mode) auto-mode-alist))
326
327   (add-hook 'LilyPond-mode-hook (lambda () (turn-on-font-lock)))
328 @end example
329 @end quotation
330
331 If you have the latest LilyPond-1.4.x Debian package, LilyPond-mode is
332 automatically loaded, you not even need to modify your @code{~/.emacs}
333 file.
334
335 @section Compiling for distributions 
336
337 @subsection Red Hat Linux
338
339 Red Hat 7.x i386 RPMS are available from
340 @uref{ftp://ftp.cs.uu.nl/pub/GNU/LilyPond/binaries/}.  For running on
341 a Red Hat system you need these packages: guile, tetex, tetex-latex,
342 tetex-dvips, libstdc++, python, ghostscript.
343
344 You can also compile them yourself.  A spec file is in
345 @file{make/out/lilypond.redhat.spec}. This file is distributed along
346 with the sources.  You can make the rpm by issuing
347 @example 
348
349         tar xfz lilypond-x.y.z.tar.gz
350         rpm -bb lilypond-x.y.z/make/out/lilypond.redhat.spec
351         rpm -i /usr/src/redhat/RPMS/i386/lilypond-x.y.z
352
353 @end example 
354
355 For compilation on a Red Hat system you need these packages, in
356 addition to the those needed for running: glibc-devel, gcc-c++,
357 libstdc++-devel, guile-devel, flex, bison, texinfo, groff, pktrace,
358 netpbm-progs, autotrace, t1utils.
359
360
361
362 @subsection LinuxPPC
363
364
365 Some LinuxPPC RPMS should available from
366 @uref{ftp://ftp.cs.uu.nl/pub/GNU/LilyPond/binaries/}.
367
368 A LinuxPPC RPM can be made using the @file{lilypond.redhat.spec} file.
369
370 @subsection SuSE
371
372 Some SUSE RPMS should available from
373 @uref{ftp://ftp.lilypond.org/pub/LilyPond/binaries/SuSE}.
374
375 You can also compile a RPM for SUSE yourself.  A spec file is in
376 @file{make/out/lilypond.suse.spec}, see the instructions for building
377 the Red Hat RPM.
378
379 You must have the following packages: guile tcsh tetex te_latex te_kpath
380 te_mpost libpng python gpp libgpp gettext autoconf253 netpbm libnetpb
381 gs_serv gs_lib gs_fonts guile
382
383 @subsection Slackware
384
385 No precompiled packages for Slackware are available.
386
387 Problems have been reported with Slackware 7.0; apparently, it ships
388 with a faulty compiler. Do not compile LilyPond with -O2 on this
389 platform.
390
391 At least on Slackware 8.0, you have to manually specify the paths to the
392 Kpathsea library, using
393 @itemize
394 @item @code{rm config.cache}
395 @item @code{export LDFLAGS=-L/usr/share/texmf/lib}
396 @item @code{export CPPFLAGS=-I/usr/share/texmf/include}
397 @item @code{./configure}
398 @end itemize
399
400
401 @subsection Mandrake
402
403 Some binaries are available at rpmfind.net. Refer to 
404 @uref{http://rpmfind.net/linux/mandrake/cooker/contrib/RPMS/}.
405
406 You can also compile a RPM for Mandrake yourself.  A spec file is in
407 @file{make/out/lilypond.mandrake.spec}, see the instructions for building
408 the Red Hat RPM.
409
410 @subsection Debian GNU/Linux
411
412 A Debian package is also available.  You may install it easily by running
413 @command{apt-get} as root:
414 @example
415
416         apt-get install lilypond lilypond-doc
417 @end example
418
419 You can also compile the .deb for Debian yourself, do:
420 @example
421
422         apt-get -b source lilypond
423 @end example
424
425 If you're real impatient, you may even do:
426 @example
427
428         cd lilypond-x.y.z   # a previous version
429         uscan               # download and build latest directly from upstream
430 @end example
431
432
433 Debian's @TeX{} installation is a bit short on memory, you may want to
434 increase it like this:
435 @example
436 --- texmf.cnf.orig      Sun Dec 16 23:47:07 2001
437 +++ texmf.cnf   Sun Dec 16 23:46:34 2001
438 @@ -411,8 +411,8 @@
439  main_memory.context = 1500000
440  main_memory.mpost = 1000000
441  main_memory = 263000 % words of inimemory available; also applies to inimf&mp
442 -extra_mem_top = 0    % extra high memory for chars, tokens, etc.
443 -extra_mem_bot = 0    % extra low memory for boxes, glue, breakpoints, etc.
444 +extra_mem_top = 1000000    % extra high memory for chars, tokens, etc.
445 +extra_mem_bot = 1000000    % extra low memory for boxes, glue, breakpoints, etc.
446  
447  obj_tab_size.context = 300000
448  
449 @@ -430,7 +430,7 @@
450  % Max number of characters in all strings, including all error messages,
451  % help texts, font names, control sequences.  These values apply to TeX and MP.
452  pool_size.context = 750000
453 -pool_size = 125000             
454 +pool_size = 250000             
455  % Minimum pool space after TeX/MP's own strings; must be at least
456  % 25000 less than pool_size, but doesn't need to be nearly that large.
457  string_vacancies.context = 45000
458 @end example
459
460 You could also export @env{extra_mem_top} and @env{extra_mem_bot} as
461 environment variables if you do not want to or cannot modify
462 @file{/etc/texmf/texmf.cnf}.
463
464 Alternatively, visit
465
466 @itemize @bullet
467 @item @uref{http://packages.debian.org/lilypond,http://packages.debian.org/lilypond}
468 @item @uref{http://people.debian.org/~foka/lilypond/,http://people.debian.org/~foka/lilypond/}
469 for latest semi-unofficial build of LilyPond 1.4.2 for Debian 2.2 (potato) users.
470 The official stable Debian 2.2 is stuck with the old LilyPond-1.3.24.
471 Since LilyPond-1.4 has been released, the older lilypond1.3 Debian
472 package is now obsolete.
473 @end itemize
474
475 Please contact Anthony Fok @email{lilypond@@packages.debian.org} for more
476 information.
477
478 The build scripts are in the subdirectory @file{debian/}; you can
479 make the .deb by doing, for example:
480
481 @example
482         $ su - root
483         # dpkg --purge lilypond lilypond1.3
484         # exit
485         $ tar xzf lilypond-1.4.3.tar.gz
486         $ cd lilypond-1.4.3
487         $ dch -p -v 1.4.3-0.local.1 "Local build."
488         $ debuild -B
489         $ su - root
490         # dpkg -i ../lilypond_1.4.3*.deb
491         # exit
492         $
493 @end example
494
495 Use command @command{debuild} instead of @command{debuild -B} if you have
496 a very fast machine and want to build the HTML, PS and DVI documentation
497 too.
498
499 For compilation on a Debian GNU/Linux system you need these packages,
500 in addition to the those needed for running:
501
502 @itemize @bullet
503 @item g++, cpp, libc6-dev, libstdc++<@var{your-libstdc++-version-here}>-dev
504 @item libguile<@var{your-libguile-version-here}>-dev
505 @item make, m4, flex, bison
506 @item gettext
507 @item groff, texinfo
508 @item tetex-base, tetex-bin, tetex-extra, libkpathsea-dev or tetex-dev
509 @item dpkg-dev, debhelper, fakeroot
510 @item gs, netpbm
511 @item pnmtopng (only in Debian 2.2; pnmtopng has been merged with netpbm
512   in Debian testing/unstable.)
513 @end itemize
514
515 Most of these are listed on the @samp{Build-Depends} line in the
516 @file{debian/control} file.  To ensure the creation of the lilypond deb is
517 trouble-free, we recommend that you first install the following packages
518 by running \@command{apt-get} as root before building the package:
519
520 For Debian 2.2:
521
522 @example
523         apt-get install task-debian-devel task-c++-dev \
524                 python-base libguile6-dev tetex-bin tetex-dev \
525                 tetex-extra flex bison texinfo groff gs \
526                 netpbm pnmtopng m4 gettext
527 @end example
528
529 For Debian in development ("unstable", the future 2.3 or 3.0):
530
531 @example
532         apt-get install binutils cpp gcc libc6-dev \
533                 g++ libstdc++2.10-dev \
534                 python-base libguile-dev tetex-bin libkpathsea-dev \
535                 tetex-extra flex bison texinfo  groff gs \
536                 netpbm m4 gettext
537 @end example
538
539 And, just so that old fonts from previous versions of LilyPond won't
540 interfere with your build, you may want to do this before the build too:
541
542 @example
543         dpkg --purge lilypond lilypond1.3
544 @end example
545
546 @subsection MacOS X
547
548 LilyPond is available through fink, in the unstable cvs distribution.
549
550 You need to:
551 @itemize @bullet
552 @item Get the Fink package manager from @uref{http://fink.sourceforge.net}
553 @item Get the Lilypond package description by enabling the "unstable" tree
554 in fink and executing @command{fink selfupdate-cvs}.
555 @end itemize
556
557 Then do:
558 @quotation
559 @example
560         fink install lilypond-unstable
561 @end example
562 @end quotation
563
564 That's it!  The command should compile and install all LilyPond
565 prerequisites (python, TeX, X11, ghostscript) and then LilyPond
566 itself.
567
568
569 @subsubsection compiling on MacOS X
570 LilyPond has been built on Darwin, to be precise, on:
571 @example
572     Darwin buoux.aspiratie.nl 5.3 Darwin Kernel Version 5.3: Thu Jan 24
573     22:06:02 PST 2002; root:xnu/xnu-201.19.obj~1/RELEASE_PPC  Power Macintosh powerpc
574 @end example
575
576 using:   
577
578 @example
579     Apple Computer, Inc. version gcc-932.1, based on gcc version 2.95.2 19991024 (release)
580 @end example
581
582 To make sure you have all packages needed to build LilyPond installed,
583 run as root:
584
585 @example
586         apt-get install bash python guile debianutils flex bison texinfo \
587                 ghostscript6 netpbm m4 gettext
588 @end example        
589
590 and:
591                 
592 @example
593         fink install tetex
594 @end example        
595
596 For more information about @file{apt-get} and @file{fink}, see
597 @uref{http://fink.sf.net,fink.sourceforge.net}.
598
599 @c  brokenness of autoconf; don't ask
600 Then, configure, patch, make and install LilyPond using these commands:
601
602 @example
603         CC="cc -I/sw/include" CXX="c++ -I/sw/include" LDFLAGS="-L/sw/lib" \
604             ./configure --prefix=/sw
605         make -C lily out/parser.hh out/parser.cc out/config.h
606         patch -p0 < darwin.patch
607         make -C lily out/parser.o
608         make DEPENDENCIES_OUTPUT=/dev/null all
609         make install
610 @end example
611
612 For installing, you must be root, of course.
613
614 @c Why isn't this in BUGS (where it belongs?)
615 @section Problems
616
617 For help and questions use @email{lilypond-user@@gnu.org}.  Please
618 consult the FAQ before mailing your problems.  If you find bugs, please
619 send bug reports to @email{bug-lilypond@@gnu.org}.
620
621 Bugs that are not fault of LilyPond are documented here.
622
623 @unnumberedsubsec FLex-2.5.4a and gcc-3.0
624
625 Flex 2.5.4a does not produce g++-3.0 compliant C++ code.  To compile
626 LilyPond with gcc-3.0 you may do:
627
628 @example
629         CC=gcc-3.0 CXX=g++-3.0 ./configure --enable-config=gcc-3.0
630         make conf=gcc-3.0 -C lily out-gcc-3.0/lexer.cc
631         patch -p1 < lexer-gcc-3.0.patch
632         make conf=gcc-3.0 -C lily
633 @end example
634
635 Note that this is fixed in Debian/unstable for flex >= 2.5.4a-13.
636
637 @unnumberedsubsec Linux-2.4.0, Guile-1.4 --with-threads
638
639 There's a bug in certain kernels around version 2.4.0, that is
640 triggered when using Guile 1.4 compiled with pthreads.  You'll see
641 random segmentation fault crashes of LilyPond.  Upgrade to a newer
642 version of Linux.  If you can't do that, you may try to recompiling
643 Guile without threads (YMMV):
644
645 @example
646          guile-1.4$ ./configure --without-threads; make all install
647 @end example
648
649
650 @unnumberedsubsec NetBSD
651
652 @itemize @bullet
653 @item The flex precompiled in NetBSD-1.4.2 is broken.
654 Download flex-2.5.4a, build, install.
655
656 @item The configuration of Gcc (egcs-2.91.60 19981201 (egcs-1.1.1
657 release)) does not include @file{/usr/pkg} paths.  Configure using:
658 @example
659
660 CFLAGS='-I /usr/pkg/include' LDFLAGS='-L/usr/pkg/lib' ./configure
661
662 @end example
663
664 @end itemize
665
666 @unnumberedsubsec  Solaris:
667
668 @itemize @bullet
669 @item Sparc64/Solaris 2.6, GNU make-3.77
670
671 GNU make-3.77 is buggy on this platform, upgrade to 3.78.1 or newer.
672
673 @item Sparc64/Solaris 2.6, ld
674
675 Not yet resolved.
676 @end itemize
677
678
679 @unnumberedsubsec   AIX
680
681 @itemize @bullet
682 @item AIX 4.3 ld
683
684 The following is from the gcc install/SPECIFIC file.
685 @quotation
686    Some versions of the AIX binder (linker) can fail with a relocation
687    overflow severe error when the -bbigtoc option is used to link
688    GCC-produced object files into an executable that overflows the TOC.
689    A fix for APAR IX75823 (OVERFLOW DURING LINK WHEN USING GCC AND  
690    -BBIGTOC) is available from IBM Customer Support and from its
691    27service.boulder.ibm.com website as PTF U455193.   
692
693    Binutils does not support AIX 4.3 (at least through release 2.9). GNU
694    as and GNU ld will not work properly and one should not configure GCC
695    to use those GNU utilities. Use the native AIX tools which do
696    interoperate with GCC.
697 @end quotation
698
699 add -Wl,-bbigtoc to USER_LDFLAGS, ie:
700 @example
701     LDFLAGS='-Wl,-bbigtoc' ./configure
702 @end example
703
704 @end itemize
705
706
707 @bye
708