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