During the linking of a program, the relocatable binary code that has been
output by the compiler is linked with routines from the Fortran 95 library
and from other relocatable binary files and libraries specified by the user.
There are a number of error and warning messages that can be output by the
linker, most of which are self-explanatory.
A commonly occurring message is one that reports that a routine is missing. A
name can appear as "missing" for either of the following reasons:
A routine of the specified name is not available to the linker because:
an appropriate LIBRARY directive has not appeared in the source program or
the name of a library routine has been misspelt. A commonly occurring error is
the use of the letter O instead of the digit 0 in calls to library routines,
for example, the use of MO1ANF instead of M01ANF.
The name was intended to be an array element name but has not been dimensioned.
It has then been used only in a function reference, a CALL statement or on the
right hand side of an assignment statement, for example:
B = A(3)
C = F(A(I+J))
Fortran is defined in such a way that each of the above would generate a
reference to a function called A. The name A would be out put by the loader as
If the "missing" name corresponded to a routine in a library compiled in CHECK
mode, a run-time error might occur saying that the routine had been called
inconsistently. In the worst case, an appropriate routine with consistent
arguments would be loaded and the program would run with unpredictable results!
Programs with missing routines can be executed up to the point at which a
missing routine is called.