Previous | Contents | Index |
Compile the PMDF configuration, alias, mapping, security, system wide filter, circuit check, and option files into an OpenVMS shareable image.
PMDF CNBUILD
Command Qualifiers Defaults /IMAGE_FILE=file-spec /IMAGE_FILE=PMDF_CONFIG_DATA /MAXIMUM /NOMAXIMUM /OPTION_FILE=file-spec /OPTION_FILE=PMDF_OPTION_FILE /SIZES /NOSIZES /STATISTICS /NOSTATISTICS
None.
None.
The CNBUILD utility compiles the textual configuration, option, mapping, security, conversion, system wide filter, and alias files into a single OpenVMS shareable image. The resulting image,
PMDF_CONFIG_DATA
(usuallyPMDF_EXE:CONFIG_DATA.EXE
), can then be installed with the OpenVMSINSTALL
utility.Whenever a component of PMDF (e.g., a channel program) must read any possibly compiled configuration component, it first checks to see if the
PMDF_CONFIG_DATA
image exists. If it does, the image is merged into the running program using the OpenVMS RTL routineLIB$FIND_IMAGE_SYMBOL
. There are five exceptions to this rule. The first isCNBUILD
itself, which for obvious reasons always reads the text files and never tries to load the image form of the configuration data. The remaining four exceptions areTEST/REWRITE
, andTEST/MAPPING
, which can all be instructed with the/NOIMAGE_FILE
qualifier to ignore any compiled image information. This facility inTEST/REWRITE
is useful for testing changes prior to compiling them.The reason for compiling configuration information is simple: performance. The only penalty paid for compilation is the need to rebuild and reinstall the file any time the configuration or alias files are edited. Also, be sure to restart any channels or components which load the configuration data only once when they start up (e.g., the PMDF multithreaded TCP SMTP server, the POP or IMAP servers, FAX_RECEIVE, BITNET channels, or, if using PMDF-MR for MR TS replacement, the All-in-1 Sender, All-in-1 Fetcher, and MailWorks server).
Once you begin to use a compiled configuration, it will be necessary to recompile the configuration every time changes are made to any of the following files: the PMDF configuration file,
pmdf.cnf
(or any files referenced by it); the system alias file,aliases.
; the system mapping file,mappings.
; the PMDF option file,option.dat
; the conversions file,conversions.
, the system wide filter file,pmdf.filter
, the circuit check configuration file,circuitcheck.cnf
, or the security configuration file,security.cnf
. Until such time that the configuration is recompiled and reinstalled, changes to any of these files will not be visible to the running PMDF system.See Chapter 8 for further details on the use of compiled configurations.
/IMAGE_FILE=file-spec
/NOIMAGE_FILE
By default,CNBUILD
creates as output the filePMDF_CONFIG_DATA
. With the/IMAGE_FILE
qualifier, an alternate file name may be specified. When the/NOIMAGE_FILE
qualifier is specified,CNBUILD
does not produce an output file. This qualifier is used in conjunction with the/OPTION_FILE
qualifier to produce as output an option file which specifies table sizes adequate to hold the configuration required by the processed input files./MAXIMUM
/NOMAXIMUM (default)
The filePMDF_TABLE:maximum.dat
is read in addition toPMDF_OPTION_FILE
when/MAXIMUM
is specified. This file specifies near maximum table sizes but does not change any other option file parameter settings. Only use this qualifier if the current table sizes are inadequate. The/NOIMAGE
and/OPTION_FILE
qualifiers should always be used in conjunction with this qualifier---it makes no sense to output the enormous configuration that is produced by/MAXIMUM
, but it does make sense to use/MAXIMUM
to get past size restrictions in order to build a properly sized option file so that a properly sized configuration can be built with a subsequentCNBUILD
invocation./OPTION_FILE[=file-spec]
/NOOPTION_FILE (default)
CNBUILD
can optionally produce an option file that contains correct table sizes to hold the configuration that was just compiled (plus a little room for growth). The/OPTION_FILE
qualifier causes this file to be output. By default, this file is the file pointed to by thePMDF_OPTION_FILE
logical, normallyPMDF_TABLE:option.dat
. The value on the/OPTION_FILE
qualifier may be used to specify an alternate file name. If the/NOOPTION_FILE
qualifier is given, then no option file will be output.CNBUILD
always reads any option file that is already present via thePMDF_OPTION_FILE
logical name; use of this qualifier will not alter this behavior. However, use of the/MAXIMUM
qualifier causesCNBUILD
to read PMDF options from thePMDF_TABLE:maximum.dat
in addition to readingPMDF_OPTION_FILE
. This file specifies near maximum table sizes. Only use this qualifier if the current table sizes are inadequate, and only use it to create a new option file. The/NOIMAGE
qualifier should always be specified when/MAXIMUM
is specified since a maximum-size image would be truly enormous and extremely wasteful./SIZES
/NOSIZES (default)
The/SIZES
qualifier instructsPMDF CNBUILD
to output information on the sizes of the elements of the uncompiled configuration./STATISTICS
/NOSTATISTICS (default)
The /STATISTICS qualifier instructsCNBUILD
to output information on how much of the various tables in the compiled configuration were actually used to store data. These numbers give a rough measurement of the efficiency of the compilation, and may indicate whether or not an additional rebuild with the/OPTION_FILE
qualifier is needed.
#1 |
---|
$ PMDF CNBUILD $ INSTALL REPLACE PMDF_CONFIG_DATA |
Above are the standard commands used to regenerate and reinstall a compiled configuration. After compiling the configuration, install it with the DCL INSTALL command and then restart any programs which may need to reload the new configuration. (For instance, it is necessary to restart the PMDF multithreaded TCP SMTP server with the "PMDF RESTART SMTP" command after recompiling the configuration.)
#2 |
---|
$ PMDF CNBUILD/NOIMAGE_FILE/OPTION_FILE/MAXIMUM $ PMDF CNBUILD $ INSTALL REPLACE PMDF_CONFIG_DATA |
Use the sequence of three commands shown above when you encounter the infamous "No room in table" error message.
Previous | Next | Contents | Index |