| The only scenario that I could see to get into this situation is to
have applied the suggestions from a STARS article which had the title:
"[DEC C] %LINK-I-UDFSYM, SYS_ERRLIST %LINK-I-UDFSYM, SYS_NERR"
To verify this, please enter the command:
$ LIBRARY/LIST/ONLY=*C$SYS_ERRLIST SYS$LIBRARY:STARLET
If this results in a module named DECC$SYS_ERRLIST, then someone on
your system had followed the instructions in the above article. To
clear this situation, enter the command:
$ LIBRARY/DELETE=*C$SYS_ERRLIST SYS$LIBRARY:STARLET.OLB
followed by reinstallation of the ECO kit. There is a similar problem
when upgrading from OpenVMS V6.2 to OpenVMS V7.0 and V7.1 after having
installed a C RTL ECO kit. I have attached a BLITZ which describes
this problem and remedy:
Copyright (c) Digital Equipment Corporation 1997. All rights reserved.
*** NOTE: This BLITZ supercedes TD 2213 ***
+---------------------------+TM
| | | | | | | |
| d | i | g | i | t | a | l | TIME DEPENDENT BLITZ
| | | | | | | |
+---------------------------+
BLITZ TITLE: OpenVMS Alpha - Possible problem when upgrading from
V6.2 to V7.0 or V7.1
PRIORITY LEVEL: 1
DATE: Jan 23, 1997
TD #: 2213-A
AUTHOR: Daisy Chan
DTN: 276-8209
EMAIL: [email protected]
DEPARTMENT: MCS PM&D
=================================================================
PRODUCT NAME(S): OpenVMS Alpha
PRODUCT FAMILY(IES):
Storage ___
Systems/OS _X__
Networks ___
PC/Peripherals ___ {includes printers, monitors, etc.}
Software Apps. ___
BLITZ TYPE: {Check all that apply}
Maintenance Tip _X__
Service Action Requested ___
IF SERVICE ACTION IS REQUESTED: (Check all that apply.)
Labor Support Required ___ {Requires MCS to provide service labor}
Material Support Required ___ {Requires MCS to provide material}
Estimated time to complete activity (in hours):
Will this require a change in the field's inventory: Yes ___ No _x__
Will an FCO be associated with this advisory? Yes ___ No _x__
DESCRIPTION OF SERVICE ACTIVITY REQUESTED (if applicable): N/A
**********************************************************************
This article discusses a possible problem when upgrading from
OpenVMS Alpha V6.2 to OpenVMS Alpha V7.0 or V7.1. This problem
occurs ONLY if changes have been made to the C RTL on the V6.2 system.
The problem is specific to OpenVMS ALPHA; it does not occur on
OpenVMS VAX upgrades; it does not occur on upgrades from V7.0 to
V7.1; and it does not occur if no changes have been made to the C RTL.
There are two ways that this problem could have been introduced.
The first is by installing a C RTL ECO kit whose names are of the
form ALPACRT##_062. The second way is by applying a fix described
in the article
"[DEC C] %LINK-I-UDFSYM, SYS_ERRLIST %LINK-I-UDFSYM, SYS_NERR".
There is a straightforward way to determine if this problem has been
introduced on a particular system. If the command
$ LIBRARY/LIST/ONLY=*C$SYS_ERRLIST SYS$LIBRARY:STARLET
locates any modules, then your system is impacted and corrective
action needs to take place prior to upgrading this system to either
V7.0 or V7.1. If the command above results in the first line of
the listing being:
%LIBRAR-W-NOMTCHFOU, no matches found for *C$SYS_ERRLIST
then your system is not impacted and will not have this upgrade
problem.
SYMPTOMS
--------
If this problem is present, an error similar to the following is
reported during the OpenVMS upgrade:
%PCSI-E-WRITEERR, error writing
DISK$ALPHASYS:[VMS$COMMON.][SYSLIB]STARLET.OLB
LBR-E-DUPKEY, duplicate key in index
%PCSI-E-OPFAILED, operation failed
Terminating is strongly recommended.
Do you want to terminate? [YES]
If you see this error, choose the default answer (YES) to
terminate the installation. Restore the system disk from your
backup copy and proceed with the WORKAROUND described in the
following section.
NOTE: Unless a Digital representative has instructed you
otherwise, you should always terminate and restore the backup
copy of your system disk when the termination question is
asked.
If you have already continued this installation by answering "NO"
to the "Do you want to terminate?" question, your system has an
incorrect version of STARLET.OLB. In this case, if you perform
LINK operations, they may fail or they may produce incorrect
executable images. Digital recommends that you restore the system
disk from your backup copy and proceed with the WORKAROUND
described in the next section. If this is not possible, see the
following RECOVERY section.
WORKAROUND
----------
To avoid the previously described problem, perform the following
DCL LIBRARY operations while your V6.2 system is running:
$ LIBRARY/DELETE=(*C$SYS_ERRLIST,C$*) SYS$LIBRARY:STARLET.OLB
Then perform the upgrade as you normally would.
This action is necessary only if a C RTL patch is installed.
However, your system will not be adversely affected if you perform
this operation on a system without the patch.
(After performing this LIBRARY/DELETE operation do not attempt to
use the LINK command until the upgrade is complete. If for any
reason you do NOT perform the upgrade, you will need to restore
SYS$LIBRARY:STARLET.OLB from the backup copy of your system disk.)
RECOVERY
--------
Digital recommends that you restore the system disk from your
backup copy and proceed with the WORKAROUND. However, if this is
not possible and you proceeded with the installation after the
duplicate key error, you may be able to recover from this
situation as follows:
First, delete the incorrect copy of STARLET.OLB on your system
disk. If your system disk is DKA0:, use a command similar to the
following:
$ DELETE DKA0:[VMS$COMMON.SYSLIB]STARLET.OLB;*
Next, replace STARLET.OLB by copying the new version from your
OpenVMS Alpha operating system CD-ROM. If your system disk is
DKA0: and your CD is mounted on DKA400:, use a command similar to
the following:
$ COPY DKA400:[VMS$COMMON.SYSLIB]STARLET.OLB -
_$ DKA0:[VMS$COMMON.SYSLIB]STARLET.OLB
This provides you with the version of STARLET.OLB that is provided
with the version of OpenVMS Alpha to which you have upgraded.
Because some layered products make additions or changes to
STARLET.OLB, you must now reinstall these products. (Refer to
layered products installation guide for further information.)
WHY THIS PROBLEM OCCURS
-----------------------
NOTE: This section is provided for information only. It is not
required for the WORKAROUND or RECOVERY operations previously
described.
The OpenVMS Librarian maintains an index of the global symbols
contained in the modules in object libraries, such as STARLET.OLB.
A LBR-E-DUPKEY occurs if the insertion or replacement of a module
would result in the same global symbol being present in two
modules.
The C RTL incorrectly removed the symbols SYS_ERRLIST and SYS_NERR
from STARLET in OpenVMS V6.2. An article was published which gave
instructions on how to create a module which defines these symbols.
The example given in the article resulted in these symbols being
declared in a module called DECC$SYS_ERRLIST. The ECO kits for
the C RTL used a different module name of C$SYS_ERRLIST.
Sometimes global symbols are moved from one module to another.
When the changed modules are replaced a duplicate key is possible.
When the symbols SYS_ERRLIST and SYS_NERR were restored in OpenVMS
V7.0 and V7.1, the module name used was C$SYS_ERRLIST_U (where the
U stood for uppercase).
When the module that now contains the symbols is replaced during
the upgrade, this generates the duplicate key error if and only if
either the article instructions or a C RTL ECO kit been applied.
The symbols would be both in that module and in the old version of
the other module. This is what causes the error. In theory, the
error would be corrected if the Librarian could just continue and
replace the other module. Unfortunately, it cannot; the error is
terminal.
The POLYCENTER Software Installation (PCSI) utility upgrades
STARLET.OLB during a system upgrade by replacing modules in
alphabetical order. So, if global symbols move, there is a 50%
chance that duplicate keys will be encountered.
*** DIGITAL INTERNAL USE ONLY ***
\\ GRP=TIME_DEPENDENT CAT=HARDWARE DB=CSSE_TIME_CRITICAL
\\ TYPE=KNOWN_PROBLEM TYPE=BLITZ STATUS=CURRENT PROD=OPENVMS-AXP
|