Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ f77(1) — SPARCworks 2.0.1

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

asa(1)

cc(1)

dbx(1)

fpr(1)

fsplit(1)

gprof(1)

ld(1)

perror(3f)

prof(1)

tcov(1)

F77(1)  —  USER COMMANDS

NAME

f77 − FORTRAN compiler

SYNOPSIS

f77 [ −66 ] [ −a ] [ −align _block _ ] [ −ansi ] [ −bsdmalloc ] [ −B[dynamic,static] ] [ −c ] [ −C ]

[ −cg[87,89,92] ] [ −dalign ] [ −dryrun ] [ −d[y,n] ] [ −Dname[=def ] ] [ −e ]

[ −f ] [ −fast ] [ −fnonstd ] [ −F ] [ −g ] [ −G ] [ −h ] [ −help ] [ −i2 ] [ −i4 ] [ −Ipath ]

[ −libmil ] [ −Ldir ] [ −misalign ] [ −native ] [ −nolib ] [ −nolibmil ] [ −noqueue ]

[ −N[cdlnqsx] nnn ] [ −o output ] [ −oldldo ] [ −oldstruct ] [ −onetrip ] [ −O[1234] ] [ −p ]

[ −pg ] [ −pic ] [ −PIC ] [ −Qoption prog opt ] [ −Qpath pathname ]

[ −Qproduce sourcetype ] [ −r4 ] [ −r8 ] [ −R path ] [ −sb ] [ −sbfast ] [ −silent ] [ −S ]

[ −temp=dir ] [ −time ] [ −u ] [ −U ] [ −v ] [ −V ] [ −w66 ] [ −w ] [ −xF ] [ −xlicinfo ]

[ −xl[d] ] [ −xs ] [ −Xlist ]   source file(s) ... [ −lx ]

DESCRIPTION

Example: Compile the any.f source file with the option for debugging. 

f77  −g  any.f

Purpose: f77 is SPARCompiler FORTRAN from SunPro. This is release 2.0.1, which runs in the Solaris 2.0 (uses SunOS 5.0) and Solaris 1.x (uses SunOS 4.1.x) operating environments.  f77 translates from programs written in f77 source code to executable load modules, or to relocatable binaries for linking by ld(1), or to dynamic shared libraries.  f77 is a superset of FORTRAN 77, with many extensions, including compatibility with VMS FORTRAN . 

File Suffixes .f and .for: Files with names ending in .f or .for are taken to be f77 source files; they are compiled, and each object program is put in the current directory in a file with the same name as the source, with .o substituted for the .f or .for. 

.F: Files with names ending in .F are also taken to be f77 source files, but they are preprocessed by the C preprocessor (equivalent to a /lib/cpp command) before they are compiled by the f77 compiler. 

.s: Files with names ending in .s are taken to be assembly source files and are assembled, producing .o files. 

.il: Files with names ending in .il are taken to be in-line expansion code template files.  The compiler uses these to expand in-line calls to selected routines when the −O option is in effect.  It’s the compiler, not the linker, that does this, so if you want in-line expansion, be sure to include these .il files in the compile command.  You do not need to specify the complete path name of the supplied math library in-line templates (the libm.il files) if you use the −fast option.  If you want to use your own .il files, then you must specify their complete path on the compile line. 

OPTIONS

See ld(1) for link-time options. 

−66 Report non-FORTRAN 66 constructs as errors.  This option may be deleted in a future release. 

−a Insert code to count how many times each basic block is executed.  −a invokes a runtime recorder that creates a .d file for each .f file (at normal termination).  The .d file accumulates execution data for the corresponding source file.  You can then run tcov(1) on the source file to generate statistics about the program.  For separate compile and link steps, if you compile with −a, be sure to link with −a.  You can mix −a with −O; in some earlier versions, −a overrode −O. 

−align  _block_
SunOS 5.0: This option is provided for compatibility with older releases. It is recognized, so it does not break make files.  It does nothing .  SunOS 4.1.x: Cause the common block whose FORTRAN name is block to be page-aligned: its size is increased to a whole number of pages, and its first byte is placed at the beginning of a page.  For example, the command “f77 −align _BUFFO_ growth.f” causes BUFFO to be page-aligned.  This option applies to uninitialized data only: if any variable of the common block is initialized in a DATA statement, then the block will not be aligned.  This option is passed to ld and is not used by f77. 

