]>
Commit | Line | Data |
---|---|---|
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 [email protected]) | |
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 | |
96 | Copyright @copyright{} 1991, 1992 Cygnus Support | |
97 | ||
98 | Permission is granted to make and distribute verbatim copies of | |
99 | this manual provided the copyright notice and this permission notice | |
100 | are preserved on all copies. | |
101 | ||
102 | Permission is granted to copy and distribute modified versions of this | |
103 | manual under the conditions for verbatim copying, provided also that | |
104 | the entire resulting derived work is distributed under the terms of a | |
105 | permission notice identical to this one. | |
106 | ||
107 | Permission is granted to copy and distribute translations of this manual | |
108 | into 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 | ||
116 | This file is about the Cygnus Developer's Kit for Solaris: what's in it, | |
117 | how 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 | |
141 | Your Solaris computer has its own ||MEDIUM|| drive | |
142 | @item | |
143 | You use the default installation directory @file{/opt/gnu}, and | |
144 | @item | |
145 | You have at least ||DF|| MB available in @code{/opt} (try @samp{df /opt}) | |
146 | @end itemize | |
147 | Otherwise, see @ref{Installing,,Installing the Developer's Kit}. | |
148 | ||
149 | @strong{Steps for Brief Install:} | |
150 | ||
151 | The whole procedure takes between ?? minutes and ???. | |
152 | ||
153 | @enumerate | |
154 | @item | |
155 | Make sure you have root access to the computer. | |
156 | ||
157 | @cartouche | |
158 | @example | |
159 | eg$ @b{su} @b{root} | |
160 | password: @i{(enter root password)} | |
161 | @end example | |
162 | @end cartouche | |
163 | ||
164 | @item | |
165 | Load the Progressive--||RELNO|| ||MEDIUM|| into your ||MEDIUM|| drive. | |
166 | ||
167 | @ifset CDROMinst | |
168 | @item | |
169 | Mount the @sc{cd-rom}: | |
170 | ||
171 | @cartouche | |
172 | @example | |
173 | eg# @b{mkdir} @b{/cdrom} @i{(ignore any errors)} | |
174 | eg# @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 | |
180 | Run the @code{pkgadd} command like this: | |
181 | ||
182 | @cartouche | |
183 | @example | |
184 | eg# @b{/usr/sbin/pkgadd} @b{-n} @b{-d} @b{||MEDstr||} @b{GNUDEVTkit} @b{GNUDEVTsrc} | |
185 | @end example | |
186 | @end cartouche | |
187 | ||
188 | You will see messages about installation activity, ending with | |
189 | ||
190 | @cartouche | |
191 | @example | |
192 | Cygnus Support software distribution installed! | |
193 | @end example | |
194 | @end cartouche | |
195 | ||
196 | @item | |
197 | Build a symbolic link to make execution paths easy: | |
198 | ||
199 | @cartouche | |
200 | @example | |
201 | eg# @b{cd} @b{/opt/gnu} | |
202 | eg# @b{ln} @b{-s} @b{progressive-||RELNO||} @b{progressive} | |
203 | @end example | |
204 | @end cartouche | |
205 | ||
206 | @ifset CUSTOMER | |
207 | @item | |
208 | Use your Cygnus customer-ID (see cover letter) to tag your copy of our | |
209 | problem-report form: | |
210 | ||
211 | @cartouche | |
212 | @example | |
213 | eg# @b{/opt/progressive/bin/install@t{_}cid} @var{customerID} | |
214 | @end example | |
215 | @end cartouche | |
216 | @end ifset | |
217 | ||
218 | @end enumerate | |
219 | ||
220 | You'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 | ||
226 | This Developer's Kit is a Cygnus Support @dfn{Progressive Release}: the | |
227 | programs in it are recent versions, which have been tested and certified | |
228 | both individually and as a coordinated suite of tools. | |
229 | The kit includes both source and binaries for: | |
230 | ||
231 | @c UPDATE! Anything new shoveled in? | |
232 | @table @r | |
233 | @item @sc{gcc} | |
234 | C compiler | |
235 | ||
236 | @item @sc{gdb} | |
237 | debugger | |
238 | ||
239 | @item @sc{make} | |
240 | compilation 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 | |
259 | All programs in your Developer's Kit are for ||HOST||s running | |
260 | Solaris; we ship binaries (configured to install and run under | |
261 | @file{/opt/gnu}) as well as all source code. | |
262 | ||
263 | @item Other Platforms | |
264 | For information on other platforms or other programs | |
265 | that 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 | |
288 | Progressive Release ||RELNO|| for ||HOST||s requires Solaris 2.0 or | |
289 | later. | |
290 | ||
291 | @item A ||MEDIUM|| Drive | |
292 | You need access to a ||MEDIUM|| drive. The ||MEDIUM|| drive need not be | |
293 | on the computer where you want to run the software; but it is best if | |
294 | the machine with a ||MEDIUM|| drive and your computer can mount a common | |
295 | file system. At the very least, you need some sort of file transfer | |
296 | capability between the machine with a ||MEDIUM|| drive and your | |
297 | computer. | |
298 | ||
299 | @item Disk Space | |
300 | The total space required to extract and install | |
301 | binaries and source for all programs is | |
302 | ||DF|| megabytes. | |
303 | ||
304 | The software is configured to go into @file{/opt/gnu}. If you have | |
305 | space available, but not in the same file system as @file{/opt}, you can | |
306 | use @samp{ln -s} to create @file{/opt/gnu} as a symbolic link to the | |
307 | file system where you do have the space available. | |
308 | ||
309 | If you don't have enough space, you may be able to install binaries only; | |
310 | see @ref{Limited Space,,Not Enough Space}. The space required for | |
311 | installing the binaries is ||BD|| megabytes. | |
312 | ||
313 | @item Root Access | |
314 | The standard Solaris installation procedures for optional packages | |
315 | require you to run the installation with root privileges. We deplore | |
316 | this requirement, but consider it valuable nevertheless to conform to | |
317 | the standard Solaris installation procedure. | |
318 | @end table | |
319 | ||
320 | @node Installing, Running, Requirements, Top | |
321 | @unnumbered Installing the Developer's Kit | |
322 | ||
323 | @iftex | |
324 | This 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 | |
332 | In examples, we show the system prompt as @samp{eg#}. | |
333 | ||
334 | The Cygnus Progressive--||RELNO|| ||MEDIUM|| is designed to work with | |
335 | the Solaris administration command @code{pkgadd}. | |
336 | ||
337 | Two checklists follow. The first checklist shows what to do if you have | |
338 | a ||MEDIUM|| drive on the computer where you want to install the | |
339 | Developer's Kit; the second shows how to use another networked machine | |
340 | to read the ||MEDIUM||, then finish the installation on your computer. | |
341 | ||
342 | Both checklists suggest installing the Developer's Kit binaries under | |
343 | @file{/opt/gnu} (which can be a symbolic link from somewhere else, if | |
344 | you like). We recommend you use this location for the software, because | |
345 | the precompiled, ready-to-run versions of the tools are configured this | |
346 | way. If you want to install elsewhere, see @ref{Paths,,Changing | |
347 | the Paths}.) | |
348 | ||
349 | Both checklists are very similar to @ref{Brief,,Installing in Brief}, | |
350 | but provide more discussion of each step, and offer alternatives for | |
351 | systems whose available disk space is not in @code{/opt} and for | |
352 | installing 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 | ||
365 | This procedure is for a ||HOST|| that has its own ||MEDIUM|| drive. The | |
366 | complete procedure takes at least ?? minutes on a fast, unloaded | |
367 | machine; it may take up to ??? in other situations. | |
368 | ||
369 | @enumerate | |
370 | @item | |
371 | Make sure you have root access to the computer. The standard Solaris | |
372 | installation procedures for optional packages require @code{root} to run | |
373 | the complete installation. | |
374 | ||
375 | @cartouche | |
376 | @example | |
377 | eg$ @b{su root} | |
378 | password: @i{Enter root password.} | |
379 | @end example | |
380 | @end cartouche | |
381 | ||
382 | @item | |
383 | Check that you have enough space available in @file{/opt} | |
384 | (@pxref{Requirements,,System Requirements}). You can use @samp{df /opt} | |
385 | to check. | |
386 | @ifset FIXMES | |
387 | @quotation | |
388 | @emph{FIXME!} Does @code{pkgadd} check for this and issue an error? If | |
389 | so, recast in those terms? | |
390 | @end quotation | |
391 | @end ifset | |
392 | ||
393 | @ifset CDROMinst | |
394 | @item | |
395 | Load the Catalyst CDWARE disk into a disk caddy, and put the caddy in | |
396 | your CD-ROM drive. | |
397 | ||
398 | @item | |
399 | Mount 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 | |
401 | your 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 | |
408 | Sun's generic optional-package install notes. Is it really this cut and | |
409 | dried? What about systems with more than one @sc{cd-rom} drive? | |
410 | @end quotation | |
411 | @c @end ifset | |
412 | ||
413 | @cartouche | |
414 | @example | |
415 | eg# @b{mkdir} @b{/cdrom} @i{(ignore any errors)} | |
416 | eg# @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 | |
423 | Load the Cygnus Support release tape (labelled | |
424 | ``Progressive--||RELNO||'') into your system's tape drive. | |
425 | ||
426 | @item | |
427 | find out the name of the tape device on your machine that can read the | |
428 | release tape. Cygnus release tapes are labelled to identify the kind of | |
429 | tape 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 | |
434 | explicit 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 | |
440 | of tape devices it wants. Does it matter? | |
441 | @end quotation | |
442 | @end ifset | |
443 | ||
444 | @table @emph | |
445 | @item ||TAPdflt|| tape | |
446 | Use @file{||DEVdflt||} where the examples show @code{||MEDstr||}. | |
447 | ||
448 | @item Exabyte ||MEDIUM|| | |
449 | The device name depends on how your Exabyte tape drive was installed; | |
450 | ask 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 | |
456 | Now you can install ready-to-run binaries; or source; or both. | |
457 | ||
458 | @itemize @bullet | |
459 | @item | |
460 | Choose source or binaries by running @code{pkgadd} with either or | |
461 | both of the arguments @samp{GNUDEVTkit} (to install binaries) or | |
462 | @code{GNUDEVTsrc} (for the source). | |
463 | ||
464 | @item | |
465 | Run @code{pkgadd} interactively (that is, @emph{without} the @w{@samp{-n}} | |
466 | option) to choose the installation directory. | |
467 | ||
468 | @item | |
469 | Use the @w{@samp{-d}} option to identify your ||MEDIUM||. | |
470 | @end itemize | |
471 | ||
472 | For instance, typing this command line starts installation of both | |
473 | the source package and the binary package: | |
474 | ||
475 | @cartouche | |
476 | @example | |
477 | eg# @b{/usr/sbin/pkgadd} @b{-d} @b{||MEDstr||} @b{GNUDEVTkit} @b{GNUDEVTsrc} | |
478 | @end example | |
479 | @end cartouche | |
480 | ||
481 | @item | |
482 | For each of the packages, @code{pkgadd} will ask for confirmation of the | |
483 | install directory @file{/opt/gnu}, or an alternative. | |
484 | ||
485 | For the source package @code{GNUDEVTsrc}, place the package wherever | |
486 | it's convenient; the only advantage of using the default location | |
487 | @file{/opt/gnu} is to keep the source near the binaries. | |
488 | ||
489 | For the @code{GNUDEVTkit} binaries, we recommend using the default location | |
490 | @file{/opt/gnu}, since this location is configured and compiled into all | |
491 | the 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 | |
496 | paths to run the programs. @xref{Paths,,Changing the Paths}. | |
497 | @end quotation | |
498 | ||
499 | This example shows the interaction to accept @file{/opt/gnu} for the | |
500 | binaries: | |
501 | ||
502 | @cartouche | |
503 | @example | |
504 | Extracting Solaris GNU Developer's Kit binaries. | |
505 | >>Installing in "/opt/gnu". OK? [y/n]> @b{y} | |
506 | @end example | |
507 | @end cartouche | |
508 | ||
509 | This example shows the interaction to place the source in | |
510 | @file{/usr/local/src} instead of the default location. After you type | |
511 | the location, the installation script asks you to confirm. You can use | |
512 | this opportunity to avoid typographical errors in the install directory | |
513 | name. | |
514 | ||
515 | @cartouche | |
516 | @example | |
517 | Extracting 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 | |
525 | Installing 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. | |
528 | After the initial extraction step, it prepares copies of your system | |
529 | header files, converted to comply better with @sc{ansi} C | |
530 | (@pxref{Why-fixincludes,,Why Convert System Header Files?}). A log for | |
531 | this 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 | ||
536 | When installation is complete, @code{pkgadd} displays the message | |
537 | ||
538 | @cartouche | |
539 | @example | |
540 | Cygnus Support software distribution installed! | |
541 | @end example | |
542 | @end cartouche | |
543 | ||
544 | @item | |
545 | Now that the software is on your system, you should arrange for users | |
546 | to 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 | |
551 | eg# @b{cd} @b{/opt/gnu} | |
552 | eg# @b{ln} @b{-s} @b{progressive-||RELNO||} @b{progressive} | |
553 | @end example | |
554 | @end cartouche | |
555 | ||
556 | @ifset CUSTOMER | |
557 | @item | |
558 | Finally, in case you need to send problem reports to Cygnus, we've | |
559 | included a script @code{send_pr} (and a supporting online template) to | |
560 | structure and transmit your reports. Please use the small utility | |
561 | script @code{install_cid} to record your Cygnus customer ID in your copy | |
562 | of the problem report form. (You can find your customer ID in the cover | |
563 | letter 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 | |
565 | possible to any problem reports you send. | |
566 | ||
567 | @cartouche | |
568 | @example | |
569 | eg# @b{/opt/progressive/bin/install@t{_}cid @var{customerID}} | |
570 | install_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 | ||
578 | You'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 | |
583 | This checklist is for a ||HOST|| that does not have its own ||MEDIUM|| drive, | |
584 | but can share a file system with another machine that does have a ||MEDIUM|| | |
585 | drive. The other machine need not be a ||HOST||, @emph{but it must be | |
586 | running some version of UNIX System V release 4}. The complete | |
587 | procedure takes between ?? and ???, depending on the speed of | |
588 | each machine. | |
589 | ||
590 | We show the other computer's prompt as @samp{other#}, and your | |
591 | computer's prompt as @samp{eg#}. | |
592 | ||
593 | @ifset FIXMES | |
594 | @quotation | |
595 | @emph{FIXME!} SVr4 required simply for presence of @code{pkgadd} | |
596 | command. If we care enough to relax this, we simply need to provide an | |
597 | alternative extraction command-line. @code{dd}? @code{tar}? | |
598 | @end quotation | |
599 | @end ifset | |
600 | ||
601 | @enumerate | |
602 | @item | |
603 | find 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|| | |
605 | drive isn't on the network, @pxref{No Drive,,No Local ||MEDIUM|| Drive}. | |
606 | ||
607 | @item | |
608 | Make sure you have root access to @emph{both} computers. The standard | |
609 | Solaris installation procedures for optional packages require | |
610 | @code{root} to run all installation steps. | |
611 | ||
612 | @cartouche | |
613 | @example | |
614 | other$ @b{su} @b{root} | |
615 | password: @i{(enter root password)} | |
616 | @end example | |
617 | @end cartouche | |
618 | ||
619 | @item | |
620 | Choose a directory where you will extract the Developer's Kit. The | |
621 | directory must be accessible from both machines (the one with the | |
622 | ||MEDIUM|| drive, and the ||HOST|| where you want to use the software). | |
623 | If possible, use @file{/var/spool/pkg}; this is the default package | |
624 | spooling 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 | |
630 | cross-install? | |
631 | @end quotation | |
632 | @end ifset | |
633 | ||
634 | Wherever this note uses @var{shr}, substitute the name of the | |
635 | directory you chose. | |
636 | ||
637 | @item | |
638 | Check that you have enough space available (@pxref{Requirements,,System | |
639 | Requirements}) 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 | |
643 | so, recast in those terms? | |
644 | @end quotation | |
645 | @end ifset | |
646 | ||
647 | @ifset CDROMinst | |
648 | @item | |
649 | Load the Catalyst CDWARE disk into a disk caddy, and put the caddy in | |
650 | your CD-ROM drive. | |
651 | ||
652 | @item | |
653 | Mount 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 | |
655 | your 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 | |
662 | Sun's generic optional-package install notes. Is it really this | |
663 | definite on @emph{all} SVr4 systems? What about systems with more than | |
664 | one @sc{cd-rom} drive? | |
665 | @end quotation | |
666 | @c @end ifset | |
667 | ||
668 | @cartouche | |
669 | @example | |
670 | other# @b{mkdir} @b{/cdrom} @i{(ignore any errors)} | |
671 | other# @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 | |
678 | Load 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 | |
681 | tape drive on your system. | |
682 | ||
683 | @item | |
684 | find out the name of the tape device on the machine | |
685 | that can read the release tape. Cygnus release tapes are labelled to | |
686 | identify the kind of tape used. You should use one of the following | |
687 | devices: | |
688 | @ifset FIXMES | |
689 | @quotation | |
690 | @emph{FIXME!} Does SVr4 specify device names enough that we can be more | |
691 | explicit 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 | |
697 | of tape devices it wants. Does it matter? | |
698 | @end quotation | |
699 | @end ifset | |
700 | ||
701 | @table @emph | |
702 | @item ||TAPdflt|| ||MEDIUM|| | |
703 | Use @file{||DEVdflt||} where the examples show @code{||MEDstr||}. | |
704 | ||
705 | @item Exabyte ||MEDIUM|| | |
706 | The device name depends on how your Exabyte ||MEDIUM|| drive was installed; | |
707 | check 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 | |
713 | Now you can extract either the ready-to-run binary package, the source | |
714 | package, or both. | |
715 | ||
716 | @itemize @bullet | |
717 | @item | |
718 | Choose source or binaries by running @code{pkgadd} with either or | |
719 | both 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 | |
723 | packages you extract now will be available. We recommend you extract | |
724 | both packages at this point. | |
725 | ||
726 | @item | |
727 | Use @samp{-s @var{shr}} to copy the packages to @var{shr}, where you | |
728 | will be able to install them from your ||HOST||. | |
729 | ||
730 | @item | |
731 | Use the @w{@samp{-d}} option to identify your ||MEDIUM||. | |
732 | @end itemize | |
733 | ||
734 | This is the command line to extract both packages into @var{shr}: | |
735 | ||
736 | @cartouche | |
737 | @example | |
738 | other# @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 | |
744 | Log off the computer with the ||MEDIUM|| drive, and log on to the | |
745 | ||HOST|| where you want to use the software. | |
746 | ||
747 | @item | |
748 | Make sure you have root access to this computer, too. The standard | |
749 | Solaris installation procedures for optional packages require | |
750 | @code{root} to run the complete installation. | |
751 | ||
752 | @cartouche | |
753 | @example | |
754 | eg$ @b{su root} | |
755 | password: @i{(enter root password)} | |
756 | @end example | |
757 | @end cartouche | |
758 | ||
759 | @item | |
760 | Check that you have enough space available in @file{/opt} | |
761 | (@pxref{Requirements,,System Requirements}). You can use @samp{df /opt} | |
762 | to check. | |
763 | @ifset FIXMES | |
764 | @quotation | |
765 | @emph{FIXME!} Does @code{pkgadd} check for this and issue an error? If | |
766 | so, recast in those terms? | |
767 | @end quotation | |
768 | @end ifset | |
769 | ||
770 | @item | |
771 | Now you can install ready-to-run binaries; or source; or both. | |
772 | ||
773 | @itemize @bullet | |
774 | @item | |
775 | Choose source or binaries by running @code{pkgadd} with either or | |
776 | both 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 | |
780 | the ||MEDIUM|| from another machine, you no longer have a choice---you | |
781 | can only specify that package name to complete the installation. | |
782 | ||
783 | @item | |
784 | Run @code{pkgadd} interactively (that is, @emph{without} the @w{@samp{-n}} | |
785 | option) to choose the installation directory. | |
786 | ||
787 | @item | |
788 | Use the @w{@samp{-d} @var{shr}} option to identify the shared directory | |
789 | where 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 | |
792 | to install.) | |
793 | @end itemize | |
794 | ||
795 | For instance, typing this command line starts installation of both | |
796 | the source package and the binary package: | |
797 | ||
798 | @cartouche | |
799 | @example | |
800 | eg# @b{/usr/sbin/pkgadd} @b{-d} @var{shr} @b{GNUDEVTkit} @b{GNUDEVTsrc} | |
801 | @end example | |
802 | @end cartouche | |
803 | ||
804 | @item | |
805 | For each of the packages, @code{pkgadd} will ask for confirmation of the | |
806 | install directory @file{/opt/gnu}, or an alternative. | |
807 | ||
808 | For the source package @code{GNUDEVTsrc}, place the package wherever | |
809 | it's convenient; the only advantage of using the default location | |
810 | @file{/opt/gnu} is to keep the source near the binaries. | |
811 | ||
812 | For the @code{GNUDEVTkit} binaries, we recommend using the default location | |
813 | @file{/opt/gnu}, since this location is configured and compiled into all | |
814 | the 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 | |
819 | paths to run the programs. @xref{Paths,,Changing the Paths}. | |
820 | @end quotation | |
821 | ||
822 | This example shows the interaction to accept @file{/opt/gnu} for the | |
823 | binaries: | |
824 | ||
825 | @cartouche | |
826 | @example | |
827 | Extracting Solaris GNU Developer's Kit binaries. | |
828 | >>Installing in "/opt/gnu". OK? [y/n]> @b{y} | |
829 | @end example | |
830 | @end cartouche | |
831 | ||
832 | This example shows the interaction to place the source in | |
833 | @file{/usr/local/src} instead of the default location. After you type | |
834 | the location, the installation script asks you to confirm. You can use | |
835 | this opportunity to avoid typographical errors in the install directory | |
836 | name. | |
837 | ||
838 | @cartouche | |
839 | @example | |
840 | Extracting 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 | |
848 | Installing the Developer's Kit binaries is a time-consuming step (at | |
849 | least ?? minutes on a fast, unloaded machine; it may take as much as ??? | |
850 | under other circumstances). @code{pkgadd} will display informative | |
851 | messages about its progress. After copying the binaries into their | |
852 | installed locations, @code{pkgadd} prepares copies of your system header | |
853 | files, converted to comply better with @sc{ansi} C | |
854 | (@pxref{Why-fixincludes,,Why Convert System Header Files?}). A log for | |
855 | this 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 | ||
860 | When installation is complete, @code{pkgadd} displays the message | |
861 | ||
862 | @cartouche | |
863 | @example | |
864 | Cygnus Support software distribution installed! | |
865 | @end example | |
866 | @end cartouche | |
867 | ||
868 | @item | |
869 | Now that the software is on your system, you need to arrange for users | |
870 | to run it conveniently. We recommend the following link; see | |
871 | @ref{Link,,Easy Access and Updating}, for a discussion. | |
872 | ||
873 | @cartouche | |
874 | @example | |
875 | eg# @b{cd} @b{/opt/gnu} | |
876 | eg# @b{ln} @b{-s} @b{progressive-||RELNO||} @b{progressive} | |
877 | @end example | |
878 | @end cartouche | |
879 | ||
880 | @ifset CUSTOMER | |
881 | @item | |
882 | Finally, in case you need to send problem reports to Cygnus, we've | |
883 | included a script @code{send_pr} (and a supporting online form) to | |
884 | structure and transmit your reports. Please use the small utility | |
885 | script @code{install_cid} to record your Cygnus customer ID in your copy | |
886 | of the problem report form. (You can find your customer ID in the cover | |
887 | letter 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 | |
889 | possible to any problem reports you send. | |
890 | ||
891 | @cartouche | |
892 | @example | |
893 | eg# @b{/opt/progressive/bin/install@t{_}cid @var{customerID}} | |
894 | install_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 | ||
902 | You'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 | ||
908 | Here 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 | |
925 | eg$ @b{su} @b{root} | |
926 | password: | |
927 | ||
928 | @i{Insert ||MEDIUM|| into drive.} | |
929 | ||
930 | eg# @b{mkdir} @b{/cdrom} | |
931 | eg# @b{mount} @b{-F} @b{hsfs} @b{-o} @b{ro} @b{/dev/dsk/c0t6d0s0} @b{/cdrom} | |
932 | eg# @b{/usr/sbin/pkgadd} @b{-n} @b{-d} @b{||MEDstr||} @b{GNUDEVTkit} | |
933 | ||
934 | Extracting 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 | ||
939 | Cygnus Support software distribution installed! | |
940 | ||
941 | eg# @b{cd} @b{/opt/gnu} | |
942 | eg# @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 | |
950 | eg$ @b{su} @b{root} | |
951 | password: | |
952 | ||
953 | @i{Insert ||MEDIUM|| into drive.} | |
954 | ||
955 | eg# @b{/usr/sbin/pkgadd} @b{-n} @b{-d} @b{||MEDstr||} @b{GNUDEVTkit} | |
956 | ||
957 | Extracting 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 | ||
962 | Cygnus Support software distribution installed! | |
963 | ||
964 | eg# @b{cd} @b{/opt/gnu} | |
965 | eg# @b{ln} @b{-s} @b{progressive-||RELNO||} @b{progressive} | |
966 | @end example | |
967 | @end cartouche | |
968 | @end ifclear | |
969 | ||
970 | If you don't want the source---for instance, to save space---you can use | |
971 | the 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:} | |
980 | other$ @b{su} @b{root} | |
981 | password: | |
982 | ||
983 | @i{Insert ||MEDIUM|| into drive.} | |
984 | ||
985 | other# @b{mkdir} @b{/cdrom} @i{(ignore any errors)} | |
986 | other# @b{mount} @b{-F} @b{hsfs} @b{-o} @b{ro} @b{/dev/dsk/c0t6d0s0} @b{/cdrom} | |
987 | other# @b{/usr/sbin/pkgadd} @b{-s} @var{/var/spool/pkg} @b{-d} @b{||MEDstr||} \ | |
988 | @b{GNUDEVTkit} @b{GNUDEVTsrc} | |
989 | other# exit | |
990 | ||
991 | @emph{On your ||HOST||} | |
992 | eg$ @b{su} @b{root} | |
993 | password: | |
994 | eg# @b{/usr/sbin/pkgadd} @b{GNUDEVTkit} @b{GNUDEVTsrc} | |
995 | ||
996 | Extracting Solaris GNU Developer's Kit binaries. | |
997 | >>Installing in "/opt/gnu". OK? [y/n]> @b{y} | |
998 | ||
999 | Extracting 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 | ||
1004 | Cygnus Support software distribution installed! | |
1005 | ||
1006 | eg# @b{cd} @b{/opt/gnu} | |
1007 | eg# @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:} | |
1016 | other$ @b{su} @b{root} | |
1017 | password: | |
1018 | ||
1019 | @i{Insert ||MEDIUM|| into drive.} | |
1020 | ||
1021 | other# @b{/usr/sbin/pkgadd} @b{-s} @var{/var/spool/pkg} @b{-d} @b{||MEDstr||} \ | |
1022 | @b{GNUDEVTkit} @b{GNUDEVTsrc} | |
1023 | other# exit | |
1024 | ||
1025 | @emph{On your ||HOST||} | |
1026 | eg$ @b{su} @b{root} | |
1027 | password: | |
1028 | eg# @b{/usr/sbin/pkgadd} @b{GNUDEVTkit} @b{GNUDEVTsrc} | |
1029 | ||
1030 | Extracting Solaris GNU Developer's Kit binaries. | |
1031 | >>Installing in "/opt/gnu". OK? [y/n]> @b{y} | |
1032 | ||
1033 | Extracting 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 | ||
1038 | Cygnus Support software distribution installed! | |
1039 | ||
1040 | eg# @b{cd} @b{/opt/gnu} | |
1041 | eg# @b{ln} @b{-s} @b{progressive-||RELNO||} @b{progressive} | |
1042 | @end example | |
1043 | @end cartouche | |
1044 | @end ifclear | |
1045 | ||
1046 | @noindent | |
1047 | If your ||HOST|| doesn't have a ||MEDIUM|| drive, but another SVr4 | |
1048 | machine that can mount a shared directory (here the default | |
1049 | package-spooling directory, @samp{/var/spool/pkg}) does have one, you | |
1050 | can 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 | |
1052 | the @code{pkgadd} command line. This alerts @code{pkgadd} to stop the | |
1053 | install procedure after it reads the ||MEDIUM||. You still have to | |
1054 | finish 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 | |
1059 | The @code{pkgrm} command can remove any package installed by | |
1060 | @code{pkgadd}. For example, if after installing the complete | |
1061 | Developer's Kit on your machine you decide to remove the source files: | |
1062 | ||
1063 | @cartouche | |
1064 | @example | |
1065 | eg$ @b{su} @b{root} | |
1066 | password: | |
1067 | eg# @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 | |
1077 | fixincludes. Surely it's bogus here, since Solaris is a nice modern | |
1078 | system? Doesn't it have ANSI header files? | |
1079 | ||
1080 | Someone, please confirm or deny! I seem to recall there's at least some | |
1081 | bullshit about how @code{__ANSIC__} or some such thing is defined. | |
1082 | Specifics, anyone? | |
1083 | @end quotation | |
1084 | @end ifset | |
1085 | ||
1086 | You may notice messages about running @samp{fixincludes} during your | |
1087 | Developer's Kit installation. When the @sc{ansi x3j11} committee | |
1088 | finished developing a standard for the C language, a few things that had | |
1089 | worked one way in many traditional C compilers ended up working | |
1090 | differently in @sc{ansi} C. Most of these changes are improvements. | |
1091 | But some Unix header files still rely on the old C meanings, in cases | |
1092 | where the Unix vendor has not yet converted to using an @sc{ansi} C | |
1093 | compiler for the operating system itself. The @samp{fixincludes} | |
1094 | portion 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 | |
1097 | header files are not affected.} | |
1098 | ||
1099 | The particular problems fixed include: | |
1100 | @itemize @bullet | |
1101 | @item | |
1102 | @code{_IOR}, @code{_IOW}, and @code{_IORW} macros use obsolete | |
1103 | preprocessor facilities | |
1104 | @item | |
1105 | @code{#endif} no longer ignores its argument | |
1106 | @end itemize | |
1107 | ||
1108 | If you don't run @code{fixincludes}, the GNU C compiler can only use the | |
1109 | original system header files when you compile new C programs. @emph{In | |
1110 | some cases, the resulting programs will fail at run-time}. | |
1111 | ||
1112 | @node Link, , Why-fixincludes, Installing | |
1113 | @unnumbered Easy Access and Updating | |
1114 | Once you've extracted them from the ||MEDIUM||, the Developer's Kit | |
1115 | tools are installed under a directory named | |
1116 | @file{progressive-||RELNO||}. We put the release number in the | |
1117 | directory name so that you can keep several releases installed at the | |
1118 | same time, if you wish. In order to simplify administrative procedures | |
1119 | (such as upgrades to future Cygnus Progressive releases), we recommend | |
1120 | that you establish a symbolic link @file{/opt/gnu/progressive} to this | |
1121 | directory. For example, assuming you've used the default installation | |
1122 | path: | |
1123 | ||
1124 | @cartouche | |
1125 | @example | |
1126 | eg# @b{cd /opt/gnu} | |
1127 | eg# @b{ln -s progressive-||RELNO|| progressive} | |
1128 | @end example | |
1129 | @end cartouche | |
1130 | ||
1131 | We recommend building this link as the very last step in the | |
1132 | installation process. That way, users at your site will only see | |
1133 | software in @file{/opt/gnu/progressive} when you're satisfied that the | |
1134 | installation is complete and successful. | |
1135 | ||
1136 | @node Running, Paths, Installing, Top | |
1137 | @unnumbered Running the Programs | |
1138 | Any users who wish to run the Cygnus development tools will need to make | |
1139 | sure the @code{PATH} environment variable will find them. If you create | |
1140 | the symbolic link we recommend above, users who want to run the | |
1141 | Developer's Kit---regardless of whether they need binaries for a ||HOST||, | |
1142 | or for some other platform---can use settings like one of the following | |
1143 | in 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 | |
1161 | You should also ensure that your @code{man} command can pick up the | |
1162 | manual pages for these tools. Some @code{man} programs recognize a | |
1163 | @code{MANPATH} environment variable. If your @code{man} program is one | |
1164 | of these, users at your site can also include in their initialization | |
1165 | file 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 | ||
1182 | If your @code{man} program doesn't recognize @samp{MANPATH}, you may | |
1183 | want 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 | |
1189 | The binaries shipped by Cygnus are configured for installation under the | |
1190 | directory @file{/opt/gnu}. If you wish to run the tools in another | |
1191 | location, the best solution---and, to date, the only complete one---is | |
1192 | to rebuild them from source. @xref{Rebuilding,,Rebuilding from Source}. | |
1193 | ||
1194 | In particular, @code{gcc} and the documentation browser @code{info} need | |
1195 | to 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 | |
1203 | You can run the compiler @sc{gcc} without recompiling, even if you | |
1204 | install the distribution in an alternate location, by first setting the | |
1205 | environment variable @samp{GCC_EXEC_PREFIX}. This variable specifies | |
1206 | where to find the executables, libraries, and data files used by the | |
1207 | compiler. Its value will be different depending on which set of | |
1208 | binaries you need to run. For example, if you install the Developer's Kit | |
1209 | binaries under @file{/local} (instead of the default | |
1210 | @file{/opt/gnu}), and you wish to run @sc{gcc} from there, | |
1211 | you could set @samp{GCC_EXEC_PREFIX} as follows. (You can | |
1212 | type the first two lines as a single line, if you like; the example | |
1213 | is split using the line continuation character @samp{\} only | |
1214 | to make it fit on the printed page.) | |
1215 | ||
1216 | @cartouche | |
1217 | @example | |
1218 | @b{GCC@t{_}EXEC@t{_}PREFIX=/local/progressive-||RELNO||/@t{\} | |
1219 | lib/gcc/||TARGET||/||GCCvn||/} | |
1220 | @b{export GCC@t{_}EXEC@t{_}PREFIX} | |
1221 | @end example | |
1222 | @end cartouche | |
1223 | ||
1224 | @noindent | |
1225 | The example assumes you use a shell compatible with the Bourne shell; if | |
1226 | you run the C shell, use the following instead. (Again, the line | |
1227 | continuation character @samp{\} is only used for convenience in the | |
1228 | example; feel free to use a single line.) | |
1229 | ||
1230 | @cartouche | |
1231 | @example | |
1232 | @b{setenv GCC@t{_}EXEC@t{_}PREFIX /local/progressive-||RELNO||/@t{\} | |
1233 | lib/gcc/||TARGET||/||GCCvn||/} | |
1234 | @end example | |
1235 | @end cartouche | |
1236 | ||
1237 | @quotation | |
1238 | @emph{Warning: The trailing slash @samp{/} is important}. The @code{gcc} | |
1239 | program uses @samp{GCC_EXEC_PREFIX} simply as a prefix. If you omit the | |
1240 | slash (or make any other mistakes in specifying the prefix), @code{gcc} | |
1241 | will fail with a message beginning @samp{installation problem, cannot | |
1242 | exec@dots{}}. | |
1243 | @end quotation | |
1244 | ||
1245 | @subheading @code{info} Paths | |
1246 | You can use the @w{@samp{--directory}} option, each time you run @code{info}, | |
1247 | to specify a non-default location for the documentation files. For | |
1248 | example, if you read the distribution ||MEDIUM||s into @file{/local}, | |
1249 | you 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}, | |
1260 | which specifies the menu structure that leads to the other documentation | |
1261 | files. | |
1262 | @end quotation | |
1263 | ||
1264 | You can also run @code{info} on a specific documentation file, | |
1265 | regardless of its location, by giving the option @code{-file} followed | |
1266 | by 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 | ||
1273 | We've tried to make the installation of your Developer's Kit as painless | |
1274 | as possible. Still, some complications may arise. Here are suggestions | |
1275 | for 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 | |
1285 | If your ||HOST|| doesn't have an appropriate ||MEDIUM|| drive, you may | |
1286 | still be able to install your software. Check with your system | |
1287 | administrator to see if another machine that runs Unix SVr4 at your site | |
1288 | has a ||MEDIUM|| drive you can use. If so: | |
1289 | ||
1290 | @emph{If a shared filesystem is available} between the two machines, and | |
1291 | it has enough space, see @ref{cross-install,,Installing with another | |
1292 | machine's ||MEDIUM|| drive}. | |
1293 | ||
1294 | @node Limited Space, Install errors, No Drive, Trouble | |
1295 | @unnumberedsec Not Enough Space | |
1296 | If you don't have enough space to install all of the ||MEDIUM|| | |
1297 | distribution, you can instead extract only the compiled code, or only | |
1298 | the source. | |
1299 | ||
1300 | The following table summarizes the approximate space (rounded up to the | |
1301 | next megabyte) needed for source and binaries. | |
1302 | There is a little overlap between the partial installations: the | |
1303 | documentation, and documentation tools, are always installed. | |
1304 | ||
1305 | @table @r | |
1306 | @item ||BD|| MB | |
1307 | ||HOST|| binaries | |
1308 | ||
1309 | @item ||SD|| MB | |
1310 | source code for all programs | |
1311 | ||
1312 | @item ||DF|| MB | |
1313 | total | |
1314 | @end table | |
1315 | ||
1316 | You can easily extract these components independently of one another, by | |
1317 | using 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} | |
1321 | The @code{Install} script checks for many errors and inconsistencies in | |
1322 | the way its arguments are used. The messages are meant to be | |
1323 | self-explanatory. Here is a list of a few messages where further | |
1324 | information 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||} | |
1334 | The 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 | |
1336 | intended; possible causes of trouble might include leaving off the | |
1337 | @samp{/dev/} prefix at the front of a device name. A typo in the | |
1338 | device name might also cause this problem. | |
1339 | ||
1340 | If the problem is neither of these things, perhaps your ||MEDIUM|| | |
1341 | device can't read our ||MEDIUM||; @pxref{No Drive,,No Local ||MEDIUM|| | |
1342 | Drive}, for a discussion of how to use another machine's ||MEDIUM|| | |
1343 | drive. | |
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{} | |
1351 | These errors (the first covers anything that ends in @samp{This is a | |
1352 | problem}) are from paranoia checks; they are issued for situations that | |
1353 | other checks should have covered, or for unlikely situations that | |
1354 | require further diagnosis. | |
1355 | ||
1356 | If 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 | |
1361 | send 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 | ||
1368 | All Cygnus products are free software; your Developer's Kit includes | |
1369 | complete source code for all programs. | |
1370 | ||
1371 | Cygnus Support has implemented an automatic configuration scheme to | |
1372 | adapt the programs to different environments. | |
1373 | ||
1374 | Rebuilding the programs from source requires these steps: | |
1375 | @enumerate | |
1376 | @item | |
1377 | configuration | |
1378 | @item | |
1379 | compilation | |
1380 | @item | |
1381 | installation | |
1382 | @end enumerate | |
1383 | ||
1384 | For example, executing the following commands in sequence will rebuild | |
1385 | and install a native version of all the tools in a nonstandard | |
1386 | directory: | |
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 | |
1397 | We 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 | ||
1410 | You can configure the software in this release by using the shell | |
1411 | script called @code{configure}. The shell script requires one argument: | |
1412 | the 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 | ||
1418 | The specifications used for hosts and targets in the @code{configure} | |
1419 | script are based on a three-part naming scheme, but some short predefined | |
1420 | aliases are also supported. The full naming scheme encodes three pieces | |
1421 | of 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 | |
1432 | For example, you can use the alias @code{solar} as a @var{host} argument | |
1433 | or in a @w{@samp{-target=@var{target}}} option, but the equivalent full name | |
1434 | is @samp{sparc-sun-solaris2}. | |
1435 | ||
1436 | @quotation | |
1437 | @emph{Warning:} @code{configure} can represent a very large number of | |
1438 | combinations of architecture, vendor, and OS. There is by no means | |
1439 | support for all possible combinations! | |
1440 | @end quotation | |
1441 | ||
1442 | @node configure Options, Compilation, Config Names, Rebuilding | |
1443 | @section @code{configure} Options | |
1444 | ||
1445 | This section summarizes the @code{configure} options and arguments. | |
1446 | Your Developer's Kit contains full online documentation for the Cygnus | |
1447 | configure system. @inforef{Using Configure,,configure.info}, to read | |
1448 | about @code{configure} in more detail, including information on how the | |
1449 | @code{configure} options relate to @file{Makefile} variables. | |
1450 | ||
1451 | @example | |
1452 | configure @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}, | |
1468 | the root for the directories where @code{make install} will | |
1469 | place things. After you configure with this option, @code{make install} | |
1470 | will 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}, | |
1473 | and libraries in @file{@var{dest}/lib}. | |
1474 | If you specify @w{@samp{-prefix=/local}}, for example, @code{make | |
1475 | install} puts the development tools in @file{/local/bin}. | |
1476 | ||
1477 | @emph{WARNING:} the default @var{dest} path prefix in the source is not | |
1478 | the 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 | |
1481 | Cygnus Progressive Release. If you do not use @w{@samp{-prefix}}, the | |
1482 | installation 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 | |
1486 | affects only machine-dependent targets (compiled programs and | |
1487 | libraries). Specifying both @w{@samp{-prefix}} and @w{@samp{-exec-prefix}} | |
1488 | allows you to segregate machine-dependent files, so that | |
1489 | machine-independent files can be shared. | |
1490 | ||
1491 | @emph{WARNING:} the default @var{bindest} path prefix in the source is not | |
1492 | the same as the prefix for the preconfigured binaries distributed by Cygnus. | |
1493 | ||
1494 | @w{@samp{-exec-prefix=/opt/gnu/progressive-||RELNO||}} was | |
1495 | used to build this Cygnus Progressive Release. | |
1496 | If you do not use @w{@samp{-exec-prefix}}, the default directory for | |
1497 | machine-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). | |
1503 | Use this option to make configurations in directories separate from the | |
1504 | source directories. @code{configure} writes configuration specific files | |
1505 | in the current directory, but arranges for them to use the source in the | |
1506 | directory @var{path}. @code{configure} will create directories under | |
1507 | the working directory in parallel to the source directories below | |
1508 | @var{path}. Among other things, you can use this to build (or maintain) | |
1509 | several configurations simultaneously, in separate directories. | |
1510 | ||
1511 | @item -norecursion | |
1512 | Configure only the directory level where @code{configure} is executed; do not | |
1513 | propagate configuration to subdirectories. | |
1514 | ||
1515 | @item -target=@var{target} | |
1516 | Configure the development tools for cross-development (compiling, | |
1517 | debugging, or other processing) of programs running on the specified | |
1518 | @var{target}. Without this option, programs are configured ``native'', | |
1519 | that is, for managing programs that run on the same machine (@var{host}) | |
1520 | as the development tools themselves. | |
1521 | ||
1522 | There is no convenient way to generate a list of all available targets. | |
1523 | ||
1524 | @item @var{host} @dots{} | |
1525 | Configure the development tools to run on the specified @var{host}. | |
1526 | ||
1527 | There is no convenient way to generate a list of all available hosts. | |
1528 | @end table | |
1529 | ||
1530 | The @w{@samp{-prefix=@var{dest}}} and @w{@samp{-exec-prefix=@var{bindest}}} | |
1531 | options are particularly important. If you don't specify a @var{dest} | |
1532 | or @var{bindest} directory, the @file{Makefile} installs binaries in | |
1533 | subdirectories of @file{/usr/local}. These options are important | |
1534 | because the @var{dest} and @var{bindest} directories are used for | |
1535 | several 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 | |
1543 | locations of @sc{gcc} specific include files, the locations of @sc{gcc} | |
1544 | subprograms, 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 | |
1549 | for the documentation. | |
1550 | ||
1551 | @end enumerate | |
1552 | ||
1553 | @node Compilation, Installation, configure Options, Rebuilding | |
1554 | @unnumberedsec Compilation | |
1555 | ||
1556 | After you've run @code{configure} (which writes the final | |
1557 | @file{Makefile} in each directory), compilation is straightforward. | |
1558 | To 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 | ||
1566 | The overall @file{Makefile} propagates the value of the @code{CC} | |
1567 | variable explicitly, so that you can easily control the compiler used in | |
1568 | this step. @code{CFLAGS} is treated the same way. For instance, to | |
1569 | build 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 | ||
1579 | The conventional targets @samp{all}, @samp{install}, and @samp{clean} | |
1580 | are supported at all levels of @file{Makefile}. Other targets are | |
1581 | supported as well, as appropriate in each directory; please read the | |
1582 | individual @file{Makefile} for details. Each @file{Makefile} in the | |
1583 | source directories includes ample comments to help you read it. If you | |
1584 | are not familiar with @code{make}, refer to @ref{Overview,,Overview of | |
1585 | @code{make}, make.info, GNU Make: A Program for Directing | |
1586 | Recompilation}. | |
1587 | ||
1588 | @node Installation, , Compilation, Rebuilding | |
1589 | @unnumberedsec Installation | |
1590 | ||
1591 | Whether you configure an alternative path using @code{-prefix}, or you | |
1592 | use the default installation path @file{/usr/local}, you can install the | |
1593 | software 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 | |
1603 | You can use the @code{pkgrm} command to remove either part of this | |
1604 | release from where @code{pkgadd} installed it. | |
1605 | ||
1606 | To do this, call @code{pkgrm} with either or both of the arguments | |
1607 | @samp{GNUDEVTkit} (to remove binaries) or @samp{GNUDEVTsrc} (to remove | |
1608 | source). For example, suppose you never look at the source, and are | |
1609 | running short of disk space; you can remove the source, while leaving | |
1610 | the rest of the Progressive Release undisturbed, as follows: | |
1611 | ||
1612 | @cartouche | |
1613 | @example | |
1614 | eg# @b{/usr/sbin/pkgrm GNUDEVTsrc} | |
1615 | @end example | |
1616 | @end cartouche | |
1617 | ||
1618 | To remove the complete Progressive Release of the Developer's Kit from | |
1619 | your system (if, eventually, you no longer want it), specify both | |
1620 | package names as arguments to @code{pkgrm} | |
1621 | ||
1622 | @node Cygnus-FSF, Cygnus-Support, Removing, Top | |
1623 | @unnumbered Cygnus Releases and the FSF | |
1624 | ||
1625 | Most of the tools in this Developer's Kit are originally from the Free | |
1626 | Software Foundation (FSF). You can get versions of all these tools | |
1627 | from the FSF as well as from Cygnus. In general, Cygnus Progressive | |
1628 | Releases add to FSF software in the following ways: | |
1629 | @c UPDATE! more differences bet Cygnus/FSF releases? | |
1630 | ||
1631 | @itemize @bullet | |
1632 | @item | |
1633 | Commercial support is available. Cygnus adds value to FSF releases in | |
1634 | large measure by offering outstanding support services. | |
1635 | @item | |
1636 | Coordination. The tools in your Developer's Kit are certified to work | |
1637 | together; you need not worry about tools being out of step with each other. | |
1638 | @item | |
1639 | Bug fixes. A Progressive Release includes many fixes, already integrated | |
1640 | into the programs. Cygnus repairs bugs discovered during testing, and | |
1641 | also tracks and includes bug fixes developed for other Cygnus customers | |
1642 | or distributed over the Internet. | |
1643 | @item | |
1644 | Bug reporting. Cygnus releases include the tool @code{send_pr}, which | |
1645 | you can use to make sure your problem reports receive prompt attention, | |
1646 | and are also incorporated in our future tests. | |
1647 | @item | |
1648 | Documentation. Cygnus revises and adds to available FSF | |
1649 | documentation to give you better descriptions of all the software tools. | |
1650 | @item | |
1651 | Stability. 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 | |
1657 | This particular Cygnus Progressive release differs from the nearest | |
1658 | corresponding FSF distributions in these important details: | |
1659 | ||
1660 | FILL IN HERE! | |
1661 | ||
1662 | @end ignore | |
1663 | ||
1664 | @node Cygnus-Support, , Cygnus-FSF, Top | |
1665 | @unnumbered About Cygnus Support | |
1666 | ||
1667 | Cygnus Support was founded in 1989 to provide commercial support for | |
1668 | free software. Cygnus supplies products and services that benefit | |
1669 | advanced development groups by allowing them to use state-of-the-art | |
1670 | tools without having to maintain them. With Cygnus Support, sites that | |
1671 | once were forced to do their own tool support can recover that valuable | |
1672 | staff time. Former users of proprietary software now may choose | |
1673 | supported free software, combining the advantages of both worlds. | |
1674 | ||
1675 | Free software is faster, more powerful, and more portable than its | |
1676 | proprietary counterparts. It evolves faster because users who want to | |
1677 | make improvements are free to do so. Cygnus tracks these | |
1678 | improvements and integrates them into tested, stable versions ready | |
1679 | for commercial use, then backs this software with comprehensive | |
1680 | support. | |
1681 | ||
1682 | With Cygnus Support as your partner, you will have the software and | |
1683 | the support you need to meet your business objectives. Cygnus | |
1684 | is intimately familiar with this software from extensive experience | |
1685 | using, debugging, and implementing it. You get direct access to the | |
1686 | most qualified support people: the authors of the software. | |
1687 | ||
1688 | We provide ``vintage'' releases---the most stable versions, which have | |
1689 | been though even more extensive use and testing---or up-to-the minute | |
1690 | ``progressive'' releases, for those who need the very latest version. | |
1691 | ||
1692 | Because all our improvements are also free software, you can | |
1693 | distribute them widely within your organization, or to your customers, | |
1694 | without extra cost. | |
1695 | ||
1696 | @sp 4 | |
1697 | ||
1698 | @display | |
1699 | Cygnus Support | |
1700 | 814 University Avenue | |
1701 | Palo Alto, CA 94301, USA | |
1702 | ||
1703 | +1 415 322 3811 | |
1704 | hotline: +1 415 322 7836 | |
1705 | email: @code{info@@cygnus.com} | |
1706 | fax: +1 415 322 3270 | |
1707 | @end display | |
1708 | ||
1709 | @bye |