HP eld Manual page 219

Table of Contents

Advertisement

Output Listings and Error Handling
items were created by the C++ compiler, and not marked to say that duplicates are
okay, but you need to write your C++ code differently or use different compiler options
so that the compiler does say that the duplicates are okay. The details of these C++
rules are also beyond the scope of this manual.
1598 Illegal duplicate definition of the procedure <symbol
name> in <filename> and <filename> because of a procedure
attribute mismatch.
Cause. Each of the two files mentioned in the message defined procedures of the
same name, as shown in the message, but the procedures differ in certain of their
"attributes", and for that reason the duplicates are not allowed. The attributes on which
all the copies are required to agree, or else this message would appear, are "main",
"shell", extensible", and "compiled_nonstop". The reasons that procedures acquire
these attributes depend on the source language and are beyond the scope of this
manual.
Effect. Fatal error (eld immediately stops without creating an output file).
Recovery. Did you really intend to define procedures with the same name in each of
these two files, and have both definitions visible across separate compilations? If not,
change the name of one of them, or change the declaration of one of them so that it is
only visible within its own compilation. If you are using the same procedure in more
than one place, only one of those places needs to include a copy of the code, and the
other places can just be external references to that definition. If you really do intend to
have two definitions of this procedure, visible across separate compilations, then the
attributes listed above must be the same. If the attributes are different because the
two files were created from different versions of the source code, or by using different
compiler options, repeat the compilations doing things more consistently.
1600 Different values were specified for the process subtype
in <filename> and <filename>, and no -set process_subtype
option was given.
Cause. It is possible to use the
used as eld input, and when you do that you can also use the -set process_subtype
option to assign a numerical subtype to that object file. When eld is then given that
object file in a subsequent link, it copies over the subtype to its output object file again.
However, in the present link, two of the input files had subtypes assigned to them by
previous links, and the numerical values assigned in those previous links were
different, and the present link did not use the -set process_subtype option to resolve
the ambiguity.
Effect. Fatal error (eld immediately stops without creating an output file).
Recovery. If you didn't intend for your previous links to specify inconsistent process
subtypes, you should clean that up. If you do want various object files to have different
process subtypes, and sometimes to be linked together, then when you link them
option to build a new object file that can again be
-r
eld Manual—527255-009
6-109
Error Messages

Advertisement

Table of Contents
loading

Table of Contents