−ansi Identify many non-ANSI extensions. 

−bsdmalloc SunOS 4.1.x only: Faster malloc.  Use the faster malloc from the the library libbsdmalloc.a.  This malloc is faster but less memory efficient.  This option causes the flags

−u   _malloc  /lib/libbsdmalloc.a

to be passed to the linker. 

−B[dynamic,static]
Use dynamic or static binding.  The default is dynamic .  A linker option. 

−Bdynamic
Dynamic binding, that is, shared libraries. 

−Bstatic
Static binding, that is, nonshared libraries. 

−c Compile only; suppress linking by the loader, ld(1), and produce a .o file for each source file.  You can name a single object file explicitly using the −o option. 

−C Compile code to check that subscripts are within the declared array bounds.  This helps catch some causes of the dread segmentation fault. 

−cg[87,89,92]
Code generation for floating-point hardware. Generate code for Sun-4 systems released in one of the years 1987, 1989, or 1992, and later. Use the fpversion(1) command to tell you which floating-point hardware you have and which floating-point option to use.  It may take about a minute to display its report.  If you compile any procedure of a program or library with one of the options −cg87, −cg89, or −cg92, then you must compile all procedures of the program or library with the same option. 

−cg87
Generate code that runs on both the older Sun−4 systems (Sun−4/1xx or Sun−4/2xx) and newer Sun−4 systems.  This option directs the code generator to produce instruction scheduling to exploit features available on Sun-4 systems released in 1987 or later.  It also uses the appropriate in-line templates.  It does not exploit features such as the fsqrts and fsqrtd instructions that are implemented in hardware on only the newer Sun-4 systems.  The −cg87 option is the default under SunOS 4.1.x. 

−cg89
Generate code that exploits features like the hardware fsqrts and fsqrtd instructions (SPARC computers released in 1989 or later). 
The −cg89 option is the default under SunOS 5.0. 

−cg92
Generate code that exploits features available on computers implementing Version 8 of the SPARC Instruction Set Architecture (SPARC computers released in 1992 or later). An example of these new computers is the SPARCstation-10 series. The −cg92 option directs the code generator to produce instruction scheduling, special instructions, and appropriate in-line templates. Examples of special instructions are the hardware integer multiply and divide instructions and the floating-point multiply single to double instruction.  If you specify optimization at any level, directly or indirectly, then the built-in assembler pass will perform SuperSPARC-specific instruction scheduling automatically. That is, you get this if you use any of −O, −O1, −O2, −O3, or −O4.  You also get it if you use −fast or −native with other options in such a way that you get −cg92.  Code compiled with −cg92 will run on −cg89 hardware, but in some cases will be much slower than if it is compiled with −cg89. 

−dalign Generate double load/store instructions wherever possible for faster execution.  Using this option automatically triggers the −f option, which causes all double-precision and quadruple-precision data types (both real and complex) to be double aligned. With −dalign , you may not get ANSI standard FORTRAN alignment — a tradeoff of portability for speed.  See also “Shared Libraries” in Programming Utilities and Libraries .  If you compile one module with −dalign, compile all modules of the program with −dalign.  −dalign is unsuitable for modules that access double-precision data that is not aligned on 8-byte boundaries; unexpected bus errors may occur. 

−dryrun Show but do not execute commands constructed by compiler. 

−d[y,n] SunOS 5.0 only. Do dynamic or static binding.  Default is dynamic .  This is a linker option. 

−dy: ld uses dynamic binding, that is, shared libraries. 
−dn: ld uses static binding, that is, nonshared libraries. 

−Dname[=def ]
Define a symbol name to the C preprocessor, cpp(1).  Equivalent to a “#define” directive in the source.  If no def is given, name is defined as “1” ( .F suffix files only). 

−e Accept extended source lines, up to 132 characters long. 

−f Align all common blocks and all double-precision and quadruple-precision local data on 8-byte boundaries.  This applies to both real and complex data.  Resulting code may not be standard and may not be portable.  If you compile one module with −f, compile all modules of the program with −f. 

