![]() |
![]() HP OpenVMS Systemsask the wizard |
![]() |
The Question is: Hi, I am using DECC V6.0 compiler with option /STANDARD=VAXC on OPEN_VMS 6.2. Is there any way that I can link object files produced from DECC 6.0 compiler with prior version of DECC RTL (V 5.5 or earlier) and OPEN_VMS 6.1 (or earlier). Currently, I got the following link errors when I link DEC C V6.0 object files with older DEC RT L and OPEN_VMS: %LINK-I-UDFSYM DECC$$GA____CTYPET %LINK-I-UDFSYM DECC$$GA____CTYPEA Thanks for your help Philip Dang Ross Systems The Answer is : Please see the information on the DEC C "backport" library as a starting point -- look in the DEC C documentation set for details. In general, downward compatibility is not a design goal of OpenVMS and of OpenVMS compilers -- upward-compatibility is. In other words, the officially supported approach is to compile and link on the oldest OpenVMS version that the package is intending to support. When considering downward compatibility, there are particular requirements around the contents of the system include definitions as well as the RTL entry points available when trying to move code downward -- there can be missing definitions and entry points. Further, the DEC C compiler is somewhat unusual in that it looks at the DECC$SHR RTL image to determine what routines and entry points it recognizes. As a start, acquire the currently available ECO for the DEC C run-time library, and apply it to all systems. If you wish to pursue an unsupported approach, you will need to copy the older DECC$SHR image to your current OpenVMS system, named something akin to dev:[dir]DECC$SHR_V552, and perform the following sequence: $ DEFINE/USER DECC$SHR dev:[dir]DECC$SHR_V552.EXE; $ CC/DECC/DEFINE=__VMS_VER=60100000 program.c For your current situation, most any value below 60200000 should work in the above, as the symbols DECC$$GA____CTYPET and DECC$$GA____CTYPEA were added in the OpenVMS V6.2 release. Please see topics (3761), (5192), and (6829). Related topics include (173), (866), (1052), (1171), (1904), (2738), (2932), (4336), and (6049).
|