mainly link-relax changes
[deliverable/binutils-gdb.git] / solaris-inst.texinfo
CommitLineData
c44b2953
RP
1\input texinfo
2@c
3@c search for "UPDATE!" for items that will need examination on future
4@c releases
5@c
6@c This file may require a nonstandard texinfo.tex to format; if you
7@c need it, please contact Cygnus Support (email editor-in-chief@cygnus.com)
8@setfilename README.info
9@c
10@c This file describes how to install a Cygnus Progressive Release.
11@c
12@c Copyright (C) 1991, 1992 Cygnus Support
13@c This text may be freely distributed under the terms of the GNU
14@c General Public License.
15@c
16@c $Id$
17@set CDROMinst
18@clear CUSTOMER
19@clear FIXMES
20@c
21@iftex
22@c The include file "texiplus.tex" is in the texinfo/cygnus dir, and
23@c implements Cygnus modifications to the texinfo manual style.
24@input texiplus
25@c The include file "smpklug.texi" is a kluge to deal with local
26@c document production issues at Cygnus; it's safe to comment out this
27@c line if you don't have (or don't want) the file.
28@input smpklug.texi
29@smallbook
30@cropmarks
31@setchapternewpage on
32@finalout
33@end iftex
34@settitle Solaris--||RELNO|| Installation
35@tex
36% override-override: the following \font lines are redundant if you're
37% using an unmodified FSF texinfo.
38\globaldefs=1
39\font\texttt=cmtt10 scaled \magstephalf\let\tentt=\texttt
40\font\textsl=cmsl10 scaled \magstephalf\let\tensl=\textsl
41\font\textsf=cmss10 scaled \magstephalf\let\tensf=\textsf
42\globaldefs=0
43%end override-override
44% WARNING: NONSTANDARD USAGE we need \tensf for print, without
45% upsetting info. We weren't using @b in this note, so I redefine it:
46%
47\global\def\b#1{{\tensf #1}}
48\global\parindent=0pt
49@end tex
50@titlepage
51@title Installation Notes
52@sp 3
53@table @strong
54@item Cygnus Support Developer's Kit
55@item Progressive Release ||RELNO|| for Solaris
56@item {}
57@item Contents
58@end table
59@c TOGGLE XREF DISPLAY TO AVOID SQUARE BRACKETS OR QUOTES:
60@c (Cygnus "texiplus.tex" hack. If you want standard texinfo remove
61@c or comment-out instances of @altref).
62@altref
63@format
64@ref{Brief,,Installing in Brief}
65@ref{Contents,,Release Contents}.
66@ref{Platforms,,Supported Platforms}.
67
68@ref{Installing,,Installing the Developer's Kit}.
69@ref{local-install,,Installing with local ||MEDIUM|| drive}.
70@ref{cross-install,,Installing with another machine's ||MEDIUM|| drive}.
71@ref{Examples,,Installation Examples}.
72
73@ref{Paths,,Changing the Paths}
74@ref{Trouble,,Some Things that Might go Wrong}
75@ref{Rebuilding,,Rebuilding From Source}.
76@ref{Removing,,Removing the Developer's Kit}.
77
78@ref{Cygnus-FSF,,Cygnus Progressive Releases and the FSF}.
79@ref{Cygnus-Support,,About Cygnus Support}.
80@end format
81@c TOGGLE XREF DISPLAY BACK, TO RESTORE MARKERS AROUND SECNAMES:
82
83@altref
84@author Cygnus Support @hfill hotline: +1 415 322 7836
85@page
86
87@tex
88\def\$#1${{#1}} % Kluge: collect RCS revision info without $...$
89\xdef\Rmanvers{{\it Installation Notes (Solaris Developer's Kit)}, \$Revision$} % *NOT* for use in headers, footers
90{\parskip=0pt \hfill Cygnus Support\par \hfill \Rmanvers\par \hfill
91\TeX{}info \texinfoversion\par }
92\global\def\manvers{Progressive ||RELNO|| for Solaris}
93@end tex
94
95@vskip 0pt plus 1filll
96Copyright @copyright{} 1991, 1992 Cygnus Support
97
98Permission is granted to make and distribute verbatim copies of
99this manual provided the copyright notice and this permission notice
100are preserved on all copies.
101
102Permission is granted to copy and distribute modified versions of this
103manual under the conditions for verbatim copying, provided also that
104the entire resulting derived work is distributed under the terms of a
105permission notice identical to this one.
106
107Permission is granted to copy and distribute translations of this manual
108into another language, under the above conditions for modified versions.
109
110@end titlepage
111
112@ifinfo
113@node Top, Brief, (dir), (dir)
114@top Overview
115
116This file is about the Cygnus Developer's Kit for Solaris: what's in it,
117how to install it, and how to reconfigure it.
118
119@menu
120* Brief:: Installing in Brief
121* Contents:: Release Contents
122* Requirements:: System Requirements
123* Installing:: Installing the Developer's Kit
124* Running:: Running the Programs
125* Paths:: Changing the Paths
126* Trouble:: Some Things that Might go Wrong
127* Rebuilding:: Rebuilding From Source
128* Removing:: Removing Parts of the Developer's Kit
129* Cygnus-FSF:: Cygnus Releases and the FSF
130* Cygnus-Support:: About Cygnus Support
131
132@end menu
133
134@end ifinfo
135
136@node Brief, Contents, Top, Top
137@unnumbered Installing in Brief
138@strong{You can run the brief installation procedure if:}
139@itemize @bullet
140@item
141Your Solaris computer has its own ||MEDIUM|| drive
142@item
143You use the default installation directory @file{/opt/gnu}, and
144@item
145You have at least ||DF|| MB available in @code{/opt} (try @samp{df /opt})
146@end itemize
147Otherwise, see @ref{Installing,,Installing the Developer's Kit}.
148
149@strong{Steps for Brief Install:}
150
151The whole procedure takes between ?? minutes and ???.
152
153@enumerate
154@item
155Make sure you have root access to the computer.
156
157@cartouche
158@example
159eg$ @b{su} @b{root}
160password: @i{(enter root password)}
161@end example
162@end cartouche
163
164@item
165Load the Progressive--||RELNO|| ||MEDIUM|| into your ||MEDIUM|| drive.
166
167@ifset CDROMinst
168@item
169Mount the @sc{cd-rom}:
170
171@cartouche
172@example
173eg# @b{mkdir} @b{/cdrom} @i{(ignore any errors)}
174eg# @b{mount} @b{-F} @b{hsfs} @b{-o} @b{ro} @b{/dev/dsk/c0t6d0s0} @b{/cdrom}
175@end example
176@end cartouche
177@end ifset
178
179@item
180Run the @code{pkgadd} command like this:
181
182@cartouche
183@example
184eg# @b{/usr/sbin/pkgadd} @b{-n} @b{-d} @b{||MEDstr||} @b{GNUDEVTkit} @b{GNUDEVTsrc}
185@end example
186@end cartouche
187
188You will see messages about installation activity, ending with
189
190@cartouche
191@example
192Cygnus Support software distribution installed!
193@end example
194@end cartouche
195
196@item
197Build a symbolic link to make execution paths easy:
198
199@cartouche
200@example
201eg# @b{cd} @b{/opt/gnu}
202eg# @b{ln} @b{-s} @b{progressive-||RELNO||} @b{progressive}
203@end example
204@end cartouche
205
206@ifset CUSTOMER
207@item
208Use your Cygnus customer-ID (see cover letter) to tag your copy of our
209problem-report form:
210
211@cartouche
212@example
213eg# @b{/opt/progressive/bin/install@t{_}cid} @var{customerID}
214@end example
215@end cartouche
216@end ifset
217
218@end enumerate
219
220You're done! Anyone who puts @samp{/opt/progressive/bin} in her or his
221@code{PATH} can use the Developer's Kit.
222
223@node Contents, Requirements, Brief, Top
224@unnumbered Release Contents
225
226This Developer's Kit is a Cygnus Support @dfn{Progressive Release}: the
227programs in it are recent versions, which have been tested and certified
228both individually and as a coordinated suite of tools.
229The kit includes both source and binaries for:
230
231@c UPDATE! Anything new shoveled in?
232@table @r
233@item @sc{gcc}
234C compiler
235
236@item @sc{gdb}
237debugger
238
239@item @sc{make}
240compilation control program
241
242@item Documentation Tools
243@code{info}, @code{makeinfo}
244
245@item Support Utilities
246@code{patch}, the source-code update utility; @sc{gnu} @code{diff}; and
247@code{send_pr}, the Cygnus problem-reporting utility
248@end table
249
250@menu
251* Platforms:: Supported Platforms
252@end menu
253
254@node Platforms, , Contents, Contents
255@unnumberedsec Supported Platforms
256
257@table @strong
258@item ||HOST||s
259All programs in your Developer's Kit are for ||HOST||s running
260Solaris; we ship binaries (configured to install and run under
261@file{/opt/gnu}) as well as all source code.
262
263@item Other Platforms
264For information on other platforms or other programs
265that we may support, please contact Cygnus Support at:
266
267@table @strong
268@item voice
269+1 415 322 3811
270@item hotline
271+1 415 322 7836
272@item fax
273+1 415 322 3270
274@item email
275@code{info@@cygnus.com}
276@end table
277@end table
278
279@menu
280* Requirements:: System Requirements
281@end menu
282
283@node Requirements, Installing, Contents, Top
284@unnumbered System Requirements
285
286@table @strong
287@item OS Level
288Progressive Release ||RELNO|| for ||HOST||s requires Solaris 2.0 or
289later.
290
291@item A ||MEDIUM|| Drive
292You need access to a ||MEDIUM|| drive. The ||MEDIUM|| drive need not be
293on the computer where you want to run the software; but it is best if
294the machine with a ||MEDIUM|| drive and your computer can mount a common
295file system. At the very least, you need some sort of file transfer
296capability between the machine with a ||MEDIUM|| drive and your
297computer.
298
299@item Disk Space
300The total space required to extract and install
301binaries and source for all programs is
302||DF|| megabytes.
303
304The software is configured to go into @file{/opt/gnu}. If you have
305space available, but not in the same file system as @file{/opt}, you can
306use @samp{ln -s} to create @file{/opt/gnu} as a symbolic link to the
307file system where you do have the space available.
308
309If you don't have enough space, you may be able to install binaries only;
310see @ref{Limited Space,,Not Enough Space}. The space required for
311installing the binaries is ||BD|| megabytes.
312
313@item Root Access
314The standard Solaris installation procedures for optional packages
315require you to run the installation with root privileges. We deplore
316this requirement, but consider it valuable nevertheless to conform to
317the standard Solaris installation procedure.
318@end table
319
320@node Installing, Running, Requirements, Top
321@unnumbered Installing the Developer's Kit
322
323@iftex
324This note shows the different parts of examples like this:
325@table @asis
326@item Computer output is shown in @code{typewriter font.}
327@item Your input is indicated by @b{a sans-serif font.}
328@item Text to replace, rather than typing verbatim, is in @var{this font}.
329@item Comments appear in @i{italic font}.
330@end table
331@end iftex
332In examples, we show the system prompt as @samp{eg#}.
333
334The Cygnus Progressive--||RELNO|| ||MEDIUM|| is designed to work with
335the Solaris administration command @code{pkgadd}.
336
337Two checklists follow. The first checklist shows what to do if you have
338a ||MEDIUM|| drive on the computer where you want to install the
339Developer's Kit; the second shows how to use another networked machine
340to read the ||MEDIUM||, then finish the installation on your computer.
341
342Both checklists suggest installing the Developer's Kit binaries under
343@file{/opt/gnu} (which can be a symbolic link from somewhere else, if
344you like). We recommend you use this location for the software, because
345the precompiled, ready-to-run versions of the tools are configured this
346way. If you want to install elsewhere, see @ref{Paths,,Changing
347the Paths}.)
348
349Both checklists are very similar to @ref{Brief,,Installing in Brief},
350but provide more discussion of each step, and offer alternatives for
351systems whose available disk space is not in @code{/opt} and for
352installing only portions of the Developer's Kit.
353
354@menu
355* local-install:: Installing with a local ||MEDIUM|| drive
356* cross-install:: Installing with another machine's ||MEDIUM|| drive
357* Examples:: Installation Examples
358* Why-fixincludes:: Why Convert System Header Files?
359* Link:: Easy Access and Updating
360@end menu
361
362@node local-install, cross-install, Installing, Installing
363@unnumberedsubsec Installing with a local ||MEDIUM|| drive
364
365This procedure is for a ||HOST|| that has its own ||MEDIUM|| drive. The
366complete procedure takes at least ?? minutes on a fast, unloaded
367machine; it may take up to ??? in other situations.
368
369@enumerate
370@item
371Make sure you have root access to the computer. The standard Solaris
372installation procedures for optional packages require @code{root} to run
373the complete installation.
374
375@cartouche
376@example
377eg$ @b{su root}
378password: @i{Enter root password.}
379@end example
380@end cartouche
381
382@item
383Check that you have enough space available in @file{/opt}
384(@pxref{Requirements,,System Requirements}). You can use @samp{df /opt}
385to check.
386@ifset FIXMES
387@quotation
388@emph{FIXME!} Does @code{pkgadd} check for this and issue an error? If
389so, recast in those terms?
390@end quotation
391@end ifset
392
393@ifset CDROMinst
394@item
395Load the Catalyst CDWARE disk into a disk caddy, and put the caddy in
396your CD-ROM drive.
397
398@item
399Mount the @sc{cd-rom}. This note assumes your mount point for a
400@code{cd-rom} is a directory called @file{/cdrom}; substitute to match
401your site's conventions if necessary.
402
403@c makeinfo seems unable to cope with nested ifset's when outer is off,
404@c inner is on.
405@c @ifset FIXMES
406@quotation
407@emph{FIXME!} @file{/dev/dsk/c0t6d0s0} for @sc{cd-rom} cribbed from
408Sun's generic optional-package install notes. Is it really this cut and
409dried? What about systems with more than one @sc{cd-rom} drive?
410@end quotation
411@c @end ifset
412
413@cartouche
414@example
415eg# @b{mkdir} @b{/cdrom} @i{(ignore any errors)}
416eg# @b{mount} @b{-F} @b{hsfs} @b{-o} @b{ro} @b{/dev/dsk/c0t6d0s0} @b{/cdrom}
417@end example
418@end cartouche
419@end ifset
420
421@ifclear CDROMinst
422@item
423Load the Cygnus Support release tape (labelled
424``Progressive--||RELNO||'') into your system's tape drive.
425
426@item
427find out the name of the tape device on your machine that can read the
428release tape. Cygnus release tapes are labelled to identify the kind of
429tape used. You should use one of the following devices:
430
431@ifset FIXMES
432@quotation
433@emph{FIXME!} Does SVr4 specify device names enough that we can be more
434explicit here?
435@end quotation
436
437@quotation
438@emph{FIXME!} For our own @code{Install}, we asked for
439@emph{non-rewinding} tape device. @code{pkgadd} doesn't say what kind
440of tape devices it wants. Does it matter?
441@end quotation
442@end ifset
443
444@table @emph
445@item ||TAPdflt|| tape
446Use @file{||DEVdflt||} where the examples show @code{||MEDstr||}.
447
448@item Exabyte ||MEDIUM||
449The device name depends on how your Exabyte tape drive was installed;
450ask your system administrator. You will probably use something like
451@file{/dev/???/a0b1c2d3} where we show @code{||MEDstr||}.
452@end table
453@end ifclear
454
455@item
456Now you can install ready-to-run binaries; or source; or both.
457
458@itemize @bullet
459@item
460Choose source or binaries by running @code{pkgadd} with either or
461both of the arguments @samp{GNUDEVTkit} (to install binaries) or
462@code{GNUDEVTsrc} (for the source).
463
464@item
465Run @code{pkgadd} interactively (that is, @emph{without} the @w{@samp{-n}}
466option) to choose the installation directory.
467
468@item
469Use the @w{@samp{-d}} option to identify your ||MEDIUM||.
470@end itemize
471
472For instance, typing this command line starts installation of both
473the source package and the binary package:
474
475@cartouche
476@example
477eg# @b{/usr/sbin/pkgadd} @b{-d} @b{||MEDstr||} @b{GNUDEVTkit} @b{GNUDEVTsrc}
478@end example
479@end cartouche
480
481@item
482For each of the packages, @code{pkgadd} will ask for confirmation of the
483install directory @file{/opt/gnu}, or an alternative.
484
485For the source package @code{GNUDEVTsrc}, place the package wherever
486it's convenient; the only advantage of using the default location
487@file{/opt/gnu} is to keep the source near the binaries.
488
489For the @code{GNUDEVTkit} binaries, we recommend using the default location
490@file{/opt/gnu}, since this location is configured and compiled into all
491the tools.
492
493@quotation
494@emph{Warning!} If you choose an alternate location for
495@code{GNUDEVTkit} binaries, you will need to override the compiled-in
496paths to run the programs. @xref{Paths,,Changing the Paths}.
497@end quotation
498
499This example shows the interaction to accept @file{/opt/gnu} for the
500binaries:
501
502@cartouche
503@example
504Extracting Solaris GNU Developer's Kit binaries.
505 >>Installing in "/opt/gnu". OK? [y/n]> @b{y}
506@end example
507@end cartouche
508
509This example shows the interaction to place the source in
510@file{/usr/local/src} instead of the default location. After you type
511the location, the installation script asks you to confirm. You can use
512this opportunity to avoid typographical errors in the install directory
513name.
514
515@cartouche
516@example
517Extracting Solaris GNU Developer's Kit source.
518 >>Installing in "/opt/gnu". OK? [y/n]> @b{n}
519 >>Where do you want to install? > @b{/usr/local/src}
520 >>Installing in "/usr/local/src". OK? [y/n]> @b{y}
521@end example
522@end cartouche
523
524@item
525Installing the Developer's Kit binaries is a time-consuming step
526(between ?? minutes and ???, depending on the speed of your machine).
527@code{pkgadd} will display informative messages about its progress.
528After the initial extraction step, it prepares copies of your system
529header files, converted to comply better with @sc{ansi} C
530(@pxref{Why-fixincludes,,Why Convert System Header Files?}). A log for
531this step goes in @file{/opt/gnu/progressive-||RELNO||/fixincludes.log}.
532@emph{Your system's original header files are not changed;}
533@code{pkgadd} writes the converted copies in a separate,
534@sc{gcc}-specific directory.
535
536When installation is complete, @code{pkgadd} displays the message
537
538@cartouche
539@example
540Cygnus Support software distribution installed!
541@end example
542@end cartouche
543
544@item
545Now that the software is on your system, you should arrange for users
546to run it conveniently. We recommend the following symbolic link; see
547@ref{Link,,Easy Access and Updating}, for a discussion.
548
549@cartouche
550@example
551eg# @b{cd} @b{/opt/gnu}
552eg# @b{ln} @b{-s} @b{progressive-||RELNO||} @b{progressive}
553@end example
554@end cartouche
555
556@ifset CUSTOMER
557@item
558Finally, in case you need to send problem reports to Cygnus, we've
559included a script @code{send_pr} (and a supporting online template) to
560structure and transmit your reports. Please use the small utility
561script @code{install_cid} to record your Cygnus customer ID in your copy
562of the problem report form. (You can find your customer ID in the cover
563letter that came with this release; or call the Cygnus hotline,
564@w{+1 415 322 7836}.) This will enable us to respond as quickly as
565possible to any problem reports you send.
566
567@cartouche
568@example
569eg# @b{/opt/progressive/bin/install@t{_}cid @var{customerID}}
570install_cid: `@var{customerID}' is now the default customer ID
571 for send_pr
572@end example
573@end cartouche
574@end ifset
575
576@end enumerate
577
578You're done! Anyone who puts @samp{/opt/progressive/bin} in her or his
579@code{PATH} can use the Developer's Kit.
580
581@node cross-install, Examples, local-install, Installing
582@unnumberedsubsec Installing with another machine's ||MEDIUM|| drive
583This checklist is for a ||HOST|| that does not have its own ||MEDIUM|| drive,
584but can share a file system with another machine that does have a ||MEDIUM||
585drive. The other machine need not be a ||HOST||, @emph{but it must be
586running some version of UNIX System V release 4}. The complete
587procedure takes between ?? and ???, depending on the speed of
588each machine.
589
590We show the other computer's prompt as @samp{other#}, and your
591computer's prompt as @samp{eg#}.
592
593@ifset FIXMES
594@quotation
595@emph{FIXME!} SVr4 required simply for presence of @code{pkgadd}
596command. If we care enough to relax this, we simply need to provide an
597alternative extraction command-line. @code{dd}? @code{tar}?
598@end quotation
599@end ifset
600
601@enumerate
602@item
603find a machine with a suitable ||MEDIUM|| drive on the same network as your
604||HOST||, and sign on to it. If the only machine with a ||MEDIUM||
605drive isn't on the network, @pxref{No Drive,,No Local ||MEDIUM|| Drive}.
606
607@item
608Make sure you have root access to @emph{both} computers. The standard
609Solaris installation procedures for optional packages require
610@code{root} to run all installation steps.
611
612@cartouche
613@example
614other$ @b{su} @b{root}
615password: @i{(enter root password)}
616@end example
617@end cartouche
618
619@item
620Choose a directory where you will extract the Developer's Kit. The
621directory must be accessible from both machines (the one with the
622||MEDIUM|| drive, and the ||HOST|| where you want to use the software).
623If possible, use @file{/var/spool/pkg}; this is the default package
624spooling directory for Solaris (and System V release 4 in general).
625
626@ifset FIXMES
627@quotation
628@emph{FIXME!} Do SVr4 systems expect to export things like
629@file{/var/spool/pkg}, or is this a nonsensical suggestion for
630cross-install?
631@end quotation
632@end ifset
633
634Wherever this note uses @var{shr}, substitute the name of the
635directory you chose.
636
637@item
638Check that you have enough space available (@pxref{Requirements,,System
639Requirements}) in @var{shr}. You can use @samp{df @var{shr}} to check.
640@ifset FIXMES
641@quotation
642@emph{FIXME!} Does @code{pkgadd} check for this and issue an error? If
643so, recast in those terms?
644@end quotation
645@end ifset
646
647@ifset CDROMinst
648@item
649Load the Catalyst CDWARE disk into a disk caddy, and put the caddy in
650your CD-ROM drive.
651
652@item
653Mount the @sc{cd-rom}. This note assumes your mount point for a
654@code{cd-rom} is a directory called @file{/cdrom}; substitute to match
655your site's conventions if necessary.
656
657@c makeinfo seems unable to cope with nested ifsets when outer is off,
658@c inner is on.
659@c @ifset FIXMES
660@quotation
661@emph{FIXME!} @file{/dev/dsk/c0t6d0s0} for @sc{cd-rom} cribbed from
662Sun's generic optional-package install notes. Is it really this
663definite on @emph{all} SVr4 systems? What about systems with more than
664one @sc{cd-rom} drive?
665@end quotation
666@c @end ifset
667
668@cartouche
669@example
670other# @b{mkdir} @b{/cdrom} @i{(ignore any errors)}
671other# @b{mount} @b{-F} @b{hsfs} @b{-o} @b{ro} @b{/dev/dsk/c0t6d0s0} @b{/cdrom}
672@end example
673@end cartouche
674@end ifset
675
676@ifclear CDROMinst
677@item
678Load the Cygnus Support release ||MEDIUM|| (labelled
679``Progressive--||RELNO||'') into the tape drive. In these examples,
680@var{||MEDstr||} stands for the device name for the appropriate
681tape drive on your system.
682
683@item
684find out the name of the tape device on the machine
685that can read the release tape. Cygnus release tapes are labelled to
686identify the kind of tape used. You should use one of the following
687devices:
688@ifset FIXMES
689@quotation
690@emph{FIXME!} Does SVr4 specify device names enough that we can be more
691explicit here?
692@end quotation
693
694@quotation
695@emph{FIXME!} For our own @code{Install}, we asked for
696@emph{non-rewinding} tape device. @code{pkgadd} doesn't say what kind
697of tape devices it wants. Does it matter?
698@end quotation
699@end ifset
700
701@table @emph
702@item ||TAPdflt|| ||MEDIUM||
703Use @file{||DEVdflt||} where the examples show @code{||MEDstr||}.
704
705@item Exabyte ||MEDIUM||
706The device name depends on how your Exabyte ||MEDIUM|| drive was installed;
707check with your system administrator. You will probably use something like
708@file{/dev/???/a0b1c2d3} where the example shows @code{||MEDstr||}.
709@end table
710@end ifclear
711
712@item
713Now you can extract either the ready-to-run binary package, the source
714package, or both.
715
716@itemize @bullet
717@item
718Choose source or binaries by running @code{pkgadd} with either or
719both of the arguments @samp{GNUDEVTkit} (to install binaries) or
720@code{GNUDEVTsrc} (for the source).
721
722@emph{Warning:} later, when installing on your ||HOST||, only the
723packages you extract now will be available. We recommend you extract
724both packages at this point.
725
726@item
727Use @samp{-s @var{shr}} to copy the packages to @var{shr}, where you
728will be able to install them from your ||HOST||.
729
730@item
731Use the @w{@samp{-d}} option to identify your ||MEDIUM||.
732@end itemize
733
734This is the command line to extract both packages into @var{shr}:
735
736@cartouche
737@example
738other# @b{/usr/sbin/pkgadd} @b{-s} @var{shr} @b{-d} @b{||MEDstr||} \
739 @b{GNUDEVTkit} @b{GNUDEVTsrc}
740@end example
741@end cartouche
742
743@item
744Log off the computer with the ||MEDIUM|| drive, and log on to the
745||HOST|| where you want to use the software.
746
747@item
748Make sure you have root access to this computer, too. The standard
749Solaris installation procedures for optional packages require
750@code{root} to run the complete installation.
751
752@cartouche
753@example
754eg$ @b{su root}
755password: @i{(enter root password)}
756@end example
757@end cartouche
758
759@item
760Check that you have enough space available in @file{/opt}
761(@pxref{Requirements,,System Requirements}). You can use @samp{df /opt}
762to check.
763@ifset FIXMES
764@quotation
765@emph{FIXME!} Does @code{pkgadd} check for this and issue an error? If
766so, recast in those terms?
767@end quotation
768@end ifset
769
770@item
771Now you can install ready-to-run binaries; or source; or both.
772
773@itemize @bullet
774@item
775Choose source or binaries by running @code{pkgadd} with either or
776both of the arguments @samp{GNUDEVTkit} (to install binaries) or
777@code{GNUDEVTsrc} (for the source).
778
779@emph{Warning:} if you extracted only one of these packages when reading
780the ||MEDIUM|| from another machine, you no longer have a choice---you
781can only specify that package name to complete the installation.
782
783@item
784Run @code{pkgadd} interactively (that is, @emph{without} the @w{@samp{-n}}
785option) to choose the installation directory.
786
787@item
788Use the @w{@samp{-d} @var{shr}} option to identify the shared directory
789where you extracted the packages earlier. (If you used
790@file{/var/spool/pkg} as @var{shr}, you can leave off this option;
791@code{pkgadd} uses that directory as the default location for packages
792to install.)
793@end itemize
794
795For instance, typing this command line starts installation of both
796the source package and the binary package:
797
798@cartouche
799@example
800eg# @b{/usr/sbin/pkgadd} @b{-d} @var{shr} @b{GNUDEVTkit} @b{GNUDEVTsrc}
801@end example
802@end cartouche
803
804@item
805For each of the packages, @code{pkgadd} will ask for confirmation of the
806install directory @file{/opt/gnu}, or an alternative.
807
808For the source package @code{GNUDEVTsrc}, place the package wherever
809it's convenient; the only advantage of using the default location
810@file{/opt/gnu} is to keep the source near the binaries.
811
812For the @code{GNUDEVTkit} binaries, we recommend using the default location
813@file{/opt/gnu}, since this location is configured and compiled into all
814the tools.
815
816@quotation
817@emph{Warning!} If you choose an alternate location for
818@code{GNUDEVTkit} binaries, you will need to override the compiled-in
819paths to run the programs. @xref{Paths,,Changing the Paths}.
820@end quotation
821
822This example shows the interaction to accept @file{/opt/gnu} for the
823binaries:
824
825@cartouche
826@example
827Extracting Solaris GNU Developer's Kit binaries.
828 >>Installing in "/opt/gnu". OK? [y/n]> @b{y}
829@end example
830@end cartouche
831
832This example shows the interaction to place the source in
833@file{/usr/local/src} instead of the default location. After you type
834the location, the installation script asks you to confirm. You can use
835this opportunity to avoid typographical errors in the install directory
836name.
837
838@cartouche
839@example
840Extracting Solaris GNU Developer's Kit source.
841 >>Installing in "/opt/gnu". OK? [y/n]> @b{n}
842 >>Where do you want to install? > @b{/usr/local/src}
843 >>Installing in "/usr/local/src". OK? [y/n]> @b{y}
844@end example
845@end cartouche
846
847@item
848Installing the Developer's Kit binaries is a time-consuming step (at
849least ?? minutes on a fast, unloaded machine; it may take as much as ???
850under other circumstances). @code{pkgadd} will display informative
851messages about its progress. After copying the binaries into their
852installed locations, @code{pkgadd} prepares copies of your system header
853files, converted to comply better with @sc{ansi} C
854(@pxref{Why-fixincludes,,Why Convert System Header Files?}). A log for
855this step goes in @file{/opt/gnu/progressive-||RELNO||/fixincludes.log}.
856@emph{Your system's original header files are not changed;}
857@code{Install} writes the converted copies in a separate,
858@sc{gcc}-specific directory.
859
860When installation is complete, @code{pkgadd} displays the message
861
862@cartouche
863@example
864Cygnus Support software distribution installed!
865@end example
866@end cartouche
867
868@item
869Now that the software is on your system, you need to arrange for users
870to run it conveniently. We recommend the following link; see
871@ref{Link,,Easy Access and Updating}, for a discussion.
872
873@cartouche
874@example
875eg# @b{cd} @b{/opt/gnu}
876eg# @b{ln} @b{-s} @b{progressive-||RELNO||} @b{progressive}
877@end example
878@end cartouche
879
880@ifset CUSTOMER
881@item
882Finally, in case you need to send problem reports to Cygnus, we've
883included a script @code{send_pr} (and a supporting online form) to
884structure and transmit your reports. Please use the small utility
885script @code{install_cid} to record your Cygnus customer ID in your copy
886of the problem report form. (You can find your customer ID in the cover
887letter that came with this release; or call the Cygnus hotline,
888@w{+1 415 322 7836}.) This will enable us to respond as quickly as
889possible to any problem reports you send.
890
891@cartouche
892@example
893eg# @b{/opt/progressive/bin/install@t{_}cid @var{customerID}}
894install_cid: `@var{customerID}' is now the default customer ID
895 for send_pr
896@end example
897@end cartouche
898@end ifset
899
900@end enumerate
901
902You're done! Anyone who puts @samp{/opt/progressive/bin} in her or his
903@code{PATH} can use the Developer's Kit.
904
905@node Examples, Why-fixincludes, cross-install, Installing
906@unnumbered Installation Examples
907
908Here are some examples covering common situations.
909
910@menu
911* binaries:: Installing binaries only
912* ||HOSTstr||-remote:: Reading ||MEDIUM|| on any machine, finishing on ||HOST||
913* source-remove:: Removing Source
914@end menu
915
916@node binaries, ||HOSTstr||-remote, Examples, Examples
917@unnumberedsubsec Installing binaries only
918
919@c FIXME for texinfo?? The "ifsets" were originally only around the
920@c portions of this example that depend on cdrom, but texinfo kept
921@c not-finding the end-ifsets. Does ifset break inside example?
922@ifset CDROMinst
923@cartouche
924@example
925eg$ @b{su} @b{root}
926password:
927
928@i{Insert ||MEDIUM|| into drive.}
929
930eg# @b{mkdir} @b{/cdrom}
931eg# @b{mount} @b{-F} @b{hsfs} @b{-o} @b{ro} @b{/dev/dsk/c0t6d0s0} @b{/cdrom}
932eg# @b{/usr/sbin/pkgadd} @b{-n} @b{-d} @b{||MEDstr||} @b{GNUDEVTkit}
933
934Extracting Solaris GNU Developer's Kit binaries.
935 >>Installing in "/opt/gnu". OK? [y/n]> @b{y}
936
937@i{Installation progress messages, ending with:}
938
939Cygnus Support software distribution installed!
940
941eg# @b{cd} @b{/opt/gnu}
942eg# @b{ln} @b{-s} @b{progressive-||RELNO||} @b{progressive}
943@end example
944@end cartouche
945@end ifset
946
947@ifclear CDROMINST
948@cartouche
949@example
950eg$ @b{su} @b{root}
951password:
952
953@i{Insert ||MEDIUM|| into drive.}
954
955eg# @b{/usr/sbin/pkgadd} @b{-n} @b{-d} @b{||MEDstr||} @b{GNUDEVTkit}
956
957Extracting Solaris GNU Developer's Kit binaries.
958 >>Installing in "/opt/gnu". OK? [y/n]> @b{y}
959
960@i{Installation progress messages, ending with:}
961
962Cygnus Support software distribution installed!
963
964eg# @b{cd} @b{/opt/gnu}
965eg# @b{ln} @b{-s} @b{progressive-||RELNO||} @b{progressive}
966@end example
967@end cartouche
968@end ifclear
969
970If you don't want the source---for instance, to save space---you can use
971the argument @samp{GNUDEVTbin} and omit @samp{GNUDEVTsrc}.
972
973@node ||HOSTstr||-remote, source-remove, binaries, Examples
974@unnumberedsubsec Reading ||MEDIUM|| on other machine, finishing on ||HOST||
975
976@ifset CDROMinst
977@cartouche
978@example
979@emph{On another SVr4 machine on your network with a ||MEDIUM|| drive:}
980other$ @b{su} @b{root}
981password:
982
983@i{Insert ||MEDIUM|| into drive.}
984
985other# @b{mkdir} @b{/cdrom} @i{(ignore any errors)}
986other# @b{mount} @b{-F} @b{hsfs} @b{-o} @b{ro} @b{/dev/dsk/c0t6d0s0} @b{/cdrom}
987other# @b{/usr/sbin/pkgadd} @b{-s} @var{/var/spool/pkg} @b{-d} @b{||MEDstr||} \
988 @b{GNUDEVTkit} @b{GNUDEVTsrc}
989other# exit
990
991@emph{On your ||HOST||}
992eg$ @b{su} @b{root}
993password:
994eg# @b{/usr/sbin/pkgadd} @b{GNUDEVTkit} @b{GNUDEVTsrc}
995
996Extracting Solaris GNU Developer's Kit binaries.
997 >>Installing in "/opt/gnu". OK? [y/n]> @b{y}
998
999Extracting Solaris GNU Developer's Kit source.
1000 >>Installing in "/opt/gnu". OK? [y/n]> @b{y}
1001
1002@i{Installation progress messages, ending with:}
1003
1004Cygnus Support software distribution installed!
1005
1006eg# @b{cd} @b{/opt/gnu}
1007eg# @b{ln} @b{-s} @b{progressive-||RELNO||} @b{progressive}
1008@end example
1009@end cartouche
1010@end ifset
1011
1012@ifclear CDROMinst
1013@cartouche
1014@example
1015@emph{On another SVr4 machine on your network with a ||MEDIUM|| drive:}
1016other$ @b{su} @b{root}
1017password:
1018
1019@i{Insert ||MEDIUM|| into drive.}
1020
1021other# @b{/usr/sbin/pkgadd} @b{-s} @var{/var/spool/pkg} @b{-d} @b{||MEDstr||} \
1022 @b{GNUDEVTkit} @b{GNUDEVTsrc}
1023other# exit
1024
1025@emph{On your ||HOST||}
1026eg$ @b{su} @b{root}
1027password:
1028eg# @b{/usr/sbin/pkgadd} @b{GNUDEVTkit} @b{GNUDEVTsrc}
1029
1030Extracting Solaris GNU Developer's Kit binaries.
1031 >>Installing in "/opt/gnu". OK? [y/n]> @b{y}
1032
1033Extracting Solaris GNU Developer's Kit source.
1034 >>Installing in "/opt/gnu". OK? [y/n]> @b{y}
1035
1036@i{Installation progress messages, ending with:}
1037
1038Cygnus Support software distribution installed!
1039
1040eg# @b{cd} @b{/opt/gnu}
1041eg# @b{ln} @b{-s} @b{progressive-||RELNO||} @b{progressive}
1042@end example
1043@end cartouche
1044@end ifclear
1045
1046@noindent
1047If your ||HOST|| doesn't have a ||MEDIUM|| drive, but another SVr4
1048machine that can mount a shared directory (here the default
1049package-spooling directory, @samp{/var/spool/pkg}) does have one, you
1050can carry out the first step of the installation from the machine with a
1051||MEDIUM|| drive, as shown. Note that you have to use @samp{-s} on
1052the @code{pkgadd} command line. This alerts @code{pkgadd} to stop the
1053install procedure after it reads the ||MEDIUM||. You still have to
1054finish the installation, but the last two steps have to run on your
1055||HOST||.
1056
1057@node source-remove, , ||HOSTstr||-remote, Examples
1058@unnumberedsubsec Removing Source
1059The @code{pkgrm} command can remove any package installed by
1060@code{pkgadd}. For example, if after installing the complete
1061Developer's Kit on your machine you decide to remove the source files:
1062
1063@cartouche
1064@example
1065eg$ @b{su} @b{root}
1066password:
1067eg# @b{/usr/sbin/pkgrm GNUDEVTsrc}
1068@end example
1069@end cartouche
1070
1071@node Why-fixincludes, Link, Examples, Installing
1072@unnumberedsec Why Convert System Header Files?
1073
1074@ifset FIXMES
1075@quotation
1076@emph{FIXME!} This is pretty much the standard progressive blurb about
1077fixincludes. Surely it's bogus here, since Solaris is a nice modern
1078system? Doesn't it have ANSI header files?
1079
1080Someone, please confirm or deny! I seem to recall there's at least some
1081bullshit about how @code{__ANSIC__} or some such thing is defined.
1082Specifics, anyone?
1083@end quotation
1084@end ifset
1085
1086You may notice messages about running @samp{fixincludes} during your
1087Developer's Kit installation. When the @sc{ansi x3j11} committee
1088finished developing a standard for the C language, a few things that had
1089worked one way in many traditional C compilers ended up working
1090differently in @sc{ansi} C. Most of these changes are improvements.
1091But some Unix header files still rely on the old C meanings, in cases
1092where the Unix vendor has not yet converted to using an @sc{ansi} C
1093compiler for the operating system itself. The @samp{fixincludes}
1094portion of installation is a mechanical translation that writes
1095@sc{ansi} C versions of some system header files into a new,
1096@sc{gcc}-specific include directory---@emph{your system's original
1097header files are not affected.}
1098
1099The particular problems fixed include:
1100@itemize @bullet
1101@item
1102@code{_IOR}, @code{_IOW}, and @code{_IORW} macros use obsolete
1103preprocessor facilities
1104@item
1105@code{#endif} no longer ignores its argument
1106@end itemize
1107
1108If you don't run @code{fixincludes}, the GNU C compiler can only use the
1109original system header files when you compile new C programs. @emph{In
1110some cases, the resulting programs will fail at run-time}.
1111
1112@node Link, , Why-fixincludes, Installing
1113@unnumbered Easy Access and Updating
1114Once you've extracted them from the ||MEDIUM||, the Developer's Kit
1115tools are installed under a directory named
1116@file{progressive-||RELNO||}. We put the release number in the
1117directory name so that you can keep several releases installed at the
1118same time, if you wish. In order to simplify administrative procedures
1119(such as upgrades to future Cygnus Progressive releases), we recommend
1120that you establish a symbolic link @file{/opt/gnu/progressive} to this
1121directory. For example, assuming you've used the default installation
1122path:
1123
1124@cartouche
1125@example
1126eg# @b{cd /opt/gnu}
1127eg# @b{ln -s progressive-||RELNO|| progressive}
1128@end example
1129@end cartouche
1130
1131We recommend building this link as the very last step in the
1132installation process. That way, users at your site will only see
1133software in @file{/opt/gnu/progressive} when you're satisfied that the
1134installation is complete and successful.
1135
1136@node Running, Paths, Installing, Top
1137@unnumbered Running the Programs
1138Any users who wish to run the Cygnus development tools will need to make
1139sure the @code{PATH} environment variable will find them. If you create
1140the symbolic link we recommend above, users who want to run the
1141Developer's Kit---regardless of whether they need binaries for a ||HOST||,
1142or for some other platform---can use settings like one of the following
1143in their initialization files.
1144
1145@example
1146@exdent For shells compatible with Bourne shell (e.g. @code{/bin/sh}, @code{bash}, or Korn shell):
1147@cartouche
1148@b{PATH=/opt/gnu/progressive/bin:$PATH}
1149@b{export PATH}
1150@end cartouche
1151@end example
1152
1153@example
1154@exdent For C shell:
1155@cartouche
1156@b{set path=(/opt/gnu/progressive/bin $path)}
1157@end cartouche
1158@end example
1159
1160@noindent
1161You should also ensure that your @code{man} command can pick up the
1162manual pages for these tools. Some @code{man} programs recognize a
1163@code{MANPATH} environment variable. If your @code{man} program is one
1164of these, users at your site can also include in their initialization
1165file lines like
1166
1167@example
1168@exdent For Bourne-compatible shells:
1169@cartouche
1170@b{MANPATH=/opt/gnu/progressive/man:$MANPATH:/opt/man}
1171@b{export MANPATH}
1172@end cartouche
1173@end example
1174
1175@example
1176@exdent For C shell:
1177@cartouche
1178@b{setenv MANPATH /opt/gnu/progressive/man:$MANPATH:/opt/man}
1179@end cartouche
1180@end example
1181
1182If your @code{man} program doesn't recognize @samp{MANPATH}, you may
1183want to copy or link the files from
1184@file{progressive/man/man1} into your system's
1185@file{man/man1}. @refill
1186
1187@node Paths, Trouble, Running, Top
1188@unnumbered Changing the Paths
1189The binaries shipped by Cygnus are configured for installation under the
1190directory @file{/opt/gnu}. If you wish to run the tools in another
1191location, the best solution---and, to date, the only complete one---is
1192to rebuild them from source. @xref{Rebuilding,,Rebuilding from Source}.
1193
1194In particular, @code{gcc} and the documentation browser @code{info} need
1195to know the location of the distribution.
1196
1197@subheading GCC Paths
1198@ifset FIXMES
1199@quotation
1200@emph{FIXME!} Add something about specs file?
1201@end quotation
1202@end ifset
1203You can run the compiler @sc{gcc} without recompiling, even if you
1204install the distribution in an alternate location, by first setting the
1205environment variable @samp{GCC_EXEC_PREFIX}. This variable specifies
1206where to find the executables, libraries, and data files used by the
1207compiler. Its value will be different depending on which set of
1208binaries you need to run. For example, if you install the Developer's Kit
1209binaries under @file{/local} (instead of the default
1210@file{/opt/gnu}), and you wish to run @sc{gcc} from there,
1211you could set @samp{GCC_EXEC_PREFIX} as follows. (You can
1212type the first two lines as a single line, if you like; the example
1213is split using the line continuation character @samp{\} only
1214to make it fit on the printed page.)
1215
1216@cartouche
1217@example
1218@b{GCC@t{_}EXEC@t{_}PREFIX=/local/progressive-||RELNO||/@t{\}
1219lib/gcc/||TARGET||/||GCCvn||/}
1220@b{export GCC@t{_}EXEC@t{_}PREFIX}
1221@end example
1222@end cartouche
1223
1224@noindent
1225The example assumes you use a shell compatible with the Bourne shell; if
1226you run the C shell, use the following instead. (Again, the line
1227continuation character @samp{\} is only used for convenience in the
1228example; feel free to use a single line.)
1229
1230@cartouche
1231@example
1232@b{setenv GCC@t{_}EXEC@t{_}PREFIX /local/progressive-||RELNO||/@t{\}
1233lib/gcc/||TARGET||/||GCCvn||/}
1234@end example
1235@end cartouche
1236
1237@quotation
1238@emph{Warning: The trailing slash @samp{/} is important}. The @code{gcc}
1239program uses @samp{GCC_EXEC_PREFIX} simply as a prefix. If you omit the
1240slash (or make any other mistakes in specifying the prefix), @code{gcc}
1241will fail with a message beginning @samp{installation problem, cannot
1242exec@dots{}}.
1243@end quotation
1244
1245@subheading @code{info} Paths
1246You can use the @w{@samp{--directory}} option, each time you run @code{info},
1247to specify a non-default location for the documentation files. For
1248example, if you read the distribution ||MEDIUM||s into @file{/local},
1249you could run @code{info} as follows:
1250
1251@cartouche
1252@example
1253@b{info --directory /local/progressive-||RELNO||/info}
1254@end example
1255@end cartouche
1256
1257@quotation
1258@emph{Warning:} the directory you specify with @code{--directory}
1259@emph{must} contain at least the structured file called @code{dir},
1260which specifies the menu structure that leads to the other documentation
1261files.
1262@end quotation
1263
1264You can also run @code{info} on a specific documentation file,
1265regardless of its location, by giving the option @code{-file} followed
1266by a pathname to the desired file; or you can use the command
1267@code{g(@var{filename})} to the same effect, after entering the
1268@code{info} program.
1269
1270@node Trouble, Rebuilding, Paths, Top
1271@unnumbered Some Things that Might go Wrong
1272
1273We've tried to make the installation of your Developer's Kit as painless
1274as possible. Still, some complications may arise. Here are suggestions
1275for dealing with some of them.
1276
1277@menu
1278* No Drive:: No Local ||MEDIUM|| Drive
1279* Limited Space:: Not Enough Space
1280* Install errors:: Error Messages from @code{Install}
1281@end menu
1282
1283@node No Drive, Limited Space, Trouble, Trouble
1284@unnumberedsec No Local ||MEDIUM|| Drive
1285If your ||HOST|| doesn't have an appropriate ||MEDIUM|| drive, you may
1286still be able to install your software. Check with your system
1287administrator to see if another machine that runs Unix SVr4 at your site
1288has a ||MEDIUM|| drive you can use. If so:
1289
1290@emph{If a shared filesystem is available} between the two machines, and
1291it has enough space, see @ref{cross-install,,Installing with another
1292machine's ||MEDIUM|| drive}.
1293
1294@node Limited Space, Install errors, No Drive, Trouble
1295@unnumberedsec Not Enough Space
1296If you don't have enough space to install all of the ||MEDIUM||
1297distribution, you can instead extract only the compiled code, or only
1298the source.
1299
1300The following table summarizes the approximate space (rounded up to the
1301next megabyte) needed for source and binaries.
1302There is a little overlap between the partial installations: the
1303documentation, and documentation tools, are always installed.
1304
1305@table @r
1306@item ||BD|| MB
1307||HOST|| binaries
1308
1309@item ||SD|| MB
1310source code for all programs
1311
1312@item ||DF|| MB
1313total
1314@end table
1315
1316You can easily extract these components independently of one another, by
1317using the @samp{GNUDEVTsrc} or @samp{GNUDEVTbin} arguments to @code{pkgadd}.
1318
1319@node Install errors, , Limited Space, Trouble
1320@unnumberedsec Error Messages from @code{Install}
1321The @code{Install} script checks for many errors and inconsistencies in
1322the way its arguments are used. The messages are meant to be
1323self-explanatory. Here is a list of a few messages where further
1324information might be useful:
1325
1326@ifset FIXMES
1327@quotation
1328@emph{FIXME!} These are probably bogus, they're basically from Cygnus
1329@code{Install}.
1330@end quotation
1331@end ifset
1332@table @code
1333@item Cannot read from device @var{||MEDstr||}
1334The error message ends with the ||MEDIUM|| device or directory that
1335@code{pkgadd} was trying to use. Please check that it is the device you
1336intended; possible causes of trouble might include leaving off the
1337@samp{/dev/} prefix at the front of a device name. A typo in the
1338device name might also cause this problem.
1339
1340If the problem is neither of these things, perhaps your ||MEDIUM||
1341device can't read our ||MEDIUM||; @pxref{No Drive,,No Local ||MEDIUM||
1342Drive}, for a discussion of how to use another machine's ||MEDIUM||
1343drive.
1344
1345@item @dots{} This is a problem.
1346@itemx Cannot cd to @var{installdir}
1347@itemx I do not know why I cannot create @var{installdir}
1348@itemx hello.c fails to run
1349@itemx test-ioctl.c fails to run
1350@itemx I do not know how to remove an arch called @dots{}
1351These errors (the first covers anything that ends in @samp{This is a
1352problem}) are from paranoia checks; they are issued for situations that
1353other checks should have covered, or for unlikely situations that
1354require further diagnosis.
1355
1356If you get one of these messages, please
1357@itemize @bullet
1358@item
1359@strong{call the Cygnus hotline, +1 415 322 7836}, or
1360@item
1361send electronic mail to @samp{help@@cygnus.com}.
1362@end itemize
1363@end table
1364
1365@node Rebuilding, Removing, Trouble, Top
1366@unnumbered Rebuilding From Source
1367
1368All Cygnus products are free software; your Developer's Kit includes
1369complete source code for all programs.
1370
1371Cygnus Support has implemented an automatic configuration scheme to
1372adapt the programs to different environments.
1373
1374Rebuilding the programs from source requires these steps:
1375@enumerate
1376@item
1377configuration
1378@item
1379compilation
1380@item
1381installation
1382@end enumerate
1383
1384For example, executing the following commands in sequence will rebuild
1385and install a native version of all the tools in a nonstandard
1386directory:
1387
1388@cartouche
1389@example
1390@b{cd progressive/src}
1391@b{./configure ||HOSTstr|| -prefix=/local/gnu}
1392@b{make clean all install}
1393@end example
1394@end cartouche
1395
1396@noindent
1397We discuss each step in detail in the following sections.
1398
1399@menu
1400* Configuration:: Configuration
1401* Config Names:: Specifying Names for Hosts and Targets
1402* configure Options:: @code{configure} Options
1403* Compilation:: Compilation
1404* Installation:: Installation
1405@end menu
1406
1407@node Configuration, Config Names, Rebuilding, Rebuilding
1408@unnumberedsec Configuration
1409
1410You can configure the software in this release by using the shell
1411script called @code{configure}. The shell script requires one argument:
1412the host type. There are also several possible options, including a
1413@w{@samp{-target=}} option to configure for cross-system development.
1414
1415@node Config Names, configure Options, Configuration, Rebuilding
1416@section Specifying Names for Hosts and Targets
1417
1418The specifications used for hosts and targets in the @code{configure}
1419script are based on a three-part naming scheme, but some short predefined
1420aliases are also supported. The full naming scheme encodes three pieces
1421of information in the following pattern:
1422
1423@example
1424@var{architecture}-@var{vendor}-@var{os}
1425@end example
1426
1427@ifset FIXMES
1428@quotation
1429@emph{FIXME!} What is real alias for Solaris/SPARC?
1430@end quotation
1431@end ifset
1432For example, you can use the alias @code{solar} as a @var{host} argument
1433or in a @w{@samp{-target=@var{target}}} option, but the equivalent full name
1434is @samp{sparc-sun-solaris2}.
1435
1436@quotation
1437@emph{Warning:} @code{configure} can represent a very large number of
1438combinations of architecture, vendor, and OS. There is by no means
1439support for all possible combinations!
1440@end quotation
1441
1442@node configure Options, Compilation, Config Names, Rebuilding
1443@section @code{configure} Options
1444
1445This section summarizes the @code{configure} options and arguments.
1446Your Developer's Kit contains full online documentation for the Cygnus
1447configure system. @inforef{Using Configure,,configure.info}, to read
1448about @code{configure} in more detail, including information on how the
1449@code{configure} options relate to @file{Makefile} variables.
1450
1451@example
1452configure @r{[}-prefix=@var{dest}@r{]}
1453 @r{[}-exec-prefix=@var{bindest}@r{]}
1454 @r{[}-srcdir=@var{path}@r{]}
1455 @r{[}-norecursion@r{]}
1456 @r{[}-target=@var{target}@r{]}
1457 @var{host}
1458@end example
1459
1460@ifset FIXMES
1461@quotation
1462@emph{FIXME!} Show complete configure option list used for release?
1463@end quotation
1464@end ifset
1465@table @code
1466@item -prefix=@var{dest}
1467@var{dest} is an installation directory @emph{path prefix},
1468the root for the directories where @code{make install} will
1469place things. After you configure with this option, @code{make install}
1470will install info files in @file{@var{dest}/info}, man pages in
1471@file{@var{dest}/man}, and---unless you also use
1472@w{@samp{-exec-prefix}}---compiled programs in @file{@var{dest}/bin},
1473and libraries in @file{@var{dest}/lib}.
1474If you specify @w{@samp{-prefix=/local}}, for example, @code{make
1475install} puts the development tools in @file{/local/bin}.
1476
1477@emph{WARNING:} the default @var{dest} path prefix in the source is not
1478the same as the prefix for the preconfigured binaries distributed by Cygnus.
1479
1480@w{@samp{-prefix=/opt/gnu/progressive-||RELNO||}} was used to build this
1481Cygnus Progressive Release. If you do not use @w{@samp{-prefix}}, the
1482installation directory is @file{/usr/local}.
1483
1484@item -exec-prefix=@var{bindest}
1485@w{@samp{-exec-prefix}} serves the same purpose as @w{@samp{-prefix}}, but
1486affects only machine-dependent targets (compiled programs and
1487libraries). Specifying both @w{@samp{-prefix}} and @w{@samp{-exec-prefix}}
1488allows you to segregate machine-dependent files, so that
1489machine-independent files can be shared.
1490
1491@emph{WARNING:} the default @var{bindest} path prefix in the source is not
1492the same as the prefix for the preconfigured binaries distributed by Cygnus.
1493
1494@w{@samp{-exec-prefix=/opt/gnu/progressive-||RELNO||}} was
1495used to build this Cygnus Progressive Release.
1496If you do not use @w{@samp{-exec-prefix}}, the default directory for
1497machine-dependent targets is whatever was specified with @file{-prefix}
1498(by default, @file{/usr/local}).
1499
1500@item -srcdir=@var{path}
1501@emph{Warning: This option is only supported if you use @sc{gnu}
1502@code{make}} (which is included in this Cygnus Progressive--||RELNO|| release).
1503Use this option to make configurations in directories separate from the
1504source directories. @code{configure} writes configuration specific files
1505in the current directory, but arranges for them to use the source in the
1506directory @var{path}. @code{configure} will create directories under
1507the working directory in parallel to the source directories below
1508@var{path}. Among other things, you can use this to build (or maintain)
1509several configurations simultaneously, in separate directories.
1510
1511@item -norecursion
1512Configure only the directory level where @code{configure} is executed; do not
1513propagate configuration to subdirectories.
1514
1515@item -target=@var{target}
1516Configure the development tools for cross-development (compiling,
1517debugging, or other processing) of programs running on the specified
1518@var{target}. Without this option, programs are configured ``native'',
1519that is, for managing programs that run on the same machine (@var{host})
1520as the development tools themselves.
1521
1522There is no convenient way to generate a list of all available targets.
1523
1524@item @var{host} @dots{}
1525Configure the development tools to run on the specified @var{host}.
1526
1527There is no convenient way to generate a list of all available hosts.
1528@end table
1529
1530The @w{@samp{-prefix=@var{dest}}} and @w{@samp{-exec-prefix=@var{bindest}}}
1531options are particularly important. If you don't specify a @var{dest}
1532or @var{bindest} directory, the @file{Makefile} installs binaries in
1533subdirectories of @file{/usr/local}. These options are important
1534because the @var{dest} and @var{bindest} directories are used for
1535several purposes:
1536
1537@enumerate
1538@item
1539@var{bindest} is the directory where binaries are installed.
1540
1541@item
1542@var{bindest} is built into the compiler itself for the
1543locations of @sc{gcc} specific include files, the locations of @sc{gcc}
1544subprograms, and the location of the @sc{gcc} specific library
1545@file{libgcc.a}.
1546
1547@item
1548@var{dest} is compiled into @code{info} as the default directory
1549for the documentation.
1550
1551@end enumerate
1552
1553@node Compilation, Installation, configure Options, Rebuilding
1554@unnumberedsec Compilation
1555
1556After you've run @code{configure} (which writes the final
1557@file{Makefile} in each directory), compilation is straightforward.
1558To compile all the programs in the Developer's Kit, run:
1559
1560@cartouche
1561@example
1562@b{make}
1563@end example
1564@end cartouche
1565
1566The overall @file{Makefile} propagates the value of the @code{CC}
1567variable explicitly, so that you can easily control the compiler used in
1568this step. @code{CFLAGS} is treated the same way. For instance, to
1569build the compiler a second time, using @sc{gcc} to compile itself
1570(after building and installing it in the alternate directory
1571@file{/local/gnu}), you might use
1572
1573@cartouche
1574@example
1575@b{make CC=/local/gnu/H-sun4/bin/gcc CFLAGS=-O}
1576@end example
1577@end cartouche
1578
1579The conventional targets @samp{all}, @samp{install}, and @samp{clean}
1580are supported at all levels of @file{Makefile}. Other targets are
1581supported as well, as appropriate in each directory; please read the
1582individual @file{Makefile} for details. Each @file{Makefile} in the
1583source directories includes ample comments to help you read it. If you
1584are not familiar with @code{make}, refer to @ref{Overview,,Overview of
1585@code{make}, make.info, GNU Make: A Program for Directing
1586Recompilation}.
1587
1588@node Installation, , Compilation, Rebuilding
1589@unnumberedsec Installation
1590
1591Whether you configure an alternative path using @code{-prefix}, or you
1592use the default installation path @file{/usr/local}, you can install the
1593software by executing:
1594
1595@cartouche
1596@example
1597@b{make install}
1598@end example
1599@end cartouche
1600
1601@node Removing, Cygnus-FSF, Rebuilding, Top
1602@unnumbered Removing Parts of the Developer's Kit
1603You can use the @code{pkgrm} command to remove either part of this
1604release from where @code{pkgadd} installed it.
1605
1606To do this, call @code{pkgrm} with either or both of the arguments
1607@samp{GNUDEVTkit} (to remove binaries) or @samp{GNUDEVTsrc} (to remove
1608source). For example, suppose you never look at the source, and are
1609running short of disk space; you can remove the source, while leaving
1610the rest of the Progressive Release undisturbed, as follows:
1611
1612@cartouche
1613@example
1614eg# @b{/usr/sbin/pkgrm GNUDEVTsrc}
1615@end example
1616@end cartouche
1617
1618To remove the complete Progressive Release of the Developer's Kit from
1619your system (if, eventually, you no longer want it), specify both
1620package names as arguments to @code{pkgrm}
1621
1622@node Cygnus-FSF, Cygnus-Support, Removing, Top
1623@unnumbered Cygnus Releases and the FSF
1624
1625Most of the tools in this Developer's Kit are originally from the Free
1626Software Foundation (FSF). You can get versions of all these tools
1627from the FSF as well as from Cygnus. In general, Cygnus Progressive
1628Releases add to FSF software in the following ways:
1629@c UPDATE! more differences bet Cygnus/FSF releases?
1630
1631@itemize @bullet
1632@item
1633Commercial support is available. Cygnus adds value to FSF releases in
1634large measure by offering outstanding support services.
1635@item
1636Coordination. The tools in your Developer's Kit are certified to work
1637together; you need not worry about tools being out of step with each other.
1638@item
1639Bug fixes. A Progressive Release includes many fixes, already integrated
1640into the programs. Cygnus repairs bugs discovered during testing, and
1641also tracks and includes bug fixes developed for other Cygnus customers
1642or distributed over the Internet.
1643@item
1644Bug reporting. Cygnus releases include the tool @code{send_pr}, which
1645you can use to make sure your problem reports receive prompt attention,
1646and are also incorporated in our future tests.
1647@item
1648Documentation. Cygnus revises and adds to available FSF
1649documentation to give you better descriptions of all the software tools.
1650@item
1651Stability. Cygnus tests (and uses) all the programs it releases.
1652@end itemize
1653
1654@c FIXME! If we can say something about this, remove @ignore/@end ignore
1655@c and fill in below:
1656@ignore
1657This particular Cygnus Progressive release differs from the nearest
1658corresponding FSF distributions in these important details:
1659
1660FILL IN HERE!
1661
1662@end ignore
1663
1664@node Cygnus-Support, , Cygnus-FSF, Top
1665@unnumbered About Cygnus Support
1666
1667Cygnus Support was founded in 1989 to provide commercial support for
1668free software. Cygnus supplies products and services that benefit
1669advanced development groups by allowing them to use state-of-the-art
1670tools without having to maintain them. With Cygnus Support, sites that
1671once were forced to do their own tool support can recover that valuable
1672staff time. Former users of proprietary software now may choose
1673supported free software, combining the advantages of both worlds.
1674
1675Free software is faster, more powerful, and more portable than its
1676proprietary counterparts. It evolves faster because users who want to
1677make improvements are free to do so. Cygnus tracks these
1678improvements and integrates them into tested, stable versions ready
1679for commercial use, then backs this software with comprehensive
1680support.
1681
1682With Cygnus Support as your partner, you will have the software and
1683the support you need to meet your business objectives. Cygnus
1684is intimately familiar with this software from extensive experience
1685using, debugging, and implementing it. You get direct access to the
1686most qualified support people: the authors of the software.
1687
1688We provide ``vintage'' releases---the most stable versions, which have
1689been though even more extensive use and testing---or up-to-the minute
1690``progressive'' releases, for those who need the very latest version.
1691
1692Because all our improvements are also free software, you can
1693distribute them widely within your organization, or to your customers,
1694without extra cost.
1695
1696@sp 4
1697
1698@display
1699Cygnus Support
1700814 University Avenue
1701Palo Alto, CA 94301, USA
1702
1703+1 415 322 3811
1704hotline: +1 415 322 7836
1705email: @code{info@@cygnus.com}
1706fax: +1 415 322 3270
1707@end display
1708
1709@bye
This page took 0.083792 seconds and 4 git commands to generate.