−fast Select the combination of compilation options that optimizes for speed of execution without excessive compilation time.  This should provide close to the maximum performance for most realistic applications.  For some critical routines it may be better to try for more optimization with the −fast −O4 combination.  If you combine −fast with other options, the last specification applies.  Although the optimization part of −fast is −O3, the optimization part of −fast −O4 is −O4.  If you do not specify the level (as in −fast −O) you get −fast −O3.  For separate compile and link steps: if you compile with −fast, then be sure to link with −fast.  It is a convenience option, and it chooses the fastest code generation option available on the compile-time hardware ( −cg87, −cg89, −cg92) an optimization level ( −O3), a set of in-line expansion templates, the −fnonstd floating-point option, and the −dalign option.  For detail on the constituent options of −fast , see the FORTRAN User’s Guide .  Do not use this option for programs that depend on IEEE standard exception handling; you can get different numerical results, premature program termination, or unexpected SIGFPE signals. 

−fnonstd Do nonstandard initialization of floating-point arithmetic hardware.   By default, IEEE 754 floating-point arithmetic is nonstop and underflows are gradual.  Specifying −fnonstd during the link step is like having the following at the start of a main program. 

call nonstandard_arithmetic()
i = ieee_handler ("set", "common", SIGFPE_ABORT )

The nonstandard_arithmetic() makes underflows always produce zero rather than a possibly subnormal number, as the IEEE standard requires.  This may be faster.  See ieee_functions(3m). 

The −fnonstd option enables hardware traps for floating-point overflow, division by zero, and invalid operation exceptions.  These are converted into SIGFPE signals, and if the program has no SIGFPE handler, it aborts. See ieee_handler(3m). 

−F Apply the C preprocessor to files with the .F suffix and put the result in the file with the suffix changed to .f, but do not compile. 

−g Produce additional symbol table information for dbx(1) or debugger(1).  For separate compile and link steps: if you compile with −g , then be sure to link with −g .  The −g no longer overrides −O, but it does override the automatic inlining usually provided by −O4. 

−G SunOS 5.0 only: Build a shared library. Tell the linker this is for a shared dynamic library.

−h name SunOS 5.0 only: Name a Shared Dynamic Library. The −hname option assigns a name to a shared dynamic library.  This provides a way to have versions of a shared dynamic library.  In general, the name after −h should be exactly what you have after the −o.  The space between the -h and name is optional. This is a loader option.  The compile-time loader assigns the specified name to the shared dynamic library being created, and it records the name in the library file as the intrinsic name of the library. If there is no −hname option, then no intrinsic name is recorded in the library file.  Every executable file has a list of needed shared library files. When the run-time linker links the library into an executable file, the linker copies the intrinsic name from the library into that list of needed shared library files. If there is no intrinsic name of a shared library, then the linker copies the path of the shared library file instead.

−help Display an equivalent of this list of options. 

−i2 Make  2 be the default size in bytes of integer and logical constants and variables.  But for INTEGER∗n Y, the Y uses n bytes, regardless of −i2

−i4 Make  4 be the default size in bytes of integer and logical constants and variables.  But for INTEGER∗n Y, the Y uses n bytes, regardless of the −i4 option. 

−Ipath Insert path at the beginning of the list of directories in which to search for “#include” files.  Example: “f77 −I/usr/applib growth.f” searches for “#include” files in /usr/applib.  This path and directory list is for “#include” files with relative path names, not absolute path names.  This option applies only to source files with a .F suffix.  Note that this does not affect the FORTRAN INCLUDE statement, only the C preprocessor #include directive. 
Search order for the #include files:
1. The directory containing the source file
2. Directories named in −I options
3. Directories in the default list.
The default list for the −Ipath option:
SunOS 5.0

If you installed in the standard location, the list is: /opt/SUNWspro/SC2.0.1/include/f77  /usr/include
If you installed in /my/dir/, the list is: /my/dir/SUNWspro/SC2.0.1/include/f77  /usr/include

SunOS 4.1.x

If you installed in the standard location, the list is: /usr/lang/SC2.0.1/include/f77  /usr/include
If installed in /my/dir/, the list is:
/my/dir/SC2.0.1/include/f77  /usr/include

