NOTE: For more information on Itanium library paths corresponding to the above examples, see Table 23 (page 51).
When the linker finds a reference in your program to a name that is not defined in the program (for example, the DOT_PRODUCTintrinsic), it looks to resolve it in the default libraries. If it cannot find the name in the default libraries, the link will fail unless the command line specifies additional, non default libraries. This section discusses how to link to nondefault libraries (including shared libraries) and library search rules.
Additional HP Fortran libraries
HP Fortran provides the following two libraries you can link with Fortran programs:
•/opt/fortran90/lib/libU77.aon
•/opt/fortran90/lib/libblas.a: The Basic Linear Algebra Subroutine (BLAS) library, which provides routines that perform common vector and matrix operations. Programs that reference routines in this library must be compiled with the +lblasoption. For more information, see “Calling BLAS library routines” (page 105).
Both the libU77and BLASlibraries are described in the HP Fortran Programmer’s Reference.
Linking to shared libraries
Many HP Fortran libraries as well as
The difference between a shared library and an archive library is that the linker does not actually link the code in a shared library with your program. Instead, any references that your program makes to entities in the shared library are resolved at
The advantages of linking shared libraries are:
•The executable is smaller than it would be if linked with an archive file because the executable file is
•Using shared libraries ensures that you always get the most recent version of the library. If you link with an archive version, you get the version that was available at
The disadvantage of linking with a shared library is that it creates a dependency between the library and the program; both the shared library and the program must always be installed together on the same system. By contrast, linking with an archive library makes the executable program independent of the library to which it was linked. Also, programs that make frequent calls to library routines may run more slowly when linked to shared libraries.
By default, the linker selects the shared version of a library, if one is available; otherwise, it selects the archive version.
Linking HP Fortran programs 53