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