−libmil Select the best in-line templates for the floating-point option and operating system release available on this system. 

−lx Link with library libx.a.  Direct the loader to link with object library libx.a, where x is a string.  Examples: −lm links in math library libm.a; −lV77 links in the library libV77.a.  The library libm.a has a lot of the IEEE math routines; this gives optimum performance for most programs, but is application dependent.  Library libV77.a has VMS routines in conflict with Sun routines.  See ld(1).  Order on the Command Line: Place −lx options after any .f, .F, or .o files.  If you call functions in liby, and they reference functions in libx, then place libx after liby.  Search Order : The loader ld searches paths for the libraries specified by the −lx option in the following order:
SunOS 5.0:

1. /opt/SUNWspro/lib/
2. /opt/SUNWspro/SC2.0.1/
3. /usr/ccs/lib/
4. /usr/lib/

SunOS 4.1.X:

1. /usr/lang/SC2.0.1/
2. /usr/lib/

Shared Libraries Location : For SunOS 5.0, the shared libraries provided by SunPro are located in the /opt/SUNWspro/lib/ directory.  For SunOS 4.1.x they are in the /usr/lang/2.0.1/ directory. 

−Ldir Add dir to list of directories for library routines (linking using ld(1)).  Do not use the −Ldir option to specify /usr/lib or /usr/ccs/lib, since they are searched by default, and including them here prevents using the unbundled libm. 

−misalign Allow for misaligned data in memory.  Use this option only if you get a warning that COMMON or EQUIVALENCE statements cause data to be misaligned.  SLOW: With −misalign, f77 generates much slower code for references to dummy arguments. If you can, you should recode the indicated section instead of recompiling with this option. 
Example:

INTEGER∗2   I(4)
REAL        R1, R2
EQUIVALENCE (R1, I(1)), (R2, I(2))
END

The above program shows the following error message. 

"misalign.f", line 4: Error: bad alignment for "r2"
                      forced by equivalence

For separate compile and link steps: if you compile with −misalign, then be sure to link with −misalign. 

−native Generate code for the best floating-point hardware available on the machine you are using to compile. 

−nolib Do not automatically link with any system or language library; that is do not pass any −lx options on to ld.  The default is to link such libraries into the executables automatically, without the user specifying them on the command line.  The system and language libraries are required for final execution. It is the users responsibility to link them in manually. This provides complete control (and with control comes responsibility) for the user.  The −nolib option makes it easier to link one of these libraries statically. For example, an application linked dynamically with libF77 fails on a machine that has no libF77.  You can avoid such failure by shipping libF77 to your customer, or by linking it statically. 
Example: Link libF77 statically and link libc dynamically.

f77 −nolib any.f −Bstatic −lF77 −Bdynamic −lm −lc

There is no dynamic libm; it is always linked statically. 
Order for −lx options is important. Use the order shown in the example. 

−nolibmil Reset −fast so that it does not include in-line templates. Use this after the −fast option: f77 -fast -nolibmil  ... 

−noqueue No license queue. When you use this option, if no license is available, the compiler returns without queuing your request and without doing your compile.  A nonzero status is returned for testing in make files. 

−N[cdlnqsx]nnn
Make static tables in the compiler bigger. f77 complains if tables overflow and suggests you apply one or more of these flags.  These flags have the following meanings:

−Nc Maximum depth of nesting for control statements (for example, DO loops).  The default is 25. 

−Nd Maximum depth of nesting for data structures and unions.  The default is 20. 

−Nl Maximum number of continuation lines for a continued statement. The default is 19 (1 initial and 19 continuation). 

−Nn Maximum number of identifiers.  The default is 2039. 

−Nq Maximum number of equivalenced variables.  The default is 500. 

−Ns Maximum number of statement numbers.  The default is 2000. 

−Nx Maximum number of external names (common block names, subroutine and function names).  The default is 1000. 

−o output Name the final output file output instead of a.out. 

−oldldo Old list-directed output.  Omit the blank that starts each record for list-directed output.  This is a change from some previous releases.  The default behavior is to provide that blank, since the FORTRAN Standard requires it.  This is a compile option; that is, each .o file could have its own −oldldo option.  See also the FORM=’PRINT’ option of OPEN. 

