![]() |
![]() HP OpenVMS Systemsask the wizard |
![]() |
The Question is: I have a logical called lnk$library_1 which is define as $ define/system/exec lnk$library_1 sys$library:vaxcrtl.olb in the systartup_vms.com I have another file called make_dms.com where I am defining define lnk$library_1 NL: what does this mean ? when I am executing this command procedure it gives an error message "error opening NL:[].OLB; as input -RMS-E-EOF, end of file detected" what could be the possible reason ? kindly suggest on this so that I can proceed further. The Answer is : "error opening NL:[].OLB; as input" is exactly what is expected. You have asked the linker to search the null device for an object library. Obviously it cannot exist. What you should do depends on what you are trying to achieve. Note that LNK$LIBRARY* logical names are independent name spaces in each logical name table referenced from LNM$FILE_DEV. That is, the linker will look at LNK$LIBRARY, LNK$LIBRARY_1, LNK$LIBRAY_2 ... etc first in LNM$PROCESS, then the same in LNM$JOB, then LNM$GROUP then LNM$SYSTEM (assuming a default LNM$FILE_DEV search list). So, defining LNM$LIBRARY_1 in the PROCESS table will not affect the linker searching the library pointed to by LNM$LIBRARY logical names in the system table. If you wish to supress searching of the system logical name table definitions use the /USERLIBRARY qualifier: LINK /USERLIBRARY /USERLIBRARY[=(table[,...])] /USERLIBRARY=ALL (default) /NOUSERLIBRARY Directs the linker to process one or more default user libraries to resolve symbolic references that remain undefined after all specified input files have been processed. Table specifies the logical name tables that the linker searches for default user libraries. The following keywords are the only acceptable parameter values: Keyword Description ALL Directs the linker to search the process, group, and system logical name tables for default user library definitions. This is the default. GROUP Directs the linker to search the group logical name table for default user library definitions. NONE Directs the linker not to search any logical name table; the /USERLIBRARY=NONE qualifier is equivalent to the /NOUSERLIBRARY qualifier. PROCESS Directs the linker to search the process logical name table for default user library definitions. SYSTEM Directs the linker to search the system logical name table for default user library definitions. Also note that if you are using DECC (as opposed to the obselete product VAXC), there is no need to direct the linker to search sys$library:vaxcrtl.olb. Even if you are using VAXC, you'd be much better off linking against the shareable image library SYS$SHARE:VAXCRTL.EXE.
|