The Question is:
I have written a PL/I application on an AXP VMS machine.
When running it on another AXP, it returns ident-mismatch
for the file DPLI$RTLSHR.EXE. I moved the DPLI$RTLSHR.EXE
from the original AXP to the 2nd AXP and now get the error
stating the GSMATCH of the new DPLI$RTLSHR.EXE and the one
in IMAGELIB.OLB don't match.
Do I just need to replace DPLI$RTLSHR.EXE in IMAGELIB.OLB?
Can I use the LIBRARY command to replace DPLI$RTLSHR.EXE in
IMAGELIB.OLB while the system is in production? Will the
system have to be rebooted? Thanks.
The Answer is :
Moving of system images such as DPLI$RTLSHR.EXE is not supported, and
is not recommended, and can potentially lead to various errors.
OpenVMS is upward-compatible, make certain you have the same or a
later version of OpenVMS on the system you are copying files to,
or the same or later RTL ECO (when applicable).
Always develop your software on the oldest OpenVMS version you
plan to support.
When you must build on a newer system, you are left to use object
libraries, or to copy the older RTLs to an application-private
directory on the newer system and explicitly link the application
against the older RTLs. (Downward compatibility is not supported.)
To resolve your current problem, revert to the correct version of
DPLI$RTLSHR.EXE in SYS$COMMON:[SYSLIB], and make sure there is no
rogue copy in SYS$SPECIFIC:[SYSLIB]. (The specific error message
being reported can be cured by issuing:
LIBRAR/REPLACE SYS$SHARE:IMAGELIB.OLB DPLI$RTLSHR.EXE
but the Wizard is not willing to hazard a guess on what else might
go wrong with this configuration, and the Wizard strongly discourages
using a newer OpenVMS RTL on an older system unless explicitly instructed
to do so by the maintainer(s) of the RTL(s).)
Please see topics (3761), (5192), and (6829).
Related topics include (173), (866), (1052), (1171), (1904), (2738),
(2932), (4336), and (6049).