−oldstruct Align structures as in prior releases.  Use this to read unformatted files created with older versions of f77, which is different from either the default way or the VMS way.  If you use both −oldstruct and −xl, then you get −oldstruct. 

−onetrip Compile DO loops so they are performed at least once if reached.  f77 FORTRAN DO loops are usually not performed at all if the upper limit is smaller than the lower limit, unlike some FORTRAN 66 implementations of DO loops. 

−O[1234] Optimize the object code. The −g option no longer suppresses −On. 

−O Optimize at the level most likely to give close to the maximum performance for most realistic applications.  (currently −O3)

−O1 Do only the minimum amount of optimization (peephole).  This is postpass assembly-level optimization. 

−O2 Do basic local and global optimization.  This level usually gives minimum code size.  The details are: induction variable elimination, local and global common subexpression elimination, algebraic simplification, copy propagation, constant propagation, loop-invariant optimization, register allocation, basic block merging, tail recursion elimination, dead code elimination, tail call elimination, and complex expression expansion.  Do not use −O2 unless −O3 results in excessive compilation time, running out of swap space, or excessively large code size. 

−O3 Besides what −O2 does, this optimizes references and definitions of external variables. 

−O4 Besides what −O3 does, this does automatic inlining of functions in the same file. Code usually runs faster, but for some codes, −O4 make them run slower.  −g suppresses automatic inlining.  In general, −O4 results in larger code. 

−p Prepare the object files for profiling with prof(1).  This makes profiles by procedure, showing the number of calls to each procedure and the percent of time used by each procedure.  For separate compile and link steps, if you compile with −p, then be sure to link with −p. 

−pg Prepare the object files for profiling with gprof(1).  This makes profiles by procedure, showing the number of calls to each procedure and the percent of time used by each procedure.  This produces counting code in the manner of −p, but invokes a runtime recording mechanism that keeps more extensive statistics and produces a gmon.out file at normal termination.  You can then generate an execution profile using gprof(1).  For separate compile and link steps, if you compile with −pg, then be sure to link with −pg. 

−pic Produce position-independent code.  Each reference to a global datum is generated as a dereference of a pointer in the global offset table.  Each function call is generated in pc-relative addressing mode through a procedure linkage table.  The size of the global offset table is limited to 8K on SPARC processors.  For any one program, use all −pic or all −PIC. 

−PIC Similar to −pic, but allows the global offset table to span the range of 32-bit addresses.  Use it  for those rare cases with too many global data objects for −pic.  For any one program, use all −pic or all −PIC. 

−pipe This is for compatibility with older versions.  This is recognized so as to not break any make file, but it does not do anything. 

−Qoption prog opt
Pass option opt to program prog.  The opt must be appropriate to prog and may begin with a minus sign.  prog can be as, fbe, cg, cpp, f77pass1, iropt, inline, ld, or ratfor.  For SunOS 5.0, the assembler is fbe.  For SunOS 4.1.x, it is as. 
Example: Load Map (SunOS 5.0).     f77 -Qoption ld -m any.f
Example: Load Map (SunOS 4.1.x). f77 -Qoption ld -M any.f

−Qpath pathname
Insert directory pathname into the compilation search path (to use alternate versions of programs invoked during compilation).  This path will also be searched first for certain relocatable object files that are implicitly referenced by the compiler driver (such files as ∗crt∗.o and bb_link.o ). 

−Qproduce sourcetype
Produce source code of the type sourcetype, where sourcetype can be one of:

.o Object file from as(1). 

.s Assembler source (from f77pass1, inline, or cg). 

−r4 Treat DOUBLE PRECISION as REAL, and treat DOUBLE COMPLEX as COMPLEX.  Adjusts declared variables.  Note that REAL∗n uses n bytes, regardless.  This option may be deleted in a future release. 

−r8 Treat REAL as DOUBLE PRECISION.  Adjusts declared variables, literal constants, and intrinsic functions.  Sets the default size for REAL, INTEGER, and LOGICAL to 8, for COMPLEX and DOUBLE PRECISION to 16, and for DOUBLE COMPLEX to 32.  If you specify the size, then the default size is not used. For example, with REAL∗n R, INTEGER∗n I, and COMPLEX∗n Z, the sizes of R, I, and Z are not affected by −r8.  Intrinsic functions are interpreted accordingly.  For example: SQRT is treated as DSQRT.  If you select both −r8 and −i2, then results are unpredictable. 

