Program Unit Catalog List Files

Program Unit Catalogs are created by the compiler to store the FCE for the executable. Each execution of the Intel® Fortran Compiler command generates critical FCE information, primarily the module information for Fortran95 programs, and places it in the program unit catalog file (PUCF) work.pc in the current compilation directory. This file contains long-lived information and should not be deleted unless it is planned to recompile the entire application from scratch. The compiler adds the PUCF filename to the list contained in a program unit catalog list file (PUCLF). The default PUCLF file in the installation /bin directory is: /opt/intel/compiler50/ia32/bin/ifc.pcl or /opt/intel/compiler50/ia64/bin/efc.pcl. At installation, you will see the following entries in this file:

IA-32 compiler:

work.pc                                                                       the PUCF in the user’s current directory
<installation directory>/bin/ifc.pcl
     the PUCF for the portability library   

Itanium(TM) compiler:

work.pc                                                                       the PUCF in the user’s current directory
<installation directory>/bin/efc.pcl
     the PUCF for the portability library   

Specifying the Name and Path of the PUCLF

The default PUCLF is shared by all users of the compiler installation. Therefore, you may prefer to specify a different name for the PUCLF file with -cl. For example, to compile file.f in the current directory, type the following:

IA-32 compiler:

ifc -cl,myfile.pcl file.f

Itanium compiler:

efc -cl,myfile.pcl file.f

This will add to or create a PUCLF myfile.pcl in the current directory. You may add entries for additional PUCF files with a text editor, or by specifying this PUCLF (including the path) in the -cl parameter of a subsequent compilation.  

The order of program unit catalogs within a program unit catalog list file determines the order in which the compiler searches for catalogs during compilation. You can share FCEs among modules with non-concurrent compilations. For example, if two catalogs contain the module referenced in the USE statement, the compiler selects the first version referenced. However, within a single catalog, the names of program units must be unique. Violating this restriction can cause some of your programs to be built incorrectly.

You can specify the file path for external modules in a program unit catalog list file. You can create or modify this file with any text editor to give access to the modules referenced in the USE statements.

Guidelines for the PUCLF

Observe these guidelines when creating or editing a program unit catalog list file:

By default the compiler creates a catalog list file named work.pcl with the following entry in it: work.pc. The default PUCLF name can be changed with the -cl option parameter either on the command line or in the configuration file (ifc.cfg or efc.cfg).

To use modules compiled in other directories, you can explicitly create your own program unit catalog list file and use whatever file name you want; for example, mywork.pcl.

Your catalog list file mywork.pcl might contain the following:

work.pc
/home/johndoe/myproject/work.pc
/home/janedoe/yourproject/work.pc

Note:
Make sure to never use blanks in the directory names.