DECset________________________________________ DIGITAL Release Notes for MMS Version V3.2-01 August 1997 These release notes for DIGITAL Module Management System Version 3.2 for DIGITAL OpenVMS VAX and DIGITAL OpenVMS Alpha contain important general information, new and changed features, current restrictions and documentation notes. Operating System and Version: OpenVMS VAX, Versions 6.0 - 7.1 OpenVMS Alpha, Versions 6.1 - 7.1 DECwindows Motif, Versions 1.1 - 1.2 Software Version: DECset for OpenVMS, Version 12.2 Software Version: DIGITAL Module Management System for OpenVMS Systems, Version 3.2 Digital Equipment Corporation Maynard, Massachusetts __________________________________________________________ August 1997 While DIGITAL or EDS believes the information included in this publication is correct as of the date of publication, it is subject to change without notice. Possession, use, or copying of the software described in this publication is authorized only pursuant to a valid written license from DIGITAL, an authorized sublicensor, or the identified licensor. Digital Equipment Corporation or EDS makes no represen- tations that the interconnection of its products in the manner described in this publication will not infringe existing or future patent rights, nor do the descriptions contained in this document imply the granting of licenses to make, use, or sell equipment or software in accordance with the description. © Digital Equipment Corporation 1994, 1995, 1996, 1997. All rights reserved. © Electronic Data Systems Limited 1995, 1996, 1997. The following are trademarks of Digital Equipment Corporation: DEC Ada, DEC BASIC, DEC C, DEC COBOL, DECdocument, DECnet, DEC Pascal, DECset, DECwindows, DIGITAL, DIGITAL Fortran, eXcursion, OpenVMS, VAX, VAX BLISS-32, VAXcluster, VAX COBOL, VAX DOCUMENT, and the DIGITAL logo. All other trademarks and registered trademarks are the property of their respective holders. This document was prepared using VAX DOCUMENT, Version 2.1. ________________________________________________________________ Contents Preface.................................................. v 1 General Information 1.1 Introduction.................................... 1-1 1.2 Installation Requirements....................... 1-1 2 New Features 2.1 DIGITAL Fortran (FORTRAN 90) Support............ 2-1 2.2 New Macros...................................... 2-1 2.3 Enhanced CDD/Plus Support....................... 2-2 2.4 Lexical Processing.............................. 2-3 2.5 COBOL .LIB Support.............................. 2-3 2.6 Support for Other Kinds of Sources and Targets.. 2-3 2.7 Enhancements from V3.1.......................... 2-6 2.7.1 %MMS-I-GWKACTNOUPD Changed to a Warning ...... 2-7 2.7.2 C++ Support .................................. 2-7 2.7.3 Update Final Build Status .................... 2-7 2.8 Enhancements from V3.0.......................... 2-7 2.8.1 .IGNORE_ALL Directive Added .................. 2-7 2.8.2 Small Screen Support ......................... 2-7 3 Problems Fixed iii 4 Known Problems 4.1 MMS Description File Generation Problems........ 4-3 4.2 Documentation Problems.......................... 4-11 5 Restrictions 6 Reporting Problems and Suggestions Tables 1 Conventions .................................. vi iv ________________________________________________________________ Preface These release notes characterize the Version 3.2 release of DIGITAL Module Management System for DIGITAL OpenVMS systems. These notes contain information that either supplements or supersedes the information in the DECset documentation set. Intended Audience These release notes are intended for any user or system manager who needs information on MMS for the OpenVMS platform. Document Structure These release notes are organized as follows: o Chapter 1 contains general information about this release. o Chapter 2 contains a description of the new features. o Chapter 3 describes all problems resolved by the current release. o Chapter 4 describes all outstanding issues in the current release. o Section 4.2 describes all documentation problems. o Chapter 5 describes all restrictions. o Chapter 6 describes how to report problems. v Associated Documents For more information on MMS, refer to the following documents o DECset OpenVMS VAX V12.2 Software Product Description o DECset OpenVMS Alpha V12.2 Software Product Description o DECset Guide to Detailed Program Design for OpenVMS Systems o Using DECset for VMS Systems o Guide to DIGITAL Module Management System for OpenVMS Systems Sending DIGITAL Your Comments We welcome your comments on these release notes or on any other pieces of documentation. See Chapter 6 for details on how to contact DIGITAL with your comments. Conventions Table 1 lists the conventions used in these notes Table_1_Conventions_______________________________________ Convention__________Description___________________________ $ A dollar sign ($) represents the OpenVMS DCL system prompt. Ctrl/x The key combination Ctrl/x indicates that you must hold down the key labeled Ctrl while you press another key, for example, Ctrl/Y or Ctrl/Z or a pointing device button. boldface text Boldface text represents the introduction of a new term. monospace boldface Boldface monospace text represents text user input in interactive examples. (continued on next page) vi Table_1_(Cont.)_Conventions_______________________________ Convention__________Description___________________________ italic text Italic text represents book titles, parameters, arguments, and information that can vary in system messages (for example, Internal error number). UPPERCASE Uppercase indicates the name of a command, routine, the name of a file, the name of a file protection code, or the abbreviation of a system privilege. lowercase Lowercase in examples indicates that you are to substitute a word or value ____________________of_your_choice._______________________ vii 1 ________________________________________________________________ General Information The information in these release notes pertain to DIGITAL Module Management System Version 3.2. DIGITAL suggests that you upgrade your environment incrementally with each new release, but there is no technical requirement to do so. It is recommended that you review the release notes for each version because they capture important release- oriented information and advise you of changes between versions. 1.1 Introduction DIGITAL Module Management System Version 3.2 is a maintenance release. 1.2 Installation Requirements OpenVMS Alpha systems For a new installation of MMS the following is required: Global Pages 1000 Global Sections 6 Disk Blocks 6500 OpenVMS VAX systems For a new installation of MMS the following is required: Global Pages 600 Global Sections 8 Disk Blocks 4000 General Information 1-1 2 ________________________________________________________________ New Features The following enhancements were added in DIGITAL Module Management System for Version 3.2: 2.1 DIGITAL Fortran (FORTRAN 90) Support Default rules have been added for the .F90$MOD, .F90, .F77, and .F file types, and the default macros F90 and F90FLAGS have been added. See the file MMS$DEFAULT_ RULES.MMS for details. Support for DIGITAL Fortran has also been added to the Automatic Description File Generator. 2.2 New Macros Added special macro MMS$TARGET_SPEC, which is similar to the existing MMS$TARGET_NAME macro, but includes the file type. Added standard macro MMS$ARCH_NAME which is the value of the DCL lexical function F$GETSYI("ARCH_NAME") on the system on which MMS is processing the dependencies or actions. For example, you can use MMS$ARCH_NAME to conditionalize your description file: ALPHA_IS_ALPHA = 1 VAX_IS_VAX = 1 .ifdef $(MMS$ARCH_NAME)_IS_ALPHA IS_ALPHA = 1 .endif .ifdef $(MMS$ARCH_NAME)_IS_VAX IS_VAX = 1 .endif New Features 2-1 .ifdef IS_ALPHA ! Choose linker options file HELLO_OPT = hello_axp.opt .else HELLO_OPT = hello.opt .endif hello.exe : hello.obj $(HELLO_OPT) $(LINK) $(LINKFLAGS) $*/opt 2.3 Enhanced CDD/Plus Support Prior to CDD V4.3, CDD propagated revision dates between dependent entities; for example, when the CDD CHANGE command modified a field, the revision dates for records containing that field were also updated. In CDD V4.3 and later, CDD no longer propagates these new revision dates. The /CHANGE qualifier specified on a CDD/Plus entity directs MMS to also examine the revision times of the nested components. The CDD DEFINE command creates a new version of a CDD entity. This doesn't revise the dependent entities that are using old versions of the entity, but CDD attaches a "message" to them, so you can find and update them when appropriate. MMS helps you find and update them; if the /DEFINE qualifier is specified on a CDD/Plus entity, MMS treats the entity as "new" if such a message is attached to it. The defaults for these qualifiers are /NOCHANGE and /NODEFINE. The CDDFLAGS macro can be used to change these defaults; see the examples below. An explicit qualifier on an entity always overrides these defaults. Some typical uses of these qualifiers are: Example 1: A source file includes a record definition from the CDD. A.OBJ : A.PAS, CDD$TOP.B.C.D.E^/CHANGE/AUDIT="Example" $(PASCAL) $(PFLAGS) $(MMS$SOURCE) Example 2: Is equivalent to Example 1. 2-2 New Features CDDFLAGS = /CHANGE/NODEFINE/NOAUDIT A.OBJ : A.PAS, CDD$TOP.B.C.D.E^/AUDIT="Example" $(PASCAL) $(PFLAGS) $(MMS$SOURCE) Example 3: Rebuild a record if there are new versions of its fields. CDD$TOP.REC1^ : CDD$TOP.REC1^/DEFINE REC1.CDO dictionary operator define record ... Summary of qualifiers on CDD entities: /CHANGE MMS examines the nested components of the named entity and uses the most recent revision time as the revision time for the entity. /DEFINE MMS treats the named entity as "new" if a message is attached to it. See the documentation for CDD's DEFINE command and for the CDD$CHECK_MESSAGES routine. /AUDIT="..." Same as before. 2.4 Lexical Processing Lexical processing has changed slightly to allow any characters inside double-quotes ("..."). This allows DECnet Phase V filenames to be used, and MMS comment characters to be used in CDD audit strings. 2.5 COBOL .LIB Support A default rule has been added for fetching .LIB files (for COBOL COPY statements) from CMS. 2.6 Support for Other Kinds of Sources and Targets MMS currently supports sources and targets as files, CMS elements, OpenVMS library elements or CDD entities. MMS has builtin routines for establishing the date and time for each supported type. The new `kind macro provides the user with a mechanism to tell MMS how to establish the New Features 2-3 date and time for other non-supported sources and target types; "kind" can be any name chosen by the user. Example To use the feature, the user specifies `kind after the name of an object, for example: x.txt : x`SQL To get the date/time for name`kind, MMS executes the actions for the user supplied target `kind_GETTIME: `SQL_GETTIME : ! request sent to SQLDBA select $(TIMESTAMP_IN_VMS_FORMAT) from user_objects where object_name='$<'; The last line written by the `kind_GETTIME actions is taken as the object's date and time, which must be in a valid OpenVMS date/time format. Within the `kind_ GETTIME actions, $< is defined as the name of the object (everything before the "`"). If `kind_FIRST is a target in the description file, MMS will execute its actions before the `kind_GETTIME actions. This provides the user with a mechanism for performing any set-up steps necessary for the `kind_GETTIME actions to function. MMS uses a separate subprocess for each of the `kind_FIRST targets. An example for rebuilding based on the timestamp field of an SQL object is given below. Note, the `SQL_first target allows MMS to run SQLDBA only once to get the dates of the SQL objects; MMS executes the action lines in a second subprocess. all : emptab.txt invtab.txt write sys$output "Build complete" emptab.txt : emptab`SQL write sys$output "Fetching $* from SQL into $@" !... invtab.txt : invtab`SQL write sys$output "Fetching $* from SQL into $@" !... 2-4 New Features invtab`SQL : invtab.sqlsrc write sys$output "Using $< to rebuild SQL table $*" !... TIMESTAMP_IN_VMS_FORMAT = to_char(to_date(max(timestamp),- 'YYYY-MM-DD:HH24:MI:SS'),'YYYY-MM-DD:HH24:MM:SS') `SQL_first : ! start the SQLDBA utility sqldba mode=line connect system/manager `SQL_gettime : ! a request sent to SQLDBA select $(TIMESTAMP_IN_VMS_FORMAT) from user_objects where object_name='$<'; `SQL_last : ! exit the SQLDBA utility exit Here are some other examples: Example 1: Rebuild advent.obj based on the creation date /times of advent.c and stitch.h. advent.obj : advent.c`cdt stitch.h`cdt cc $*.c /obj=$@ `cdt_gettime : write sys$output f$file_attributes("$<","cdt") Example 2: Reboot cluster nodes if they haven't picked up (rebooted since) the new params.dat. nodes = LARRY`bbb MOE`bbb CURLY`bbb reboot : $(nodes) continue $(nodes) : params.dat - @sys$manager:reboot 'f$element(0,"`","$@") `bbb_gettime : $(echo) f$getsyi("boottime","$<") Example 3: Rebuild if ADA unit has changed. New Features 2-5 unit = `unit c_opt = $(mms$arch_name)c.opt gen_interf.exe : gen_interf$(unit) sub_interf$(unit) - interface.obj acs link/debug gen_interf,sub_interf - ! units interface.obj,$(c_opt)/options ! other files interface.obj : interface.c gen_interf$(unit) : acs recompile/wait gen_interf $(unit)_gettime : ! A unit's time is the most recent time of its closure temp_lis = "temp_" + f$getjpi(0,"pid") + ".lis" acs show program/output='temp_lis' $< @max_date.com 'temp_lis' delete/nolog 'temp_lis';* The file max_date.com (below) reads the file and writes the latest "Compiled:" date. $ max_date = f$file_attr("nl:","cdt") ! "17-NOV-1858..." $ tab = f$fao("!_") ! "" $ open/read file 'p1' $loop: read/end=eof file record $ if f$element(1,tab,record) .nes. "Compiled:" then goto loop $ date = f$extract(0,23,f$element(2,tab,record)) $ if f$cvtime(date) .gts. f$cvtime(max_date) then - max_date = date $ goto loop $eof: close file $ write sys$output max_date 2.7 Enhancements from V3.1 The following enhancements were added in DIGITAL Module Management System Version 3.1: 2-6 New Features 2.7.1 %MMS-I-GWKACTNOUPD Changed to a Warning The informational message %MMS-I-GWKACTNOUPD has been changed to a warning message %MMS-W-GWKACTNOUPD. 2.7.2 C++ Support Rules to support C++ have been added to the MMS default description file MMS$DEFAULT_RULES.MMS. 2.7.3 Update Final Build Status The final build status is now displayed in the Build Completed dialog box of the DECwindows interface to MMS. 2.8 Enhancements from V3.0 The following undocumented enhancements were added in DIGITAL Module Management System Version 3.0: 2.8.1 .IGNORE_ALL Directive Added The .IGNORE directive functionality was fixed to work as documented. It tells MMS to ignore warnings, errors and fatal errors that occur during the execution of an action line and to continue processing the description file. In previous versions of MMS, the .IGNORE directive also caused MMS to ignore errors in the description file itself. It will no longer do that. Some description files depended on the old functionality. In order to provide that functionality along with the correct .IGNORE functionality, a new directive has been added. .IGNORE_ALL tells MMS to ignore warnings, errors and fatal errors that occur during processing of the description file-for both action lines and with the description file itself. 2.8.2 Small Screen Support Support for various size video screens was added. The DECwindows interface to MMS has been modified to use X/Motif resource files to specify default values for DECwindows resources. These resources include text fonts, main window sizes and other X/Motif window resources. Using a resource file allows the DECwindows interface to be customized for various video displays. An example of this is when using eXcursion to display the DECwindows New Features 2-7 interface to MMS on a PC screen. Sometimes the PC screen is not large enough to entirely display all the windows of the MMS DECwindows interface. In this case, the sizes of the windows and the fonts used by MMS can be modified by specifying new values for the resources in the X/Motif resource file. The modified resource file for MMS is MMS$DW_DEFAULTS.DAT. This file is installed in the directory DECW$SYSTEM_ DEFAULTS. A user can override this resource file in the DECW$SYSTEM_DEFAULTS directory by creating a local copy of the resource file in the directory DECW$USER_ DEFAULTS. This local copy can then be modified to tailor the DECwindows interface to the user's requirements. Refer to the resource file for a list of the various resources that can be modified. 2-8 New Features 3 ________________________________________________________________ Problems Fixed The following bugs were fixed and restrictions removed in MMS Version 3.2: o Previously, MMS processed comment and continuation characters when they occurred inside quoted strings. Now, the lexer skips over the contents of quoted strings. Macro substitutions are still done as usual, anywhere on the line (they are done after lexing). o The $(MMS$SOURCE) macro and $< special macro in- correctly included a tilde (~) when a CMS element was referenced within a container (for example, DYNAPAR.OLB(CMSFILE.C~)). Now, these expand to the implicit CMS element specification, without the tilde, just like other CMS elements. o The $(MMS$CMS_GEN) and $& macros now have null expansions if the source file is not a CMS element (previously, their values remained until another CMS source element caused them to change). Similarly, $(MMS$LIB_ELEMENT) and $% are now null except when the target is a library module specification. o Messages issued by the MMS Description File Generator now include the leading percent (e.g., %MMS-W-GENERR ...). o Extraneous "Illegal attempt to redefine macro" diagnostics are no longer given for recursive MMS builds done using a DECset Environment Manager context that has MMS macro definitions. o A problem with /Skip_Intermediate processing that caused unnecessary recompilations has been fixed. Problems Fixed 3-1 o Bug 2 - Using the /Changed option naming a source of the first double-colon rule for a target caused MMS to execute all the double-colon rules for that target. o Bug 28 - The command MMS/DESCRIPTION:descrip/MACRO=("m1=1", "m2=1", "m3=1") causes MMS to run the description file as many times as you have macro definitions. Similarly, Bug 69 - MMS/DESC/CHANGED=(A,B,C,D,E) would run MMS 5 times. o Bug 52 - When attempting to fetch a header file from a CMS library, the MMS Description File Generator incorrectly named the files. 3-2 Problems Fixed 4 ________________________________________________________________ Known Problems The following problems are known to exist in MMS Version 3.2: o Bug 14 - MMS incorrectly splits long DCL commands. When using description files which produce long lines of DCL to be executed (over 255 characters) MMS incorrectly splits the line across continuation characters. For example, it may split symbols or lexical functions. Quoted strings are split correctly. Example: .first directory/date - sys$login, sys$login, sys$login, sys$login, - sys$login, sys$login, sys$login,- sys$login, sys$login, sys$login, sys$login, - sys$login, sys$login, sys$login,- sys$login, sys$login, sys$login, sys$login, - sys$login, sys$login, sys$login,- F$SEARCH("SYS$SYSTEM:DIRECTORY.EXE") will become: directory/date sys$login, sys$login, sys$login, sys$login, sys$login, sys$login, sys$login,sys$login, sys$login, sys$ login, sys$login, sys$login, sys$login, sys$login,sys$logi n, sys$login, sys$login, sys$login, sys$login, sys$login, sys$login,F$SEARCH(- <--------- Split here "SYS$SYSTEM:DIRECTORY.EXE") The problem can be avoided by being careful when arranging DCL commands which are over 250 characters long. Use short symbols to replace lexical functions and use quoted strings to replace any split symbols. Known Problems 4-1 o Bug 15 - Restriction on size of search list MMS will propagate to the subprocess. The problem is not really within MMS, but rather in DCL, which has an undocumented restriction on the size of a process logical name search list that can be successfully copied to a subprocess. DCL's SPAWN command would show the message: %DCL-W-SYMTOOLNG, symbol is too long to copy to subprocess The problem can be worked around by using several smaller logical name search lists, or by putting the logical names in a job-wide logical name table, which is shared with (not copied to) the subprocess. o Bug 20 - MMS issues an error while trying to open file that can't be opened. If an output or list file is specified, and MMS can't write to the directory, there are two problems: 1. The only error issued is an MMS "can't open file" error. No lower level error with more detail is issued. 2. The file is incorrectly identified as "dev:[dir]file.ext;." not as "dev:[dir]file.ext;" Unfortunately, there is no workaround to this problem which effects both the command line and DECwindows interface. o Bug 42 - Installation: FMS related linker warnings when DECwindows is not installed. Installing MMS on systems without DECwindows, but with FMS, may cause linker warnings to occur. The Link-time Warnings are generated at installation time due to undefined FMS symbols, the warnings include: fdv$$plidispatch sys$common:[syslib]starlet.olb fdv$$plitrm sys$common:[syslib]starlet.olb The warnings can safely be ignored. 4-2 Known Problems 4.1 MMS Description File Generation Problems o The File Generator Sources, Additional Link Libraries and Options Files maybe too large to fit on a small display screen. o Bug 30 - The MMS Description File Generator generates a nonsensical COMPLETE_APPLICATION rule. The automatic Description File Generator can generate the following nonsensical rule: !++ ! Complete application - default build item !-- COMPLETE_APPLICATION depends_on - CONTINUE Note that there is no source specified in the rule and that the action doesn't do anything. o Bug 34 - INCLUDE/LIBRARY files named with "$" are ignored. INCLUDE/LIBRARY files with embedded dollar signs, "$", in their names are ignored by the Description File Generator and not listed as sources in dependency rules. No workaround is known for this problem. o Bug 40 - The Description File Generator can generate erroneous "Files not found" errors. Sometimes, at the end of a generated description file files are listed as not found when in fact they not supposed to be files at all. The Description File Generator will try to create a "complete" description file, even if all the source files are not listed. For example, if a module calls a routine that does not exist in any of the sources listed, the generator will create a file specification with the routine name. Known Problems 4-3 Sometimes, these routine names are not resolved because of various problems with the scanners/pattern matching routines: 1. In Bliss, if a BIND ROUTINE statement is used, the new routine name will not be resolved. 2. In Bliss, if a LIBRARY statement is used, the library cannot be scanned (like a require file can be), and any routines/macros defined within will not be resolved. 3. In Bliss, certain FAO directives with "!" are treated as comments and the rest of the line gets "thrown away". 4. In C, the statement "FPRINTF("x()")" will cause the scanner to assume x is a routine name. 5. Some X routines show up in the list. o Bug 45 - Description File Generator may fail to recognize the C OpenVMS specific #include directive. The Description File Generator may generate bad dependencies if the C source files use the more efficient, but OpenVMS specific format of the #include directive. For example: #include stdio instead of: #include Because the generator does not recognize the OpenVMS version it may generate dependencies of the form: MMS$OLB.OLB(TEST2=TEST2.OBJ) depends_on - TEST2.C - ,C$LIBRARY:(STDIO=STDIO) - <------- ,TEST2.H ! These dependencies cause the following error to be reported during build: 4-4 Known Problems ! No source found for STDIO ! - Attempting to continue If "''F$Search("C$LIBRARY:.OLB")'" .EQS. "" Then LIBRARY/Create C$LIBRARY:.OLB %LIBRAR-F-OPENOUT, error opening C$LIBRARY:[...].OLB; as output -RMS-F-DEV, error in device name or inappropriate device type for operation %MMS-F-ABORT, For target C$LIBRARY:.OLB(STDIO=STDIO.OBJ), CLI returned abort status: %X108610A4. The problem can be avoided by using the standard form of the #include directive for any which trigger this behavior. o Bug 47 - Description File Generator Fails to list dependency on function's source file. The Description File Generator may fail to list a module's dependency on a function's source file. The problem occurs when the function calls use type casting for one or more parameters and the function is declared via an included file. For example, the following source files: TEST.C: #include "list.h" main () { float float_value; sub ( (int) float_value ); } LIST.H: void sub ( int i ); LIST.C: #include "list.h" void sub ( int i ) { int x; x = i; } Known Problems 4-5 Will create this dependency list for TEST.OBJ: MMS$OLB.OLB(TEST=TEST.OBJ) depends_on - LIST.H - ,TEST.C - ! The object file for LIST.C is missing. The problem can be worked around by editing the description file to add the missing dependency. o Bug 48 - Linker information defined in a context is ignored. The Environment Manager (via the MMS Options menu in the Settings pull down menu) allows the specification of Linker Object Libraries and Linker Options. However, these settings are not picked up by MMS when generating description file or building programs. Therefore, even though the context has the following defined: Object library in generated MMS description files: Linker object library: $DISK$:[DECSET]TEST.OLB; Linker options files: $DISK$:[DECSET]DECC.OPT The object library and options file must still be set in the MMS Description File Generator window. There is no known workaround for this problem. o Bug 49 - Angle brackets in directory specification may cause MMS to issue a %MMS-W-GENERR error. Having directories specified with the angled brackets (< >) rather than square brackets ([ ]) causes the Description File Generator to incorrectly report generator warnings: %MMS-W-GENERR Unknown file type.DECSET.MMS>TEST.C The problem can be avoided by using square brackets when specifying directories. o Bug 50 - Description File Generator issues a %SCN-F- SUBSTRERR error caused by C printf call. 4-6 Known Problems While processing C source files, the following error may be reported by the Description File Generator: %SCN-F-SUBSTRERR, Substring start or end position is out of range One of the causes of this error is selected combina- tions of maximum-field-width specifier, other symbols and parentheses within a string passed to printf. For example: printf("%2%d: () ", 0); The problem can be avoided, for the purposes of description file generation only, by temporarily removing or replacing the parentheses within the printf call. o Bug 51 - When using CMS Libraries, the Description File Generator fails to identify C RTL files. While attempting to scan C source files within a CMS library for dependencies, the Description File Generator fails to distinguish the C RTL files. Instead it attempts to fetch these files out of the CMS library. This results in errors similar to the following being reported for each included RTL file: %CMS-E-NOFETCH, error fetching element STDIO.H -CMS-E-NOTFOUND, Element STDIO.H not found and comments of this form are scattered through the dependency lists in description file: -! Source file not found for - STDIO.H,- o Bug 53 - Generated description file problems with Pascal environment file. A couple of problems occur while building Pascal environment (.PEN) files using an automatically generated description file. For each environment file built MMS will: 1. Report the following: Known Problems 4-7 IF F$SEARCH( "MMS$OLB.OLB" ) .EQS. "" THEN LIBRARY/CREATE - MMS$OLB.OLB CONTINUE ! (work done elsewhere) %MMS-I-GWKACTNOUPD, Actions didn't update MMS$OLB.OLB(env-file=env-file.OBJ) 2. Perform an unnecessary copy of the .PEN file: PASCAL /NOLIST/OBJECT=env-file.OBJ ... - /OBJ=env-file env-file.PAS LIBRARY/REPLACE MMS$OLB.OLB env-file.OBJ DELETE env-file.OBJ;* COPY env-file.PEN env-file.PEN ! <----- While neither of these problems will prevent envi- ronment files or the main program from being built successfully, the %MMS-I-GWKACTNOUPD may lead users to suspect a problem; especially if they use lots of environment files. The problem can be avoided by removing the object library from the environment files' dependency lists. For example, from this: env-file.PEN depends_on - MMS$OLB.OLB(env-file=env-file.OBJ) - ,env-file.PAS - ! to this: env-file.PEN depends_on - env-file.PAS - ! Remove the copy command from the end of environment files' rules: ! COPY $(MMS$TARGET) $(MMS$TARGET) o Bug 54- Description File Generator error, a Pascal module declared in an environment file is omitted from the link command. The generated description for a Pascal program, which inherits an environment file containing a module, will fail to correctly list the link dependency on the environment file's object file. This failure 4-8 Known Problems will result in a number of linker warnings when the description file is used, including: %LINK-W-NUDFENVS ! <--- undefined environment and a %MMS-F-ABORT error. The problem occurs because the Description File Generator fails to include the environment file's object in the image's dependency list and on the link command. The problem can be worked around by editing the description file to add the dependency. For example, by changing: TEST.EXE depends_on - MMS$OLB.OLB(TEST=TEST.OBJ) - ! LINK $(DBG) $(PCAOPT) /EXE=TEST.EXE - MMS$OLB.OLB/LIBRARY/INCLUDE=(TEST) - ! End of Link to: TEST.EXE depends_on - MMS$OLB.OLB(TEST=TEST.OBJ) - MMS$OLB.OLB(env_file=env_file.OBJ) - ! LINK $(DBG) $(PCAOPT) /EXE=TEST.EXE - MMS$OLB.OLB/LIBRARY/INCLUDE=(TEST,env_file) - ! End of Link o Bug 56 - The Description File Generator can issue "%SCN-F-TRENODNOT, Tree node does not exist" error messages. The Description File Generator reports a %SCN-F- TRENODNOT error when given an ACMS file to process. For example: $ MMS/GENERATE TEST.ADF %MMS-S-GENBEGIN MMS description file generation started %SCN-F-TRENODNOT, Tree node does not exist As ACMS is not supported by the Description File Generator it should issue a better error message or at least report: Known Problems 4-9 %MMS-S-GENBEGIN MMS description file generation started %MMS-E-UNKNOWN_FILE_TY, Unknown file type .ADF. %MMS-F-GENERR Error in initialization routine %MMS-E-NO_FILE_GIVEN, No file listed for scanning. as usually happens when the generator fails to recognize a file extension. The problem also occurs with the .MDF, .MSG and .GDF file extensions. ACMS is not supported by the generator. o Bug 57 - The Description File Generator issues %MMS-F- GENERR errors in initialization routines. The Description File Generator reports: %MMS-F-GENERR Error in initialization routine when given the source of an include file (for example, a C .H header file, or a COBOL .LIB library file) without the appropriate language file. For example: $ MMS/GENERATE TEST_INC.H %MMS-S-GENBEGIN MMS description file generation started %MMS-F-GENERR Error in initialization routine %MMS-E-NO_FILE_GIVEN, No file listed for scanning. instead of: $ MMS/GENERATE TEST_MAIN.C, TEST_INC.H %MMS-S-GENBEGIN MMS description file generation started %MMS-S-NORMAL MMS description file generation completed or the more usual: $ MMS/GENERATE TEST_MAIN.C %MMS-S-GENBEGIN MMS description file generation started %MMS-S-NORMAL MMS description file generation completed The generator should capture this problem and issue a more appropriate error message (after all a file has been listed). No workaround is required as the command is illegal. 4-10 Known Problems 4.2 Documentation Problems The following documentation problems exist in Guide to DIGITAL Module Management System for OpenVMS Systems: o Bug 38 - Default description file name is MAKEFILE. not MAKEFILE.MMS. Section 1.2 Invoking MMS, MAKEFILE. incorrectly names the default description MAKEFILE.MMS. When invoking MMS without a DESCRIP.MMS and with a MAKEFILE.MMS file, the following error is generated: %MMS-F-NOACCESS, Unable to access file "DESCRIP.MMS". -RMS-E-FNF, file not found The default description files are DESCRIP.MMS and then MAKEFILE. o Bug 43 - Missing parenthesis in example 3-4. There's a missing parenthesis ')' in Example 3-4 "Description File Using Object Libraries". The lines (on page 3-21): .OBJ.OLB : @ IF F$SEARCH(F$PARSE("$(MMS$TARGET)") .NES. - F$SEARCH("$(MMS$TARGET)")- THEN COPY ... should be: .OBJ.OLB : @ IF F$SEARCH(F$PARSE("$(MMS$TARGET)")) .NES. - F$SEARCH("$(MMS$TARGET)")- THEN COPY ... ^ Known Problems 4-11 5 ________________________________________________________________ Restrictions The following restrictions apply to MMS Version 3.2: o More than one description file, separated by commas or plus signs, will not work with the Motif interface. Only the first description file listed will be displayed in the description file area. Only the first description file will be used in the MMS command. o CMS library search lists are not completely supported with the MMS Motif interface of the Description File Generator. A comma-separated list specified in the CMS Library text field does not get processed properly; only the first library listed will be used. However, if a CMS library search list is set before invoking MMS, even though the CMS Library text field does not reflect the multiple libraries, the complete CMS library search list will be used for the input source list. o Changing fonts may cause buttons to disappear in the Sources, Additional Link Libraries, and Options Files dialog boxes. o For OpenVMS Alpha Motif interface: - When an MMS build is completed, the informational dialog box informing the user of the build completion does not appear. This is different behavior than the OpenVMS VAX version. o The following restrictions apply to MMS for support of FMS libraries. - Support in MMS for FMS libraries will be determined during the installation of MMS. If FMS is installed on the system when MMS is being installed, MMS will contain support for FMS. If FMS is not installed on Restrictions 5-1 the system when MMS is being installed, MMS will not contain support for FMS. - If FMS is installed on a system after MMS has been installed without FMS support, then MMS will have to be reinstalled in order to contain FMS support. - If FMS is removed from a system, MMS will have to be reinstalled in order to remove FMS support. MMS will access violate if there is an attempt to use FMS libraries. - If a new version of STARLET.OLB is installed on a system, MMS will have to be reinstalled so it reflects any changes in the new version of STARLET.OLB. MMS may access violate if FMS has not been installed with the new version of STARLET.OLB. - MMS with FMS support may access violate when installed on a system running VAX/VMS 6.x. If MMS fails to run properly on a VAX/VMS 6.x system and FMS is installed on the system, then the FMS shareable images should be installed as known images. To install the FMS shareable images as known images, execute these commands: $install add/open/share SYS$LIBRARY:FDVSHR $install add/open/share SYS$MESSAGE:FDVMSG Both of the shareable images must be installed in order for FMS to function properly. 5-2 Restrictions 6 ________________________________________________________________ Reporting Problems and Suggestions Depending on the nature of the request or problem, customers can call DIGITAL provided their software contract and warranty entitles them to telephone support. Review the SPD and Warranty Addendum for an explanation of warranty. If a problem is encountered during the warranty period, customers can report the problem using DSNlink. In the United States, customers can call the DIGITAL Customer Support Center at 1-800-354-9000. In addition, DIGITAL provides access to Web Information and Support (WIS), an Internet-based electronic services application that allows customers to submit electronic service requests, access databases, download patch kits, transfer files from DIGITAL, and connect to global notes conferences via the World Wide Web. Dial-In Access (DIA) users can access WIS by: 1. Opening http://www.service.digital.com/wis. 2. Choosing a country code. 3. Entering DIA Access ID and password. WIS and DIA use the same underlying account and directory on the DIGITAL Customer Support Center host system. Customers can register for DIA and receive a WIS account by contacting their Customer Support Center or local DIGITAL representative. This method can also be used to make requests for additional features or modifications to existing features. When submitting a request, please include the following information: Reporting Problems and Suggestions 6-1 o The version of MMS and type of OpenVMS operating system. o Problem Summary. o Stack dumps or error logs (if applicable). o Files in machine-readable media: magnetic tape (preferred), floppy diskette, or tape cassette. 6-2 Reporting Problems and Suggestions