−R path SunOS 5.0 only: Library paths. Store path in the output object file and pass path to the run-time linker, ld(1).  path is a colon-separated list of directories used to specify library search directories to the run-time linker.  If both LD_RUN_PATH and the −R option are specified, the libraries in the −R list are scanned first. Use this if you want to ship an executable that your users can run without any special option for paths to your dynamic libraries. 

−s Strip the executable file of its symbol table. 

−sb SourceBrowser— Produce table information for the SourceBrowser. 

−sbfast Produce only table information for the SourceBrowser and stop.  Do not assemble, link, etc. Do not make object files. 

−silent Prompt only. While compiling, if there are no warnings or errors, then display only the prompt.  The default is to display the entry names and the file names. 

−S Assembly Source. Compile the named programs and leave the assembly language output on corresponding files suffixed .s (no .o file is created). 

−temp=dir
Set directory for temporary files to be dir. 

−time Report execution times for the various compilation passes. 

−u Make the default type of variables undefined rather than using FORTRAN implicit typing.  This does not override any IMPLICIT statements or explicit type statements. 

−U Do not convert upper-case letters to lower-case, but leave them in the original case.  The default is to convert upper-case letters to lower-case, except within character-string constants. 

−v Print the name of each pass as the compiler executes. 

−V Print the name and version ID of each pass as the compiler executes. 

−w66 Suppress only messages generated by programs using obsolete FORTRAN 66 features.  This option may be deleted in a future release. 

−w Suppress warning messages.  Warnings are still issued if a user-specified option overrides all or part of another user-specified option. 

−xF SunOS 5.0 only: Function-level reordering. Enable performance analysis of the executable using the SPARCworks Analyzer and Debugger (see analyzer(1) and debugger(1) man pages).  This option also causes the assembler to generate some debugging information (in the object file) necessary for data collection.  Generate code that can be reordered at the function level. This places each function from the file and into a separate section.  Example: Functions fcn1() and fcn2() are placed in the sections .text%fcn1 and .text%fcn2.  You can control the order of functions in the final executable by using this −xF option and the loader −Mmapfile option.  Within the map file, if you include the flag O (that’s an oh, for order, not a zero) in the string of segment flags, then the static linker ld will attempt to place sections in the order they appear in the map file.  See Linker and Libraries Manual SunOS 5.0 for more on this option, segment flags, and map files. 

−xlicinfo License information. Returns license information about the licensing system.  In particular, it returns the name of the license server and the user IDs of users who have licenses checked out.  When you give this option, the compiler is not invoked and a license is not checked out. 

−xl[d] Extended Language.  You get most of the VMS FORTRAN features automatically, with no special option needed.  But where source code could be either VMS FORTRAN or SPARCompiler FORTRAN, the −xl makes the compiler interpret it as VMS FORTRAN.  These −xl features are:

