revert changes. oops - should have been on the branch.
[deliverable/binutils-gdb.git] / install-texi.in
CommitLineData
5898af2c
DHW
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 FIXME: XCOMP stuff not ready to go. For example,
10@c FIXME: no mention of lack of -msoft-float support for XCOMP, yet.
11@c
12@c This file describes how to install a Cygnus Progressive Release.
13@c
14@c Copyright (C) 1991, 1992 Cygnus Support
15@c This text may be freely distributed under the terms of the GNU
16@c General Public License.
17@c
18@c $Id$
19@c CONFIG: One of these hosts should be set, the others clear:
20@set HOSTsun4
21@clear HOSTsun3
22@clear HOSTdecstation
23@clear HOSTrs6000
24@clear HOSTiris
25@c CONFIG: In addition, XCOMP should be set for discussion of
26@c cross-compilation facilities
27@clear XCOMP
28@c
29@c
30@iftex
31@c The include file "texiplus.tex" is in the texinfo/cygnus dir, and
32@c implements Cygnus modifications to the texinfo manual style.
33@input texiplus
34@c The include file "smpklug.texi" is a kluge to deal with local
35@c document production issues at Cygnus; it's safe to comment out this
36@c line if you don't have (or don't want) the file.
37@input smpklug.texi
38@smallbook
39@cropmarks
40@setchapternewpage on
41@finalout
42@end iftex
43@settitle Progressive--||RELNO|| Installation
44@tex
45% override-override: the following \font lines are redundant if you're
46% using an unmodified FSF texinfo.
47\globaldefs=1
48\font\texttt=cmtt10 scaled \magstephalf\let\tentt=\texttt
49\font\textsl=cmsl10 scaled \magstephalf\let\tensl=\textsl
50\font\textsf=cmss10 scaled \magstephalf\let\tensf=\textsf
51\globaldefs=0
52%end override-override
53% WARNING: NONSTANDARD USAGE we need \tensf for print, without
54% upsetting info. We weren't using @b in this note, so I redefine it:
55%
56\global\def\b#1{{\tensf #1}}
57\global\parindent=0pt
58@end tex
59@titlepage
60@title Installation Notes
61@sp 3
62@table @strong
63@item Cygnus Support Developer's Kit
64@item Progressive Release ||RELNO|| for ||HOST||
65@item {}
66@item Contents
67@end table
68@c TOGGLE XREF DISPLAY TO AVOID SQUARE BRACKETS OR QUOTES:
69@c (Cygnus "texiplus.tex" hack. If you want standard texinfo remove
70@c or comment-out instances of @altref).
71@altref
72@format
73@ref{Brief,,Installing in Brief}
74@ref{Contents,,Release Contents}.
75@ref{Platforms,,Supported Platforms}.
76
77@ref{Installing,,Installing the Developer's Kit}.
78@ref{local-install,,Installing in @file{/usr/cygnus} with a local tape drive}.
79@ref{cross-install,,Installing in @file{/usr/cygnus} with another machine's tape drive}.
80@ref{Examples,,Installation Examples}.
81@ref{Install-Options,,Installation Options}
82
83@ref{Why-fixincludes,,Why Convert System Header Files?}
84@ref{Links,,Links for Easy Access and Updating}
85@ref{Paths,,Changing the Paths}
86@ref{Trouble,,Some Things that Might go Wrong}
87@ref{Rebuilding,,Rebuilding From Source}.
88@ref{Removing,,Removing the Developer's Kit}.
89
90@ref{Cygnus-FSF,,Cygnus Progressive Releases and the FSF}.
91@ref{Cygnus-Support,,About Cygnus Support}.
92@end format
93@c TOGGLE XREF DISPLAY BACK, TO RESTORE MARKERS AROUND SECNAMES:
94
95@altref
96@author Cygnus Support @hfill hotline: +1 415 322 7836
97@page
98
99@tex
100\def\$#1${{#1}} % Kluge: collect RCS revision info without $...$
101\xdef\Rmanvers{{\it Installation Notes (Progressive Developer's Kit)}, \$Revision$} % *NOT* for use in headers, footers
102{\parskip=0pt \hfill Cygnus Support\par \hfill \Rmanvers\par \hfill
103\TeX{}info \texinfoversion\par }
104\global\def\manvers{Progressive ||RELNO|| for ||HOST||}
105@end tex
106
107@vskip 0pt plus 1filll
108Copyright @copyright{} 1991, 1992 Cygnus Support
109
110Permission is granted to make and distribute verbatim copies of
111this manual provided the copyright notice and this permission notice
112are preserved on all copies.
113
114Permission is granted to copy and distribute modified versions of this
115manual under the conditions for verbatim copying, provided also that
116the entire resulting derived work is distributed under the terms of a
117permission notice identical to this one.
118
119Permission is granted to copy and distribute translations of this manual
120into another language, under the above conditions for modified versions.
121
122@end titlepage
123
124@ifinfo
125@node Top, Brief, (dir), (dir)
126
127This file is about the Cygnus Developer's Kit: what's in it, how to
128install it, and how to reconfigure it.
129
130@menu
131* Brief:: Installing in Brief
132* Contents:: Release Contents
133* Requirements:: System Requirements
134* Installing:: Installing the Developer's Kit
135* Examples:: Installation Examples
136* Install-Options:: Installation Options
137* Links:: Links for Easy Access and Updating
138* Running:: Running the Programs
139* Paths:: Changing the Paths
140* Trouble:: Some Things that Might go Wrong
141* Rebuilding:: Rebuilding From Source
142* Removing:: Removing Parts of the Developer's Kit
143* Cygnus-FSF:: Cygnus Releases and the FSF
144* Cygnus-Support:: About Cygnus Support
145
146 --- The Detailed Node Listing ---
147
148Release Contents
149
150* Platforms:: Supported Platforms
151
152Supported Platforms
153
154* Requirements:: System Requirements
155
156Installing the Developer's Kit
157
158* local-install:: Installing with a local tape drive
159* cross-install:: Installing with another machine's tape drive
160
161Installation Examples
162
163* binaries:: Installing binaries only
164* ||HOSTstr||-remote:: Reading tape on any machine, finishing on ||HOST||
165* source-remove:: Removing Source
166
167Installation Options
168
169* Why-fixincludes:: Why Convert System Header Files?
170
171Links for Easy Access and Updating
172
173* Running:: Running the Programs
174
175Some Things that Might go Wrong
176
177* No Drive:: No Local Tape Drive
178* Limited Space:: Not Enough Space
179* No access:: No Access to @file{/usr/cygnus}
180* Install errors:: Error Messages from @code{Install}
181
182Rebuilding From Source
183
184* Configuration:: Configuration
185* Config Names:: Specifying Names for Hosts and Targets
186* configure Options:: @code{configure} Options
187* Compilation:: Compilation
188* Installation:: Installation
189@end menu
190
191@end ifinfo
192
193@node Brief, Contents, Top, Top
194@unnumberedsubsubsec Installing in Brief
195@strong{You can run the brief installation procedure if:}
196@itemize @bullet
197@item
198You have a ||TAPdflt|| release tape (see tape label), and
199@item
200Your ||HOST|| has its own ||TAPdflt|| tape drive (@code{||DEVdflt||}), and
201@item
202You're willing to use the installation directory @file{/usr/cygnus}, and
203@item
204You have at least ||DF|| MB available in @code{/usr} (try @samp{df /usr})
205@end itemize
206Otherwise, see @ref{Installing,,Installing the
207Developer's Kit}.
208
209@strong{Steps for Brief Install:}
210
211@enumerate
212@item
213Make sure you can write in @samp{/usr/cygnus}, by typing:
214
215@example
216eg$ @b{su root}
217password: @i{(enter root password)}
218# @b{mkdir /usr/cygnus} @i{(ignore ``File exists'' error if any)}
219# @b{chmod 777 /usr/cygnus}
220# @b{exit} @i{(root access not needed beyond this)}
221@end example
222
223@item
224Load the Progressive--||RELNO|| tape into your tape drive.
225
226@item
227Get the @code{Install} script from the tape:
228
229@example
230eg$ @b{cd /tmp}
231eg$ @b{tar xfv ||DEVdflt|| Install}
232@end example
233
234@item
235Run the @code{Install} script:
236
237@example
238eg$ @b{./Install}
239@end example
240
241@code{Install} displays messages about its activity, ending with
242
243@example
244Done.
245@end example
246
247@item
248Build symbolic links to make execution paths easy:
249
250@example
251eg$ @b{cd /usr/cygnus}
252eg$ @b{ln -s progressive-||RELNO|| progressive}
253eg$ @b{su root} @i{(may need root access to put link in /usr)}
254password:
255# @b{ln -s /usr/cygnus/progressive/H-||HOSTstr|| /usr/progressive}
256# @b{exit} @i{(give up root access as soon as possible)}
257@end example
258
259@item
260Use your Cygnus customer-ID (see cover letter) to tag your copy of our
261problem-report form:
262
263@example
264eg$ @b{/usr/progressive/bin/install@t{_}cid @var{ID}}
265@end example
266
267@item
268Remove public write access from @file{/usr/cygnus}. See your System
269Administrator for the correct permissions at your site.
270@end enumerate
271
272You're done! Anyone who puts @samp{/usr/progressive/bin} in her or his
273@code{PATH} can use the Developer's Kit.
274
275@node Contents, Requirements, Brief, Top
276@unnumbered Release Contents
277
278This Developer's Kit is a Cygnus Support @dfn{Progressive Release}: the
279programs in it are recent versions, which have been tested and certified
280both individually and as a coordinated suite of tools.
281The kit includes both source and binaries for:
282
283@c UPDATE! Anything new shoveled in?
284
285@c ifclear doesn't seem to nest well. For that reason, and due to lack
286@c of "else" to ifclear, and due to lack of expressions in ifset/ifclear
287@c arguments, "DoFullTable" used in this contorted fashion:
288
289@set DoFullTable
290
291@ifset HOSTrs6000
292@clear DoFullTable
293@end ifset
294
295@ifset HOSTdecstation
296@clear DoFullTable
297@end ifset
298
299@ifset HOSTiris
300@clear DoFullTable
301@end ifset
302
303@table @t
304@item gcc
305C compiler
306
307@item g++
308C++ compiler
309
310@ifset DoFullTable
311@item gas
312assembler
313@end ifset
314
315@item gdb
316debugger
317
318@item gprof
319Performance analyzer
320
321@item byacc
322Parser generator
323
324@item flex
325Fast lexical analyzer generator
326
327@ifset DoFullTable
328@item ld
329linker
330@end ifset
331
332@item make
333compilation control program
334
335@item libg++.a
336C++ class library
337
338@ifset DoFullTable
339@item ar
340Manages object code archives
341
342@item nm
343Lists object file symbol tables
344
345@item objdump
346Displays object file information
347
348@item ranlib
349Generates archive index
350
351@item size
352Lists section and total sizes
353
354@item strip
355Discards symbols
356@end ifset
357
358@item makeinfo
359@itemx info
360Documentation tools
361
362@item texinfo.tex
363@itemx texindex
364Documentation printing tools
365
366@item send_pr
367Script to send structured problem reports to Cygnus
368
369@item diff
370Compares source files
371
372@item patch
373Installs source fixes
374@end table
375
376@menu
377* Platforms:: Supported Platforms
378@end menu
379
380@node Platforms, , Contents, Contents
381@unnumberedsec Supported Platforms
382
383@table @strong
384@item ||HOST||
385All programs in your Developer's Kit run on ||HOST|| computers; we
386ship binaries (configured to install and run under @file{/usr/cygnus})
387as well as all source code.
388
389@ignore
390@ifset HOSTsun4
391@item @sc{sparc} clones
392Whenever this note refers to ``Sun-4'' computers, you can also use a
393@sc{sparc} clone---that is, any computer system based on the @sc{sparc}
394architecture, regardless of its manufacturer.
395@end ifset
396@end ignore
397
398@ifset XCOMP
399@item Cross-Compiling
400@sc{gcc}, @sc{gas}, @sc{gdb}, and the binary
401utilities are preconfigured to generate and manage code for ||TARGET||
402architectures.
403@end ifset
404
405@item Other Platforms
406For information on other platforms or other programs
407that we may support, please contact Cygnus Support at:
408
409@table @strong
410@item voice
411+1 415 322 3811
412@item hotline
413+1 415 322 7836
414@item fax
415+1 415 322 3270
416@item email
417@code{info@@cygnus.com}
418@end table
419@end table
420
421@menu
422* Requirements:: System Requirements
423@end menu
424
425@node Requirements, Installing, Contents, Top
426@unnumbered System Requirements
427
428@table @strong
429@item OS Level
430Progressive Release ||RELNO|| for ||HOST|| hosts requires
431@ifset HOSTsun4
432SunOS 4.1.1 (or later).
433@end ifset
434@ifset HOSTsun3
435SunOS 4.1 (or later).
436@end ifset
437@ifset HOSTdecstation
438ULTRIX 4.0. For Ultrix 4.2, some workarounds are required even to run
439the installation script; if you would like to try these workarounds,
440please call the Cygnus hotline @w{+1 415 322 7836}.
441@end ifset
442@ifset HOSTrs6000
443AIX 3.1.5 (or later).
444
445@item IBM Software Patches
446Debugging code compiled with @sc{gcc} on the RS/6000 requires that you
447upgrade the AIX assembler @code{/bin/as} with a replacement that is available
448from IBM. Without the upgrade, you can still compile your code, but
449@samp{gcc -g @dots{}} will not work.
450
451Any IBM RS/6000 customer can order and get the replacement assembler,
452and install it on one or more machines. It is distributed both on
453diskette and via VNET, for downloading via ftp. VNET distribution may
454be desirable if you have a friendly IBM representative nearby with a
455networked VM machine.
456
457In either case, to order the replacement assembler from IBM, first
458execute @samp{lslpp -h bos.obj} to determine your release level. (Look
459on the @samp{ACTIVE} line for something like @samp{03.01.0005.0012}.)
460Then (in North America) call IBM Support at 800--237--5511. Ask for
461emergency shipment of the RS/6000 AIX fix for APAR IX22829. They may
462ask you to verify that it's a fix for ``@code{.extern foo} conflicts
463with defining @code{foo}''; say yes. They may also ask you for your
464customer number. If you do not know it, you will still be able to get
465the fix, but you will have to be persistent.
466
467You will receive a tar or tar.Z file containing an assembler plus
468installation instructions.
469
470If you tell them you're running AIX version 3.2, you may be told that
471no fix is available yet. In fact the 3.1.5 fix works fine on version
4723.2. Request it anyway.
473
474IBM is working on a second upgrade to replace IX22829 and fix two
475more problems with debug information. There's no scheduled availability
476yet, but it's probably summer 1992. Ask for the fix for APAR IX26107,
477``Don't allow @code{.csect name[BS]} or @code{[UC]}''. (Without the
478second upgrade, debugging works, but there may be occasional
479aberrations.)
480
481IBM has corresponding support organizations outside of North America.
482If you are not in North America, call your IBM branch office and ask
483them to put you in touch with the department that handles emergency
484fixes for AIX on the RS/6000. If that doesn't work, ask for the
485department that handles software defect support for AIX on the RS/6000.
486Then ask for the emergency APAR fix.
487@end ifset
488@ifset HOSTiris
489IRIX 4.0.1 (or later).
490@end ifset
491@c UPDATE! fill in OS for all supported platforms.
492
493@item Tape Drive
494You need access to a tape drive that can read the distribution tape.
495The tape drive need not be on the ||HOST|| where you want to run
496the software; but it is best if the machine with a tape drive and your ||HOST||
497can mount a common file system. At the very least, you need some sort
498of file transfer capability between the machine with a tape drive and
499your ||HOST||.
500
501Cygnus release tapes are labelled to identify the kind of
502tape used; either ||TAPdflt|| tapes, or Exabyte tapes.
503
504@item Disk Space
505The total space required to extract and install
506binaries and source for all programs is
507||DF|| megabytes.
508
509The software is configured to go into @file{/usr/cygnus}. If you have
510space available, but not in the same file system as @file{/usr}, you can
511use @samp{ln -s} to create @file{/usr/cygnus} as a symbolic link to the
512file system where you do have the space available.
513
514If you don't have enough space, you may be able to install binaries only;
515see @ref{Limited Space,,Not Enough Space}. The space required for
516installing the binaries on ||HOST|| systems is ||BD|| megabytes.
517
518@item Write Access
519You need to to sign on to an account with write access to @file{/usr},
520or at least to an existing @file{/usr/cygnus} directory. If you can't
521write in @file{/usr} or @file{/usr/cygnus}, see @ref{No access,,No
522Access to @file{/usr/cygnus}}.
523
524Root access is @emph{not} necessary to run the installation itself;
525but you might need it briefly to arrange for a writable
526@file{/usr/cygnus} directory, and to build a symbolic link in @file{/usr} after
527the installation is complete. The detailed installation instructions show
528when this may be necessary. We recommend you avoid @samp{su root} whenever
529possible.
530@end table
531
532@node Installing, Examples, Requirements, Top
533@unnumbered Installing the Developer's Kit
534
535@iftex
536This note shows the different parts of examples like this:
537@table @asis
538@item @code{Computer output is shown in typewriter font.}
539@item @b{Your input is indicated by a sans-serif font.}
540@item @i{Comments appear in italic font}.
541@end table
542@end iftex
543In examples, we show the system prompt as @samp{eg$}.
544
545The Cygnus Progressive--||RELNO|| tape contains two separate @code{tar}
546files. The first file contains a script called @code{Install};
547the second file contains the Progressive software. To get
548the software onto your system, you need to make sure you have the space
549you'll need for it, and get the @code{Install} script off the tape.
550Then you can use the @code{Install} script to choose what else to
551install.
552
553Here is more detail about what to do. Two checklists follow. The first
554checklist shows what to do if you have a tape drive on the same system
555(a ||HOST||) where you want to install the Developer's Kit; the
556second shows how to use another networked machine to read the tape, then
557finish the installation on your ||HOST||.
558
559Both checklists give the procedure for installing the Developer's Kit
560under @file{/usr/cygnus} (which can be a symbolic link from somewhere
561else, if you like). We recommend you use this location for the
562software, because the precompiled, ready-to-run versions of the tools
563are configured this way. (If you want to use a different location, and
564cannot establish a symbolic link from it to @file{/usr/cygnus}, please
565see @ref{Install-Options,,Installation Options}. To use the software
566conveniently after installing elsewhere, you should reconfigure and
567recompile from source; see @ref{Paths,,Changing the Paths}.)
568
569Both checklists are very similar to @ref{Brief,,Installing in Brief},
570but provide more discussion of each step, and offer alternatives for
571tape drives, for systems whose available disk space is not in
572@code{/usr}, and for installing only portions of the Developer's Kit.
573
574@menu
575* local-install:: Installing with a local tape drive
576* cross-install:: Installing with another machine's tape drive
577@end menu
578
579@node local-install, cross-install, Installing, Installing
580@unnumberedsubsec Installing in @file{/usr/cygnus}, with a local tape drive
581
582This procedure is for a ||HOST|| that has its own tape drive.
583
584Installing this way will install all the source code, plus the binaries for
585the ||HOST||. If you don't want both source and binaries, stop after
586extracting @code{Install} from the tape, and read about what options you
587can use with @code{Install} in @ref{Install-Options,,Installation
588Options}. For examples of variations on what to install,
589@xref{Examples,,Installation Examples}.
590
591@enumerate
592@item
593find out the name of the @emph{non-rewinding} tape device on your
594machine that can read the release tape. Cygnus release tapes are
595labelled to identify the kind of tape used---either ||TAPdflt|| or Exabyte.
596@ifset HOSTiris
597You must also be certain to use a @emph{non-byte-swapping} tape device.
598See @samp{man tps} for details.
599@end ifset
600@ifset HOSTrs6000
601On RS/6000 systems, you can find details on tape drives in
602@samp{man rmt}.
603@end ifset
604
605
606You should use one of the following devices:
607@table @emph
608@item ||TAPdflt|| tapes
609Use @file{||DEVdflt||} where the examples show @code{/dev/@var{tape}}.
610
611@item Exabyte tapes
612The device name depends on how your Exabyte tape drive was installed;
613ask your system administrator.
614@ifset HOSTsun4
615You will probably use one of
616@file{/dev/nrst0} or @file{/dev/nrst1} where we show
617@code{/dev/@var{tape}}.
618@end ifset
619@ifset HOSTsun3
620You will probably use one of
621@file{/dev/nrst0} or @file{/dev/nrst1} where we show
622@code{/dev/@var{tape}}.
623@end ifset
624@end table
625
626@item
627Check that you have enough space available (@pxref{Requirements,,System
628Requirements}) in @file{/usr}. You can use @samp{df /usr} to check.
629
630@item
631Check whether there's already a @file{/usr/cygnus} directory, and
632whether you can write in it. Typing the following line checks both:
633
634@cartouche
635@example
636eg$ @b{touch /usr/cygnus/test; rm /usr/cygnus/test}
637@end example
638@end cartouche
639
640@noindent
641@emph{If you get no errors from this line, skip the next step.}
642
643@item
644If you got ``No such file or directory'' or ``Permission denied''
645errors, you need to sign on (or @code{su}) to an account that has
646permission to write in @file{/usr} or in an existing @file{/usr/cygnus}
647directory. If only @code{root} has access, the best procedure is to
648@code{su root} @emph{briefly}, to create a writable
649@file{/usr/cygnus}---then return to your usual sign-on. For instance:
650
651@cartouche
652@example
653eg$ @b{su root}
654password: @i{enter root password}
655# @b{mkdir /usr/cygnus} @i{ignore ``File exists'' error if any}
656# @b{chmod 777 /usr/cygnus}
657# @b{exit} @i{root access not needed beyond this}
658eg$
659@end example
660@end cartouche
661
662If you don't have access to @code{root} or to any account with
663permission to write in @file{/usr} or @file{/usr/cygnus}, see @ref{No
664access,,No Access to @file{/usr/cygnus}}.
665
666@item
667Load the Cygnus Support release tape (labelled ``Progressive--||RELNO||'') into
668your system's tape drive.
669
670@item
671Extract the @code{Install} script (remember, @var{tape} stands for the
672device name for the appropriate tape drive on your system):
673
674@cartouche
675@example
676eg$ @b{cd /tmp}
677eg$ @b{tar xfv /dev/@var{tape} Install}
678@end example
679@end cartouche
680
681@c UPDATE! Check error messages from tar on non-Suns when supported
682If you get any error messages beginning ``tar: can't open'', check that
683the tape is correctly placed in your tape drive, and that you typed the
684right name for @var{tape}.
685
686It doesn't really matter where you put @code{Install}, though these
687examples assume @file{/tmp}. Don't worry about losing the script after
688you've done the install; when you extract anything from the tape,
689another copy of @code{Install} is saved (for future reference) in
690@file{/usr/cygnus/progressive-||RELNO||}.
691
692@quotation
693@emph{If you don't want both source and binaries, stop now,} and read about
694what options you can use with @code{Install} in
695@ref{Install-Options,,Installation Options}. For examples of variations
696on what to install, @xref{Examples,,Installation Examples}.
697@end quotation
698
699@item
700Now you can extract all the software by running @code{Install}. Use
701the @samp{-tape=} option to identify your tape drive:
702
703@cartouche
704@example
705eg$ @b{/tmp/Install -tape=/dev/@var{tape}}
706@end example
707@end cartouche
708
709This is a time-consuming step. @code{Install} will begin by using
710@code{tar} to extract software for your system, leaving a log in
711@file{/usr/cygnus/tar.log}. Then it prepares copies of your system
712header files, converted to comply with @sc{ansi} C
713(@pxref{Why-fixincludes,,Why Convert System Header Files?}); a log for
714this step goes in
715@file{/usr/cygnus/progressive-||RELNO||/fixincludes.log}. @emph{Your
716system's original header files are not changed;} @code{Install} writes
717the converted copies in a separate, @sc{gcc}-specific directory.
718
719As it executes, @code{Install} displays occasional messages to keep you
720informed about which of these steps it's executing. Among them, these
721messages mark completion of the major stages of installation:
722
723@cartouche
724@example
725Cygnus Support software distribution extracted!
726
727Fixed include files installed!
728
729Cygnus Support software distribution tested!
730
731Done.
732@end example
733@end cartouche
734
735@ifset HOSTrs6000
736If the test step fails on a @samp{.s} file, you may not have the
737correct assembler from IBM installed. @xref{Requirements,,System
738Requirements}.
739@end ifset
740
741@item
742Now that the software is on your system, you need to arrange for users
743to run it conveniently. We recommend the following links; see
744@ref{Links,,Links for Easy Access and Updating}, for a discussion.
745
746@cartouche
747@example
748eg$ @b{cd /usr/cygnus}
749eg$ @b{ln -s progressive-||RELNO|| progressive}
750
751eg$ @b{su root} @i{root privileges may be needed}
752password: @i{to put link in /usr}
753# @b{ln -s /usr/cygnus/progressive/H-||HOSTstr|| /usr/progressive}
754# exit @i{give up root privileges as soon as possible}
755@end example
756@end cartouche
757
758@item
759Finally, in case you need to send problem reports to Cygnus, we've
760included a script @code{send_pr} (and a supporting online template) to
761structure and transmit your reports. Please use the
762script @code{install_cid} to record your Cygnus customer ID in your copy
763of the problem report form. (You can find your customer ID in the cover
764letter that came with this release; or call the Cygnus hotline,
765@w{+1 415 322 7836}.) This will enable us to respond as quickly as
766possible to any problem reports you send.
767
768@cartouche
769@example
770eg$ @b{/usr/cygnus/progressive-||RELNO||/H-||HOSTstr||/bin/install@t{_}cid @var{ID}}
771install_cid: `@var{ID}' is now the default customer ID
772 for send_pr
773@end example
774@end cartouche
775
776@item
777We recommended permissions @code{777} for the @file{/usr/cygnus}
778directory, to be sure you could run this procedure. However, for the
779long term, it is usually not a good idea to leave directories
780world-writable (especially directories where executables come from).
781
782For better security, remove public write access from @file{/usr/cygnus}.
783See your System Administrator for the correct permissions at your site.
784@end enumerate
785
786You're done! Anyone who puts @samp{/usr/progressive/bin} in her or his
787@code{PATH} can use the Developer's Kit.
788
789@node cross-install, , local-install, Installing
790@unnumberedsubsec Installing in @file{/usr/cygnus}, with another machine's tape drive
791This checklist is for a ||HOST|| that does not have its own tape drive,
792but can share a file system with another machine that does have a tape
793drive. The other machine need not be a ||HOST||.
794
795Installing this way will install all the source, plus the binaries for
796the ||HOST||. If you don't want both source and binaries, stop after
797extracting @code{Install} from the tape, and read about what options you
798can use with @code{Install} in @ref{Install-Options,,Installation
799Options}. For examples of variations on what to install,
800@xref{Examples,,Installation Examples}.
801
802@enumerate
803@item
804find a machine with a suitable tape drive on the same network as your
805||HOST||, and sign on to it. If the only machine with a tape
806drive isn't on the network, @pxref{No Drive,,No Local Tape Drive}.
807
808@item
809find out the name of the @emph{non-rewinding} tape device on the machine
810that can read the release tape. Cygnus release tapes are labelled to
811identify the kind of tape used---either ||TAPdflt||, or Exabyte.
812
813You should use one of the following devices on ||HOST|| (or
814compatible) systems:
815@table @emph
816@item ||TAPdflt|| tapes
817Use @file{||DEVdflt||} where the examples show @code{/dev/@var{tape}}.
818
819@item Exabyte tapes
820The device name depends on how your Exabyte tape drive was installed;
821check with your system administrator.
822@ifset HOSTsun4
823You will probably use one of
824@file{/dev/nrst0} or @file{/dev/nrst1} where the example shows
825@code{/dev/@var{tape}}.
826@end ifset
827@ifset HOSTsun3
828You will probably use one of
829@file{/dev/nrst0} or @file{/dev/nrst1} where the example shows
830@code{/dev/@var{tape}}.
831@end ifset
832@end table
833
834@item
835Choose a directory where you will install the Developer's Kit. The
836directory must be accessible from both machines (the one with the tape
837drive, and the ||HOST|| where you want to use the software)---for
838example, over NFS. Wherever this note uses @var{shr}, substitute the
839name of the directory you chose.
840
841The shared directory need not have the same name on both machines,
842though we show it as @var{shr} on both, for simplicity.
843
844@item
845Check that you have enough space available (@pxref{Requirements,,System
846Requirements}) in @var{shr}. You can use @samp{df @var{shr}} to check.
847
848@item
849Check whether there's already a @file{@var{shr}/cygnus} directory,
850and whether you can write in it. Typing the following line checks both:
851
852@cartouche
853@example
854eg$ @b{touch @var{shr}/cygnus/test; rm @var{shr}/cygnus/test}
855@end example
856@end cartouche
857
858@noindent
859@emph{If you get no errors from this line, skip the next step.}
860
861@item
862If you got ``No such file or directory'' or ``Permission denied''
863errors, you need to sign on (or @code{su}) to an account that has
864permission to write in @var{shr} or in an existing
865@file{@var{shr}/cygnus} directory. If only @code{root} has access,
866the best procedure is to @code{su root} @emph{briefly}, and create a writable
867@file{@var{shr}/cygnus}---then return to your usual sign-on. For
868instance:
869
870@cartouche
871@example
872eg$ @b{su root}
873password: @i{(enter root password)}
874# @b{mkdir @var{shr}/cygnus} @i{(ignore ``File exists'' error if any)}
875# @b{chmod 777 @var{shr}/cygnus}
876# @b{exit} @i{root access not needed beyond this}
877eg$
878@end example
879@end cartouche
880
881@item
882Load the Cygnus Support release tape (labelled ``Progressive--||RELNO||'') into
883the tape drive. In these examples, @var{tape} stands for the
884device name for the appropriate tape drive on your system.
885
886@item
887The first file on the tape is a script called @code{Install}.
888That script automates most of the installation procedure---but first you
889need to bootstrap the installation by getting @code{Install} itself from
890the tape. It doesn't really matter where you put this initial
891copy of @code{Install}; it is only used to get things started---these
892examples assume you put it in @file{/tmp}. When you use this copy of
893@code{Install} to extract software from the tape, another copy of
894@code{Install} will be saved in
895@file{@var{shr}/cygnus/progressive-||RELNO||}. Later, you will use that
896second copy to finish the installation on your ||HOST||.
897
898These commands will get @code{Install} into the @file{/tmp} directory
899(remember, @var{tape} stands for the device name for the appropriate
900tape drive on your system):
901
902@cartouche
903@example
904eg$ @b{cd /tmp}
905eg$ @b{tar xfv /dev/@var{tape} Install}
906@end example
907@end cartouche
908
909@noindent
910@c UPDATE! tar error messages on other hosts?
911If you get any error messages beginning with something like ``tar: can't
912open'', check that the tape is correctly placed in your tape drive, and
913that you typed the right name for @var{tape}.
914
915@quotation
916@emph{If you don't want both source and binaries, stop now,} and read about
917what options you can use with @code{Install} in
918@ref{Install-Options,,Installation Options}. For examples of variations
919on what to install, @xref{Examples,,Installation Examples}.
920@end quotation
921
922@item
923Now you can extract all the software by running @samp{Install extract}.
924Use the @samp{-tape=} option to identify your tape drive, and the
925@w{@samp{-installdir=}} option to point to the @var{shr} directory.
926
927@cartouche
928@example
929eg$ @b{cd /tmp}
930eg$ @b{./Install extract -tape=/dev/@var{tape} -installdir=@var{shr}/cygnus}
931@end example
932@end cartouche
933
934This is a time-consuming step. @code{Install} will use @code{tar} to
935extract software for your system, leaving a log in the file
936@file{@var{shr}/cygnus/tar.log}.
937
938When @code{Install} is done extracting the tape contents, it
939displays the messages
940
941@cartouche
942@example
943Cygnus Support software distribution extracted!
944Done.
945@end example
946@end cartouche
947
948@item
949Log on to the ||HOST|| where you want to use the software.
950
951@item
952Create a symbolic link from @file{@var{shr}/cygnus/progressive-||RELNO||}
953to @file{/usr/cygnus/progressive-||RELNO||} on your ||HOST||. You may
954need to become @code{root} @emph{briefly}, as in this example:
955
956@iftex
957@widen{1pc}
958@end iftex
959@cartouche
960@example
961eg-||HOSTstr||$ @b{su root}
962password:
963# @b{mkdir /usr/cygnus} @i{(ignore ``File exists'' error if any)}
964# @b{chmod 777 /usr/cygnus}
965# @b{ln -s @var{shr}/cygnus/progressive-||RELNO|| /usr/cygnus/progressive-||RELNO||}
966# exit @i{root access not needed beyond this}
967@end example
968@end cartouche
969@iftex
970@widen{-1pc}
971@end iftex
972
973@noindent
974If you don't have access to any account with permission to write in
975@file{/usr}, @pxref{No access,,No Access to @file{/usr/cygnus}}.
976
977@item
978Fix up system header files on your ||HOST||, and test the installation, with
979the copy of @code{Install} that was placed in
980@file{@var{shr}/cygnus/progressive-||RELNO||}:
981
982@cartouche
983@example
984eg-||HOSTstr||$ @b{cd /usr/cygnus/progressive-||RELNO||}
985eg-||HOSTstr||$ @b{./Install @b{f}ixincludes test}
986@end example
987@end cartouche
988
989@noindent
990A log for the @code{fixincludes} step goes in
991@file{/usr/cygnus/progressive-||RELNO||/fixincludes.log}. @emph{Your
992system's original header files are not changed;} @code{Install} writes
993the converted copies in a separate, @sc{gcc}-specific directory.
994
995When each stage of this work is complete, @code{Install} displays these
996messages (the last, @samp{Done.}, simply indicates that @code{Install}
997has finished executing).
998
999@cartouche
1000@example
1001Fixed include files installed!
1002
1003Cygnus Support software distribution tested!
1004
1005Done.
1006@end example
1007@end cartouche
1008
1009@ifset HOSTrs6000
1010If the test step fails on a @samp{.s} file, you may not have the
1011correct assembler from IBM installed. @xref{Requirements,,System
1012Requirements}.
1013@end ifset
1014
1015@item
1016Now that the software is on your system, you need to arrange for users
1017to run it conveniently. We recommend the following links; see
1018@ref{Links,,Links for Easy Access and Updating}, for a discussion.
1019
1020@cartouche
1021@example
1022eg-||HOSTstr||$ @b{cd /usr/cygnus}
1023eg-||HOSTstr||$ @b{ln -s progressive-||RELNO|| progressive}
1024
1025eg-||HOSTstr||$ @b{su root} @i{root privileges may be needed}
1026password: @i{to put link in /usr}
1027# @b{ln -s /usr/cygnus/progressive/H-||HOSTstr|| /usr/progressive}
1028# exit @i{give up root privileges as soon as possible}
1029@end example
1030@end cartouche
1031
1032@item
1033Finally, in case you need to send problem reports to Cygnus, we've
1034included a script @code{send_pr} (and a supporting online form) to
1035structure and transmit your reports. Please use the
1036script @code{install_cid} to record your Cygnus customer ID in your copy
1037of the problem report form. (You can find your customer ID in the cover
1038letter that came with this release; or call the Cygnus hotline,
1039@w{+1 415 322 7836}.) This will enable us to respond as quickly as
1040possible to any problem reports you send.
1041
1042@cartouche
1043@example
1044eg$ @b{/usr/cygnus/progressive-||RELNO||/H-||HOSTstr||/bin/install@t{_}cid @var{ID}}
1045install_cid: `@var{ID}' is now the default customer ID
1046 for send_pr
1047@end example
1048@end cartouche
1049
1050@item
1051We recommended permissions @code{777} for the @file{/usr/cygnus} and
1052@file{@var{shr}/cygnus} directories, to make sure you could run this
1053procedure. However, for the long term, it is usually not a good idea to
1054leave directories world-writable (especially directories where
1055executables come from).
1056
1057For better security, remove public write access from @file{/usr/cygnus}
1058and @file{@var{shr}/cygnus}. See your System Administrator for the
1059correct permissions at your site.
1060@end enumerate
1061
1062You're done! Anyone who puts @samp{/usr/progressive/bin} in her or his
1063@code{PATH} can use the Developer's Kit.
1064
1065@node Examples, Install-Options, Installing, Top
1066@unnumbered Installation Examples
1067
1068Once you've extracted @code{Install} from your tape,
1069you can tell @code{Install} what software to install, what form of the
1070programs you need, and what installation steps to do. Here are some
1071examples covering common situations. For a full explanation of each
1072possible @code{Install} argument, @pxref{Install-Options,,Installation
1073Options}.
1074
1075@code{Install}'s default tape drive is @code{||DEVdflt||}, which is
1076right for the most common cases (||TAPdflt|| tapes, read on ||HOST||
1077systems). If your tape drive is different, you need to use the
1078@samp{-tape=/dev/@var{tape}} option; the examples show this option
1079for completeness. Remember to specify a @emph{non-rewinding} tape
1080device.
1081
1082@menu
1083* binaries:: Installing binaries only
1084* ||HOSTstr||-remote:: Reading tape on any machine, finishing on ||HOST||
1085* source-remove:: Removing Source
1086@end menu
1087
1088@node binaries, ||HOSTstr||-remote, Examples, Examples
1089@unnumberedsubsec Installing binaries only
1090@ignore
1091@c ignore til UPDATE fulfilled for all hosts.
1092For this example, we assume you've got the release on an Exabyte tape,
1093and that your ||HOST|| reads Exabytes with
1094@samp{/dev/nrst1}.
1095@c UPDATE! exabyes on non-Sun hosts?
1096@end ignore
1097
1098@cartouche
1099@example
1100@c eg$ @b{./Install -tape=/dev/nrst1 bin}
1101eg$ @b{./Install -tape=/dev/@var{tape} bin}
1102@end example
1103@end cartouche
1104
1105If you don't want the source---for instance, to save space---you can use
1106the argument @samp{bin}.
1107
1108@node ||HOSTstr||-remote, source-remove, binaries, Examples
1109@unnumberedsubsec Reading tape on any machine, finishing on ||HOST||
1110
1111@cartouche
1112@example
1113@emph{On a machine on your network with a tape drive:}
1114eg-tp$ @b{./Install -tape=/dev/@var{tape} -installdir=@var{shr}/cygnus extract}
1115
1116@emph{On your ||HOST||}
1117eg$ @b{ln -s @var{shr}/cygnus /usr/cygnus}
1118eg$ @b{cd /usr/cygnus/progressive-||RELNO||}
1119eg$ @b{./Install @b{f}ixincludes test}
1120@end example
1121@end cartouche
1122
1123@noindent
1124If your ||HOST|| doesn't have a tape drive, but another machine that can
1125mount some shared directory @var{shr} does have one, you can carry out
1126the first step of the installation from the machine with a tape drive,
1127as shown. Note that you have to say @samp{extract} on the
1128@code{Install} command line. This alerts @code{Install} to stop the
1129install procedure after it reads the tape. You still have to finish the
1130installation, but the last two steps have to run on your ||HOST||. (If
1131you forget, there's no great harm done: @code{Install} will notice that
1132it can't carry out a full installation on the wrong machine, and will
1133stop with an error message---then you can go back and try again. When
1134@code{Install} notices a problem like this, it doesn't carry out
1135@emph{any} action other than giving a helpful error message).
1136
1137The @samp{fixincludes} part of the installation is essential. Please
1138see the full explanation (@pxref{Why-fixincludes,,Why Convert System
1139Header Files?}), if you're curious.
1140
1141@node source-remove, , ||HOSTstr||-remote, Examples
1142@unnumberedsubsec Removing Source
1143The @code{Install} script can remove anything it can install. For
1144example, if after installing the complete Developer's Kit on your
1145machine you decide to remove the source files:
1146
1147@cartouche
1148@example
1149eg$ @b{cd /usr/cygnus/progressive-||RELNO||}
1150eg$ @b{./Install remove source}
1151@end example
1152@end cartouche
1153
1154@noindent
1155In general, to remove a part of the Developer's Kit, use the same
1156@code{Install} command line that would extract that part, but add the
1157keyword @code{remove}. The @code{-tape} option is not necessary for
1158removing.
1159
1160@node Install-Options, Links, Examples, Top
1161@unnumbered Installation Options
1162
1163There are two kinds of command-line arguments to @code{Install}, which
1164you can use to direct its operation:
1165@itemize @bullet
1166@item
1167@emph{What form of the programs} to install. You can choose among ||HOST||
1168binaries (argument @code{bin}) and source code (@code{source}).
1169If you don't specify either of these, @code{Install} assumes you want
1170both source, and binaries for ||HOST||.
1171
1172@item
1173@emph{What installation actions} to carry out. A full installation
1174involves up to three steps, and @code{Install} has options to let you
1175choose them explicitly. The steps are
1176@enumerate
1177@item
1178extracting source from the tape (option
1179@code{extract})
1180@item
1181writing @sc{ansi}-C conforming copies of your system include files (needed
1182for the compilation tools; option @code{fixincludes})
1183@item
1184running a simple test of the installed programs
1185(option @code{test})
1186@end enumerate
1187
1188The last two of these actions (@code{fixincludes} and
1189@code{test}) can only run on your ||HOST||. If you read the
1190tape on another machine, you must specify the @code{extract} option
1191explicitly, to indicate that you don't expect the other two actions to
1192run (and are aware of the need to run further installation steps on your
1193||HOST||).
1194@end itemize
1195
1196@code{Install} also has two command line options: @samp{-tape}
1197and @w{@samp{-installdir}}. You can use these to adapt the
1198installation to your system.
1199
1200Here is a summary of all of @code{Install}'s command-line options,
1201followed by a more detailed explanation of each:
1202
1203@example
1204Install @r{[} -tape=/dev/@var{tape} @r{]}
1205 @r{[} -installdir=@var{directory} @r{]}
1206 @r{[} bin @r{]} @r{[} source @r{]}
1207 @r{[} extract @r{]} @r{[} fixincludes @r{]} @r{[} test @r{]}
1208 @r{[} remove @r{]}
1209@end example
1210
1211@table @code
1212@item -tape=/dev/@var{tape}
1213@itemx -tape=@var{tarfile}
1214Specify the @emph{non-rewinding} device name for your tape drive as
1215@var{tape}.
1216
1217If you extract the installation script and tarfile on some other system,
1218and transfer them to your ||HOST|| for installation, use use the name of
1219the tarfile instead of a device name with @samp{-tape}. @xref{No
1220Drive,,No Local Tape Drive}, for more discussion.
1221
1222@item -installdir=@var{directory}
1223If you have no write access to @samp{/usr/cygnus} or @samp{/usr}, use
1224this option to specify an alternate @var{directory} for placing your
1225software---but beware: the software is configured to go in
1226@samp{/usr/cygnus}, and you'll have to override or change that too.
1227@xref{Paths,,Changing the Paths}.
1228
1229@item bin
1230@itemx source
1231By default, @code{Install} extracts both source, and binaries for your
1232||HOST||. Instead of relying on the default, you
1233can use these options to say exactly what forms you
1234want. You need to do this if
1235@itemize @bullet
1236@item
1237you want only binaries, or
1238@item
1239you want only source.
1240@end itemize
1241
1242@noindent
1243@code{Install} is designed to share files, wherever
1244possible, between installations for different hosts (of the same
1245release). If you get Cygnus release tapes configured for different
1246hosts, there is no need to do a binary-only install of some of the
1247tapes to save space on a shared file system; @code{Install} arranges the
1248files so that all hosts will share the same source
1249files. Documentation files are shared as well.
1250See @ref{Links,,Links for Easy Access and Updating}, for a
1251discussion of how to manage the directory structure used for this
1252purpose.
1253
1254@item extract
1255@item fixincludes
1256@item test
1257A full installation includes up to three things: (1) extracting
1258software from the tape; (2) creating @sc{ansi}-C conforming copies of your
1259system's standard header files; and (3) testing the installation.
1260You can execute these steps separately by specifying
1261@samp{extract}, @samp{fixincludes}, or @samp{test} on the
1262@code{Install} command line.
1263
1264After you run @samp{extract}, @samp{fixincludes} is essential if you're
1265using the compiler. @samp{fixincludes} @emph{does not change your
1266system's original header files;} @code{Install} writes the converted
1267copies in a separate, @sc{gcc}-specific directory.
1268@xref{Why-fixincludes,,Why Convert System Header Files?}, for more
1269discussion of the @samp{fixincludes} step. @code{Install} will only
1270attempt these last two steps if you run it on the ||HOST||.
1271
1272@samp{test} is a confidence-building step, and doesn't
1273actually change the state of the installed software. The
1274@samp{test} step may not make sense, depending on what
1275other options you've specified---if you install only source, there's
1276nothing to test.
1277
1278If you specify a step that doesn't make sense, or if you run @code{Install}
1279on a different machine but try to run @code{fixincludes} or
1280@code{test}, @code{Install} will notice the error, and exit
1281(before doing anything at all) with an error message, so you can try
1282again.
1283
1284When you run @samp{extract}, @code{Install} leaves a log file
1285@file{tar.log} in the installation directory---by default, in @file{/usr/cygnus}. When you run @samp{fixincludes},
1286@code{Install} leaves a log file @file{fixincludes.log} in the
1287@file{progressive-||RELNO||} subdirectory.
1288
1289@item remove
1290You can also use @code{Install} to remove parts of the release after
1291you've installed them. Identify what to remove with either of the
1292command-line options @samp{source} or @samp{bin}; if you specify
1293@samp{remove} as well, @code{Install} will try to erase parts of the
1294installation from your system. @xref{Removing,,Removing Parts of the Developer's
1295Kit}, for an example.
1296@end table
1297
1298@menu
1299* Why-fixincludes:: Why Convert System Header Files?
1300@end menu
1301
1302@node Why-fixincludes, , Install-Options, Install-Options
1303@unnumberedsec Why Convert System Header Files?
1304
1305@c UPDATE! Is this really needed on @emph{all} hosts?
1306It is very important to run @samp{Install fixincludes} (on @emph{each
1307host} where you install the compiler binaries).
1308
1309When the @sc{ansi x3j11} committee finished developing a standard for
1310the C language, a few things that had worked one way in many traditional
1311C compilers ended up working differently in @sc{ansi} C. Most of these
1312changes are improvements. But some Unix header files still rely on the
1313old C meanings, in cases where the Unix vendor has not yet converted to
1314using an @sc{ansi} C compiler for the operating system itself.
1315@samp{Install fixincludes} does a mechanical translation that writes
1316@sc{ansi} C versions of some system header files into a new,
1317@sc{gcc}-specific include directory---@emph{your system's original
1318header files are not affected.}
1319
1320If you don't run @code{fixincludes}, the GNU C compiler can only use the
1321original system header files when you compile new C programs. @emph{In
1322some cases, the resulting programs will fail at run-time}.
1323
1324@node Links, Running, Install-Options, Top
1325@unnumbered Links for Easy Access and Updating
1326Once you've extracted them from the tape, the tools are installed under
1327a directory named @file{progressive-||RELNO||}. We put the release
1328number in the directory name so that you can
1329keep several releases installed at the same time, if you wish. In order
1330to simplify administrative procedures (such as upgrades to future Cygnus
1331Progressive releases), we recommend that you establish a symbolic link
1332@file{/usr/cygnus/progressive} to this directory. For example, assuming
1333you've used the default installation path:
1334
1335@cartouche
1336@example
1337eg$ @b{cd /usr/cygnus}
1338eg$ @b{ln -s progressive-||RELNO|| progressive}
1339@end example
1340@end cartouche
1341
1342Directories of host-independent files (source and documentation) are
1343installed directly under @file{progressive-||RELNO||}. However, to
1344accomodate binaries for multiple hosts in a single directory structure,
1345the binary files for your ||HOST|| are in a subdirectory
1346@file{H-||HOSTstr||}.
1347
1348This means that one more level of symbolic links is helpful, to allow
1349your users to keep the same execution path defined even if they
1350sometimes use ||HOST|| binaries and sometimes binaries for another
1351machine. Even if this doesn't apply now, you might want it in the
1352future; establishing these links now can save your users the trouble of
1353changing all their paths later. The idea is to build
1354@samp{/usr/progressive/bin} on each machine so that it points to the
1355appropriate binary subdirectory for each machine---for instance,
1356@samp{/usr/cygnus/progressive/H-||HOSTstr||}.
1357
1358You may need to use @code{su} again briefly to establish these links:
1359
1360@cartouche
1361@example
1362eg$ @b{ln -s /usr/cygnus/progressive/H-||HOSTstr|| /usr/progressive}
1363@end example
1364@end cartouche
1365
1366We recommend building these links as the very last step in the
1367installation process. That way, users at your site will only see
1368software in @file{/usr/progressive} when you're satisfied that the
1369installation is complete and successful.
1370
1371@menu
1372* Running:: Running the Programs
1373@end menu
1374
1375@node Running, Paths, Links, Top
1376@unnumbered Running the Programs
1377Any users who wish to run the Cygnus development tools will need to make
1378sure the @code{PATH} environment variable will find them. If you create
1379the symbolic links we recommend above, users who want to run the
1380Developer's Kit---regardless of whether they need binaries for ||HOST||,
1381or for some other platform---can use settings like one of the following
1382in their initialization files.
1383
1384@example
1385@exdent For shells compatible with Bourne shell (@code{/bin/sh}, @code{bash}, or Korn shell):
1386@cartouche
1387@b{PATH=/usr/progressive/bin:$PATH}
1388@b{export PATH}
1389@end cartouche
1390@end example
1391
1392@example
1393@exdent For C shell:
1394@cartouche
1395@b{set path=(/usr/progressive/bin $path)}
1396@end cartouche
1397@end example
1398
1399@noindent
1400You should also ensure that your @code{man} command can pick up the
1401manual pages for these tools. Some @code{man} programs recognize a
1402@code{MANPATH} environment variable. If your @code{man} program is one
1403of these, users at your site can also include in their initialization
1404file lines like
1405
1406@example
1407@exdent For Bourne-compatible shells:
1408@cartouche
1409@b{MANPATH=/usr/cygnus/progressive/man:$MANPATH:/usr/man}
1410@b{export MANPATH}
1411@end cartouche
1412@end example
1413
1414@example
1415@exdent For C shell:
1416@cartouche
1417@b{setenv MANPATH /usr/cygnus/progressive/man:$MANPATH:/usr/man}
1418@end cartouche
1419@end example
1420
1421If your @code{man} program doesn't recognize @samp{MANPATH}, you may
1422want to copy or link the files from
1423@file{progressive/man/man1} into your system's
1424@file{man/man1}. @refill
1425
1426@node Paths, Trouble, Running, Top
1427@unnumbered Changing the Paths
1428The binaries shipped by Cygnus are configured for installation under the
1429directory @file{/usr/cygnus}. In particular, @code{gcc}, @code{g++},
1430and the documentation browser @code{info} need to know the location of
1431the distribution.
1432
1433If you wish to run the tools after installing them in another location,
1434you can either:
1435@itemize @bullet
1436@item
1437use environment variables (and, for @code{g++}, command-line options)
1438to tell the tools where to find pieces of the installation; or
1439
1440@item
1441rebuild the tools from source, with your preferred paths built in.
1442@xref{Rebuilding,,Rebuilding from Source}, if you want to take this
1443approach.
1444@end itemize
1445
1446In rare circumstances, the auxiliary installation script
1447@code{install_cid} will also require a workaround if you do not install
1448in @file{/usr/cygnus}.
1449
1450@subheading GCC Paths
1451@c FIXME! Add something about specs file?
1452You can run the compiler @sc{gcc} without recompiling, even if you
1453install the distribution in an alternate location, by first setting the
1454environment variable @samp{GCC_EXEC_PREFIX}. This variable specifies
1455where to find the executables, libraries, and data files used by the
1456compiler. Its value will be different depending on which set of
1457binaries you need to run. For example, if you install the tape
1458distribution under @file{/local} (instead of the default
1459@file{/usr/cygnus}), and you wish to run @sc{gcc} as a native ||HOST||
1460compiler, you could set @samp{GCC_EXEC_PREFIX} as follows. (You can
1461type the first two lines as a single line, if you like; the example
1462is split using the line continuation character @samp{\} only
1463to make it fit on the printed page.)
1464
1465@cartouche
1466@example
1467@b{GCC@t{_}EXEC@t{_}PREFIX=/local/progressive-||RELNO||/H-||HOSTstr||/@t{\}
1468lib/gcc-lib/||TARGET||/||GCCvn||/}
1469@b{export GCC@t{_}EXEC@t{_}PREFIX}
1470@end example
1471@end cartouche
1472
1473@noindent
1474The example assumes you use a shell compatible with the Bourne shell; if
1475you run the C shell, use the following instead. (Again, the line
1476continuation character @samp{\} is only used for convenience in the
1477example; feel free to use a single line.)
1478
1479@cartouche
1480@example
1481@b{setenv GCC@t{_}EXEC@t{_}PREFIX /local/progressive-||RELNO||/H-||HOSTstr||/@t{\}
1482lib/gcc-lib/||TARGET||/||GCCvn||/}
1483@end example
1484@end cartouche
1485
1486@quotation
1487@emph{Warning: The trailing slash @samp{/} is important}. The @code{gcc}
1488program uses @samp{GCC_EXEC_PREFIX} simply as a prefix. If you omit the
1489slash (or make any other mistakes in specifying the prefix), @code{gcc}
1490will fail with a message beginning @samp{installation problem, cannot
1491exec@dots{}}.
1492@end quotation
1493
1494@subheading G++ Paths
1495To compile C++ programs (when you've installed the binaries for the
1496compiler somewhere other than @file{/usr/cygnus}), you need to set
1497@code{GCC_EXEC_PREFIX} as for C programs. You @emph{also} need to include
1498a @samp{-L} option and a @samp{-I} option on the @code{g++} command
1499line, to locate the @sc{g++} specific header files and library. For example,
1500assuming you installed the ||HOST|| binaries under @file{/local}, and
1501want to compile a C++ program @samp{program.cc}:
1502
1503@enumerate
1504@item
1505Set @code{GCC_EXEC_PREFIX} in one of the ways shown above;
1506
1507@item
1508Invoke the @code{g++} compiler with at least the following options:
1509@end enumerate
1510@cartouche
1511@example
1512eg$ @b{g++ -L/local/progressive-||RELNO||/H-||HOSTstr||/lib@t{\}
1513-I/local/progressive-||RELNO||/H-||HOSTstr||/lib/g++-include program.cc}
1514@end example
1515@end cartouche
1516
1517@subheading @code{info} Paths
1518The standalone documentation browser @code{info} also needs to know the
1519location of its documentation files in the distribution. The default
1520location, @file{/usr/cygnus/progressive-||RELNO||/info}, is compiled in.
1521If you install elsewhere, set the environment variable @code{INFOPATH}
1522to indicate the alternate location.
1523
1524For example, again assuming you installed under @file{/local}:
1525
1526@example
1527@exdent For shells compatible with Bourne shell (@code{/bin/sh}, @code{bash}, or Korn shell):
1528@cartouche
1529@b{INFOPATH=/local/progressive-||RELNO||/info}
1530@b{export INFOPATH}
1531@end cartouche
1532@end example
1533
1534@example
1535@exdent For C shell:
1536@cartouche
1537@b{setenv INFOPATH /local/progressive-||RELNO||/info}
1538@end cartouche
1539@end example
1540
1541@noindent
1542If you built @file{progressive} as a symbolic link to
1543@file{progressive-||RELNO||}, as recommended in @ref{Links,,Links for
1544Easy Access and Updating}, then you could simply use
1545@file{/local/progressive/info} as the value of @code{INFOPATH} in the
1546examples above.
1547
1548@subheading @code{install_cid} Paths
1549The auxiliary script @code{install_cid} is provided as a convenience, to
1550fill in your site's customer ID as the default for your local version of
1551the Cygnus @code{send_pr} problem-reporting script.
1552
1553If you don't install in @file{/usr/cygnus}, @samp{install_cid
1554@var{ID}} will still work correctly in most cases. However,
1555there is one situation where @code{install_cid} fails:
1556
1557@itemize @bullet
1558@item
1559@emph{if} your site already has a release tree for
1560@samp{/usr/cygnus/progressive-||RELNO||},
1561@item
1562@emph{and} you run @code{Install} with an alternative installation
1563directory.
1564@end itemize
1565
1566@noindent
1567In this case, you must manually edit your customer ID into your site's
1568copy of @code{send_pr}. Please call the Cygnus hotline,
1569@w{+1 415 322 7836}, if you have any trouble with this.
1570
1571@node Trouble, Rebuilding, Paths, Top
1572@unnumbered Some Things that Might go Wrong
1573
1574We've tried to make the installation of your Developer's Kit as painless
1575as possible. Still, some complications may arise. Here are suggestions
1576for dealing with some of them.
1577
1578@menu
1579* No Drive:: No Local Tape Drive
1580* Limited Space:: Not Enough Space
1581* No access:: No Access to @file{/usr/cygnus}
1582* Install errors:: Error Messages from @code{Install}
1583@end menu
1584
1585@node No Drive, Limited Space, Trouble, Trouble
1586@unnumberedsec No Local Tape Drive
1587If your ||HOST|| doesn't have an appropriate tape drive, you may
1588still be able to install your software. Check with your system
1589administrator to see if another machine at your site has a tape drive
1590you can use. If so:
1591@table @emph
1592@item If a shared filesystem is available
1593between the two machines, and it has enough space, create
1594@samp{/usr/cygnus} on your ||HOST|| (the one where you want to install
1595this Progressive Release) as a symbolic link to a directory where the
1596other machine (the one with a tape drive) can write. Then go ahead and
1597run @code{Install} from the machine with a tape drive. You'll have to
1598run @samp{Install fixincludes} and @samp{Install test} from your
1599||HOST|| afterwards; @pxref{cross-install,,Installing with another
1600machine's tape drive}.
1601
1602@item If some form of filetransfer is available
1603(such as @code{uucp}), read the tape using a system utility (for
1604instance, @code{dd} on Unix systems; see the system documentation for
1605the machine with a tape drive). There are two files on the
1606distribution tape; the first contains just the @code{Install} script,
1607and the second is a compressed @code{tar} format file containing the
1608rest of the release. Read both of these files, and transfer them to
1609your own machine. Then run @code{Install} as shown in
1610@ref{local-install,,Installing with a local tape drive}, but use
1611@samp{-tape=@var{tarfile}} to specify the name of the installation
1612file, instead of @samp{-tape=/dev/@var{tape}} as shown in the
1613examples. In the simplest case, for example (starting after you've
1614transferred @code{Install} and the tar file to your system):
1615
1616@cartouche
1617@example
1618eg$ @b{./Install -tape=@var{tarfile}}
1619@end example
1620@end cartouche
1621
1622@end table
1623
1624@node Limited Space, No access, No Drive, Trouble
1625@unnumberedsec Not Enough Space
1626If you don't have enough space to install all of the tape
1627distribution, you can instead extract only the compiled code, or only
1628the source.
1629
1630The following table summarizes the approximate space (rounded up to the
1631next megabyte) needed for source and binaries.
1632There is a little overlap between the partial installations: the
1633documentation, and documentation tools, are always installed.
1634
1635@table @r
1636@item ||BD|| MB
1637||HOST|| binaries
1638
1639@item ||SD|| MB
1640source code for all programs
1641
1642@item ||DF|| MB
1643||HOST|| total
1644@end table
1645
1646You can easily extract these components independently of one another, by
1647using the @samp{source} or @samp{bin} arguments to the @code{Install}
1648script provided on your release tape.
1649@xref{Install-Options,,Installation Options}.
1650
1651@node No access, Install errors, Limited Space, Trouble
1652@unnumberedsec No Access to @file{/usr/cygnus}
1653
1654If you can't sign on to an account with access to write in @file{/usr}
1655or @file{/usr/cygnus}, use the @samp{-installdir=@var{directory}} option
1656to @code{Install} to specify a different installation directory, where
1657you @emph{can} write. For example, if all the other installation
1658defaults are right, you can execute something like @samp{./Install
1659-tape=/dev/@var{tape} -installdir=@var{mydir}}. You'll need to either
1660override default paths for the pre-compiled tools, or else recompile the
1661software.
1662
1663@quotation
1664@emph{WARNING:} If you can't install in @file{/usr/cygnus} (or link your
1665installation directory to that name), some of the defaults configured
1666into the Progressive--||RELNO|| distribution won't work.
1667@xref{Paths,,Changing the Paths}, for information on overriding or
1668reconfiguring these defaults.
1669@end quotation
1670
1671@node Install errors, , No access, Trouble
1672@unnumberedsec Error Messages from @code{Install}
1673The @code{Install} script checks for many errors and inconsistencies in
1674the way its arguments are used. The messages are meant to be
1675self-explanatory. Here is a list of a few messages where further
1676information might be useful:
1677@table @code
1678@item Cannot read from TAPE device, @var{tape}
1679The error message ends with the tape device @code{Install} was trying to
1680use. Please check that it is the device you intended; possible causes of
1681trouble might include leaving off the @samp{/dev/} prefix at the front
1682of the device name. A typo in the device name might also cause this
1683problem.
1684
1685If the problem is neither of these things, perhaps your tape device can't
1686read our tape; @pxref{No Drive,,No Local Tape Drive}, for a discussion
1687of how to use another machine's tape drive.
1688
1689@item @dots{} This is a problem.
1690@itemx Cannot cd to @var{installdir}
1691@itemx I do not know why I cannot create @var{installdir}
1692@itemx hello.c fails to run
1693@itemx test-ioctl.c fails to run
1694@itemx I do not know how to remove an arch called @dots{}
1695These errors (the first covers anything that ends in @samp{This is a
1696problem}) are from paranoia checks; they are issued for situations that
1697other checks should have covered, or for unlikely situations that
1698require further diagnosis.
1699
1700If you get one of these messages, please
1701@itemize @bullet
1702@item
1703@strong{call the Cygnus hotline, +1 415 322 7836}, or
1704@item
1705send electronic mail to @samp{help@@cygnus.com}.
1706@end itemize
1707@end table
1708
1709@node Rebuilding, Removing, Trouble, Top
1710@unnumbered Rebuilding From Source
1711
1712All Cygnus products are free software; your Developer's Kit includes
1713complete source code for all programs.
1714
1715Cygnus Support has implemented an automatic configuration scheme to
1716adapt the programs to different environments.
1717
1718Rebuilding the programs from source requires these steps:
1719@enumerate
1720@item
1721configuration
1722@item
1723compilation
1724@item
1725installation
1726@end enumerate
1727
1728For example, executing the following commands in sequence will rebuild
1729and install a ||HOST|| native version of all the tools in a nonstandard
1730directory:
1731
1732@cartouche
1733@example
1734eg$ @b{cd progressive-||RELNO||/src}
1735
1736eg$ @b{./configure ||HOSTstr|| -prefix=/local/gnu}
1737Created "Makefile" in @var{installdir}/progressive-||RELNO||/src
1738
1739eg$ @b{make clean all info install install-info >make.log}
1740@dots{} @i{output for @code{make} steps follows}
1741@end example
1742@end cartouche
1743
1744@noindent
1745We discuss each step in detail in the following sections.
1746
1747@menu
1748* Configuration:: Configuration
1749* Config Names:: Specifying Names for Hosts and Targets
1750* configure Options:: @code{configure} Options
1751* Compilation:: Compilation
1752* Installation:: Installation
1753@end menu
1754
1755@node Configuration, Config Names, Rebuilding, Rebuilding
1756@unnumberedsec Configuration
1757
1758You can configure the software in this release by using the shell
1759script called @code{configure}. The shell script requires one argument:
1760the host type. There are also several possible options, including a
1761@samp{-target=} option to configure for cross-system development.
1762
1763@node Config Names, configure Options, Configuration, Rebuilding
1764@section Specifying Names for Hosts and Targets
1765
1766The specifications used for hosts and targets in the @code{configure}
1767script are based on a three-part naming scheme, but some short predefined
1768aliases are also supported. The full naming scheme encodes three pieces
1769of information in the following pattern:
1770
1771@example
1772@var{architecture}-@var{vendor}-@var{os}
1773@end example
1774
1775For example, you can use the alias @code{sun4} as a @var{host} argument
1776or in a @samp{-target=@var{target}} option, but the equivalent full name
1777is @samp{sparc-sun-sunos4}.
1778
1779@quotation
1780@emph{Warning:} @code{configure} can represent a very large number of
1781combinations of architecture, vendor, and OS. There is by no means
1782support for all possible combinations!
1783@end quotation
1784
1785@node configure Options, Compilation, Config Names, Rebuilding
1786@section @code{configure} Options
1787
1788This section summarizes the @code{configure} options and arguments.
1789Your Developer's Kit contains full online documentation for the Cygnus
1790configure system. @inforef{Using Configure,,configure.info}, to read
1791about @code{configure} in more detail, including information on how the
1792@code{configure} options relate to @file{Makefile} variables.
1793
1794@example
1795configure @r{[}-prefix=@var{dest}@r{]}
1796 @r{[}-exec-prefix=@var{bindest}@r{]}
1797 @r{[}-srcdir=@var{path}@r{]}
1798 @r{[}-norecursion@r{]}
1799 @r{[}-target=@var{target}@r{]}
1800 @var{host}
1801@end example
1802
1803@noindent
1804The binaries on your tape were configured using
1805
1806@cartouche
1807@example
1808configure -prefix /usr/cygnus/progressive-||RELNO|| \
1809 -exec-prefix /usr/cygnus/progressive-||RELNO||/H-||HOSTstr|| \
1810 ||HOSTstr||
1811@end example
1812@end cartouche
1813
1814@table @code
1815@item -prefix=@var{dest}
1816@var{dest} is an installation directory @emph{path prefix}, the root for
1817the directories where @code{make install} will place things. After you
1818configure with this option, @samp{make install install-info} will
1819install info files in @file{@var{dest}/info}, man pages in
1820@file{@var{dest}/man}, and---unless you also use
1821@samp{-exec-prefix}---compiled programs in @file{@var{dest}/bin}, and
1822libraries in @file{@var{dest}/lib}. If you specify
1823@samp{-prefix=/local}, for example, @code{make install} puts the
1824development tools in @file{/local/bin}.
1825
1826@emph{WARNING:} the default @var{dest} path prefix in the source is not
1827the same as the prefix for the preconfigured binaries distributed by Cygnus.
1828
1829@samp{-prefix=/usr/cygnus/progressive-||RELNO||} was used to build this
1830Cygnus Progressive Release. If you do not use @code{-prefix}, the
1831installation directory is @file{/usr/local}.
1832
1833@item -exec-prefix=@var{bindest}
1834@samp{-exec-prefix} serves the same purpose as @samp{-prefix}, but
1835affects only machine-dependent targets (compiled programs and
1836libraries). Specifying both @samp{-prefix} and @samp{-exec-prefix}
1837allows you to segregate machine-dependent files, so that
1838machine-independent files can be shared.
1839
1840@emph{WARNING:} the default @var{bindest} path prefix in the source is not
1841the same as the prefix for the preconfigured binaries distributed by Cygnus.
1842
1843@samp{-exec-prefix=/usr/cygnus/progressive-||RELNO||/H-||HOSTstr||} was
1844used to build this Cygnus Progressive Release.
1845If you do not use @samp{-exec-prefix}, the default directory for
1846machine-dependent targets is whatever was specified with @file{-prefix}
1847(by default, @file{/usr/local}).
1848
1849@item -srcdir=@var{path}
1850@emph{Warning: This option is only supported if you use @sc{gnu}
1851@code{make}} (which is included in the Cygnus Progressive--||RELNO|| release).
1852Use this option to make configurations in directories separate from the
1853source directories. @code{configure} writes configuration specific files
1854in the current directory, but arranges for them to use the source in the
1855directory @var{path}. @code{configure} will create directories under
1856the working directory in parallel to the source directories below
1857@var{path}. Among other things, you can use this to build (or maintain)
1858several configurations simultaneously, in separate directories.
1859
1860@item -norecursion
1861Configure only the directory level where @code{configure} is executed; do not
1862propagate configuration to subdirectories.
1863
1864@item -target=@var{target}
1865Configure the development tools for cross-development (compiling,
1866debugging, or other processing) of programs running on the specified
1867@var{target}. Without this option, programs are configured ``native'',
1868that is, for managing programs that run on the same machine (@var{host})
1869as the development tools themselves.
1870
1871There is no convenient way to generate a list of all available targets.
1872
1873@item @var{host} @dots{}
1874Configure the development tools to run on the specified @var{host}.
1875
1876There is no convenient way to generate a list of all available hosts.
1877@end table
1878
1879The @samp{-prefix=@var{dest}} and @samp{-exec-prefix=@var{bindest}}
1880options are particularly important. If you don't specify a @var{dest}
1881or @var{bindest} directory, the @file{Makefile} installs binaries in
1882subdirectories of @file{/usr/local}. These options are important
1883because the @var{dest} and @var{bindest} directories are used for
1884several purposes:
1885
1886@enumerate
1887@item
1888@var{bindest} is the directory where binaries are installed.
1889
1890@item
1891@var{bindest} is built into the compiler itself for the
1892locations of @sc{gcc} specific include files, the locations of @sc{gcc}
1893subprograms, and the location of the @sc{gcc} specific library
1894@file{libgcc.a}.
1895
1896@item
1897@var{dest} is compiled into @code{info} as the default directory
1898for the documentation.
1899
1900@end enumerate
1901
1902@node Compilation, Installation, configure Options, Rebuilding
1903@unnumberedsec Compilation
1904
1905After you've run @code{configure} (which writes the final
1906@file{Makefile} in each directory), compilation is straightforward.
1907To compile all the programs in the Developer's Kit, run:
1908
1909@cartouche
1910@example
1911@b{make all info >make.log}
1912@end example
1913@end cartouche
1914
1915The examples suggest capturing the @code{make} output in a
1916@file{make.log} file, because the output is lengthy.
1917
1918The overall @file{Makefile} propagates the value of the @code{CC}
1919variable explicitly, so that you can easily control the compiler used in
1920this step. @code{CFLAGS} is treated the same way. For instance, to
1921build the compiler a second time, using @sc{gcc} to compile itself
1922(after building and installing it in the alternate directory
1923@file{/local/gnu}), you might use
1924
1925@cartouche
1926@example
1927@b{make CC=/local/gnu/H-sun4/bin/gcc CFLAGS=-O all info >make.log}
1928@end example
1929@end cartouche
1930
1931The conventional targets @samp{all}, @samp{install}, and @samp{clean}
1932are supported at all levels of @file{Makefile}. Other targets are
1933supported as well, as appropriate in each directory; please read the
1934individual @file{Makefile} for details. Each @file{Makefile} in the
1935source directories includes ample comments to help you read it. If you
1936are not familiar with @code{make}, refer to @ref{Overview,,Overview of
1937@code{make}, make.info, GNU Make: A Program for Directing
1938Recompilation}.
1939
1940@node Installation, , Compilation, Rebuilding
1941@unnumberedsec Installation
1942
1943Whether you configure an alternative path using @code{-prefix}, or you
1944use the default installation path @file{/usr/local}, you can install the
1945software by executing:
1946
1947@cartouche
1948@example
1949@b{make install install-info}
1950@end example
1951@end cartouche
1952
1953@node Removing, Cygnus-FSF, Rebuilding, Top
1954@unnumbered Removing Parts of the Developer's Kit
1955You can use the same @code{Install} script that was used to install the
1956Developer's Kit on your system, to remove parts of the release.
1957(Remember that the @code{Install} script was automatically saved for you
1958as @file{/usr/cygnus/progressive-||RELNO||/Install}.)
1959
1960To do this, decide what you want to remove; then call @code{Install}
1961with the option @samp{remove} on the command line, as well as all the
1962options that you would use to install that portion of the release
1963(@pxref{Install-Options,,Installation Options}). For example, suppose
1964you never look at the source, and are running short of disk
1965space; you can remove the source, while leaving the rest of
1966the Progressive Release undisturbed, as follows:
1967
1968@cartouche
1969@example
1970eg$ @b{cd /usr/cygnus/progressive-||RELNO||}
1971eg$ @b{./Install remove source}
1972@end example
1973@end cartouche
1974
1975@noindent
1976You should see the following messages confirming the software was
1977removed:
1978
1979@cartouche
1980@example
1981Cygnus Support software distribution removed!
1982Done.
1983@end example
1984@end cartouche
1985
1986To remove the complete Progressive Release of the Developer's Kit from your system
1987(if, eventually, you no longer want it), delete the directory
1988@file{/usr/cygnus/progressive-||RELNO||} and all its contents.
1989
1990@node Cygnus-FSF, Cygnus-Support, Removing, Top
1991@unnumbered Cygnus Releases and the FSF
1992
1993Most of the tools in this Developer's Kit are originally from the Free
1994Software Foundation (FSF). You can get versions of all these tools
1995from the FSF as well as from Cygnus. In general, Cygnus Progressive
1996Releases add to FSF software in the following ways:
1997@c UPDATE! more differences bet Cygnus/FSF releases?
1998
1999@itemize @bullet
2000@item
2001Commercial support is available. Cygnus adds value to FSF releases in
2002large measure by offering outstanding support services.
2003@item
2004Coordination. The tools in your Developer's Kit are certified to work
2005together; you need not worry about tools being out of step with each other.
2006@item
2007Bug fixes. A Progressive Release includes many fixes, already integrated
2008into the programs. Cygnus repairs bugs discovered during testing, and
2009also tracks and includes bug fixes developed for other Cygnus customers
2010or distributed over the Internet.
2011@item
2012Bug reporting. Cygnus releases include the tool @code{send_pr}, which
2013you can use to make sure your problem reports receive prompt attention,
2014and are also incorporated in our future tests.
2015@item
2016Documentation. Cygnus revises and adds to available FSF
2017documentation to give you better descriptions of all the software tools.
2018@item
2019Stability. Cygnus tests (and uses) all the programs it releases.
2020@end itemize
2021
2022@c FIXME! If we can say something about this, remove @ignore/@end ignore
2023@c and fill in below:
2024@ignore
2025This particular Cygnus Progressive release differs from the nearest
2026corresponding FSF distributions in these important details:
2027
2028FILL IN HERE!
2029
2030@end ignore
2031
2032@node Cygnus-Support, , Cygnus-FSF, Top
2033@unnumbered About Cygnus Support
2034
2035Cygnus Support was founded in 1989 to provide commercial support for
2036free software. Cygnus supplies products and services that benefit
2037advanced development groups by allowing them to use state-of-the-art
2038tools without having to maintain them. With Cygnus Support, sites that
2039once were forced to do their own tool support can recover that valuable
2040staff time. Former users of proprietary software now may choose
2041supported free software, combining the advantages of both worlds.
2042
2043Free software is faster, more powerful, and more portable than its
2044proprietary counterparts. It evolves faster because users who want to
2045make improvements are free to do so. Cygnus tracks these
2046improvements and integrates them into tested, stable versions ready
2047for commercial use, then backs this software with comprehensive
2048support.
2049
2050With Cygnus Support as your partner, you will have the software and
2051the support you need to meet your business objectives. Cygnus
2052is intimately familiar with this software from extensive experience
2053using, debugging, and implementing it. You get direct access to the
2054most qualified support people: the authors of the software.
2055
2056We provide ``vintage'' releases---the most stable versions, which have
2057been though even more extensive use and testing---or up-to-the minute
2058``progressive'' releases, for those who need the very latest version.
2059
2060Because all our improvements are also free software, you can
2061distribute them widely within your organization, or to your customers,
2062without extra cost.
2063
2064@sp 4
2065
2066@display
2067Cygnus Support
2068814 University Avenue
2069Palo Alto, CA 94301, USA
2070
2071+1 415 322 3811
2072hotline: +1 415 322 7836
2073email: @code{info@@cygnus.com}
2074fax: +1 415 322 3270
2075@end display
2076
2077@bye
This page took 0.346679 seconds and 4 git commands to generate.