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