Unformatted record size in bytes,
VMS-style logical file names,
Quote (") character introducing octal constants,
Backslash (\) character within character constants,
A nonstandard form of the PARAMETER statement,
Alignment of structures as in VMS FORTRAN.

−xld Besides what −xl does, this allows debugging statements. If there is a D or d in column one, then −xld causes them to be compiled;  otherwise, they’re treated as comments. 

−xs SunOS 5.0 only: Symbol Tables for dbx.  Revert to the old way of implementing symbol tables.  For this older way, if you move the executables, you must also move the source files, but you do not need to move the object files. Also, the loader links more slowly and dbx initializes more slowly.  For comparison, with the newer way, which is now the default, the loader links faster and dbx initializes faster.  If you move the executables, you must move both the source files and the object ( .o ) files.  This option passes the −s option to the assembler, which does the above action. 

−Xlist Cross-Reference.  Make a cross-reference and line-numbered listing of the source files.  The cross-reference  shows the file name, subprogram name, and line number where each identifier is declared, set, and referenced.  Output is to a file with a name like the first file name but with
a .lst extension.  For example, f77 −Xlist file1.f file2.f file3.f puts the cross-reference listing onto the file file1.lst. 

Other arguments are taken to be either linker option arguments, or names of
f77-compatible object programs, typically produced by an earlier run, or libraries of routines that are f77-compatible.  These programs, together with the results of any compilations specified, are linked (in the order given) to produce an executable program in the file specified by the −o option, or in a file named a.out if the −o option is not specified. 

ENVIRONMENT

PATH Before you use the f77 command, change your search path.  For csh , this is usually done in the .cshrc file, with set PATH = at the beginning of a line.  The path is different for SunOS 5.0 and SunOS 4.1.x. 
SunOS 5.0:

If you installed into the standard, default directory, then insert /opt/SUNWspro/bin at the beginning of your search path. 
If you installed into a nondefault directory such as /your/dir, then insert /your/dir/SUNWspro/bin at the at the beginning of your search path. 

SunOS 4.1.X:

If you installed into the standard, default directory, then insert /usr/lang at the beginning of your search path. 
If you installed into a nondefault directory such as /your/dir, then insert /your/dir at the beginning of your search path. 

MANPATH
Before you use the man command for f77 man pages, set the man pages path.  This is usually done in the .cshrc file, in a line with set MANPATH = at the start.  The path is different for SunOS 5.0 and SunOS 4.1.x. 
SunOS 5.0:

If you installed into the standard, default directory, then insert /opt/SUNWspro/man near the beginning of your man path. 
If you installed into a nondefault directory such as /your/dir, then insert /your/dir/SUNWspro/man near the beginning of your man path. 

SunOS 4.1.X:

If you installed into the standard, default directory, then insert /usr/lang/man near the beginning of your man path. 
If you installed into a nondefault directory such as /your/dir, then insert /your/dir/man near the beginning of your man path. 

LD_LIBRARY_PATH
You may have to set the environment variable LD_LIBRARY_PATH.  The path is different for SunOS 5.0 and SunOS 4.1.x. 
SunOS 5.0:

If you installed into the standard, default directory, then insert /opt/SUNWspro/SC2.0.1 at the beginning of this path. 
If you installed into a nondefault directory such as /your/dir, then insert /your/dir/SUNWspro/SC2.0.1 at the beginning of this path list. 

SunOS 4.1.X:

If you installed into the standard, default directory, then insert /usr/lang/SC2.0.1 at the start of this path list. 
If you installed into a nondefault directory such as /your/dir, then insert /your/dir/SC2.0.1 at the beginning of this path list. 

The 2.0.1 part varies with the release of the set of compilers. 

FILES

Selected major files used by the compiler

a.out Executable output file

file.a Library of object files

file.d Test coverage input file for tcov(1)

file.f FORTRAN source file

file.F FORTRAN source file for cpp(1)

file.for FORTRAN source file

file.il Inline expansion file

file.o Object file

file.r Ratfor source file

file.s Assembler source file

file.S Assembler source for cpp(1)

file.tcov Output from tcov(1)

/usr/lib/libc.a Standard C library, see intro(3)

/usr/lib/libp/libc.a Profiling library, see intro(3)

/tmp/∗ Compiler temporary files

mon.out File produced for analysis by prof(1)

gmon.out File produced for analysis by gprof(1)

SEE ALSO

asa(1),  cc(1),  dbx(1),  fpr(1),  fsplit(1),  gprof(1),  ld(1),  perror(3f),  prof(1),  tcov(1)

FORTRAN User’s Guide

FORTRAN Reference Manual

Numerical Computation Guide

Programming Utilities

Debugging Tools

Profiling Tools

Programming Libraries

Linker and Libraries Manual The FORTRAN User’s Guide has many more examples on such things as the options, making and using libraries, floating point, debuggers, porting, profiling, performance tuning, and the C-FORTRAN interface.  The FORTRAN Reference Manual has examples for every statement type, and for almost every function and subroutine. 

DIAGNOSTICS

The diagnostics produced by f77 itself are intended to be self-explanatory.  Occasional messages may be produced by the linker.  The error messages are listed in perror(3f).  See also the FORTRAN User´s Guide and the FORTRAN Reference Manual . 

Sun Release 4.1  —  Last change: 1 September 1992

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026