Nonfatal Error Messages 2000 - 2065

LNK2000
imported starting address
Explanation: A MODEND, or starting address record, referred to an imported name. Imported program-starting addresses are not supported.

Action: The starting address record must refer to a non imported name. Edit the source file and recompile or reassemble.
 
LNK2002
fix-up overflow at location in segment name
Explanation: A fix up overflow occurred near location, in the named segment.

Action: Revise the source file and re-create the object file. If that does not work, contact your supplier.
 
LNK2003
inter segment self-relative fix-up at location in segment name
Explanation: ILINK detected an inter segment self-relative fix-up. A self-relative fix-up cannot be in another segment. This is probably caused by a near reference to procedure located in another segment.

Action: Revise the source file and re-create the object file. If that does not work, contact your supplier.
 
LNK2006
invalid alignment specification (x)
Explanation: You specified an invalid alignment value.

Action: Specify a valid alignment value; see the alignment options.
 
LNK2007
missing or bad application type
Explanation: Either you did not specify, or you specified an invalid application type.

Action: Valid application types are: PM, VIO and NOVIO.
 
LNK2010
too many fix-ups in LIDATA record
Explanation: There are more fix ups applying to a LIDATA record than will fit into the ILINK's 1024 byte buffer. The buffer is divided between the data in the LIDATA record itself and the run-time relocation items. These are 8 bytes each, so the maximum varies from 0 to 128. This is probably a compiler error.

Action: Revise the source file and re-create the object file. If that does not work, contact your supplier.
 
LNK2011
name: NEAR/HUGE conflict
Explanation: There are conflicting NEAR and HUGE attributes for a communal variable. This error can occur only with programs produced by compilers that support communal variables.

Action: Specify only one of these attributes.
 
LNK2012
name: array-element size mismatch
Explanation: A far communal array has been declared with two or more different array-element sizes (for example, an array declared once as an array of characters and once as an array of real numbers). This error occurs only when using compilers that support far communal arrays.

Action: Match the definitions and re-create the object module or modules.
 
LNK2013
LIDATA record too large
Explanation: A LIDATA record in an object module contains more than 512 bytes of data. It is likely that one of your assembler modules contains a complex structure definition or a series of deeply-nested DUP operators. (LIDATA is a DOS term.)
Example: The following structure definition causes this error:
alpha   DB     10DUP(11 DUP(12 DUP(13 DUP(...))))

Action: Simplify the structure definition and reassemble the module.

LNK2022
name (alias internalname) : export undefined
Explanation: A name has been directed to be exported but is not defined anywhere.

Action: Edit the source file and define the export.
 
LNK2024
name: special symbol already defined
Explanation: Your program defined a symbol name that ILINK already used for one of its low-level symbols. For example, the linker generates special names for overlay support.

Action: Edit the source file and choose another name for the symbol.
 
LNK2025
name: symbol defined more than once. Original definition in filename(modulename)
Explanation: A symbol has been defined more than once.

Action: Edit the source file, removing the extra symbol definition.
 
LNK2026
entry ordinal number, name name : multiple definitions for same ordinal
Explanation: More than one entry point name has been assigned to the same ordinal in the module definition file.

Action: Edit the module definition file to correct the usage of the ordinal.
 
LNK2027
number: ordinal too large for export
Explanation: You tried to export more than 3072 names or indicated too large of an ordinal.

Action: Edit the source file or define smaller ordinals in the module definition file.
 
LNK2028
automatic data segment plus heap exceed 64K
Explanation: The automatic data segment plus the heap exceed 64K. DGROUP cannot be larger than 64K.

Action: Reduce the size and relink.
 
LNK2029
string: unresolved external
Explanation: A symbol declared to be external in one or more modules was not found among the given objects and libraries.

Action: Supply files that will resolve these external calls.
 
LNK2030
starting address not code (use class `CODE')
Explanation: You specified a starting address to ILINK that is not within a segment of type 'CODE.'

Action: Reclassify the segment to CODE, or correct the starting point.
 
LNK2044
string: symbol multiply defined, /NOE may help. Original definition in filename(modulename)
Explanation: The symbol shown was defined more than once, perhaps for different things.

Action: Recompile with the /NOEXDICTIONARY option.
LNK2046
IOPL attribute ignored for 32-bit segment
Explanation: The IOPL attribute is only valid on 16-bit segments. It is ignored for this 32-bit segment.

Action: Remove this segment''s IOPL specification from your module definition file and relink.
 
LNK2047
group attribute conflict - section: name1 in group:name2
Explanation: The section: name1 has an attribute setting that conflict with another section in group name2.

Action: Remove the section from the group or make sure all sections in the group have compatible attributes. Relink.
 
LNK2050
use16/use32 attribute conflict - segment:name in group:name
Explanation: The segment indicated within the group shown has a different USE16/USE32 attribute from the rest of the segments in the group.

Action: Remove the segment from the group or make sure all segments have the same USE16/USE32 attribute.
 
LNK2052
name: unresolved external - possible calling convention mismatch
Explanation: ILINK encountered an undefined external, which could be a fast-call/C-call mismatch.

Action: Make sure the external is defined and called the same way (for example, all C-calls).
 
LNK2053
call gates are NOT allowed in 32-bit object if its size exceeds 64K - memory object number number
Explanation: The memory object indicated is larger than 64K and uses call gates.

Action: Remove the call gates or break the object into smaller portions. Relink.
 
LNK2054
data for invalid page in segment name
Explanation: ILINK encountered data past the defined end of initialized data in the segment indicated.
Action: The object file is probably corrupted. Recompile or reassemble and try again. If that does not work, contact your supplier.
 
LNK2055
fix-up for invalid page at location in segment name
Explanation: ILINK encountered a fixup past the defined end of initialized data in the segment indicated.

Action: The object file is probably corrupted. Recompile or reassemble and try again. If that does not work, contact your supplier.
 
LNK2056
object type conflict - segment: name in group: name
Explanation: The segment indicated within the group shown has a different TYPE attribute from the rest of the segments in the group.

Action: Remove the segment from the group or make sure all segments have the same TYPE attribute.
 
LNK2057
duplicate of name with different size found; record ignored
Explanation: ILINK encountered two COMDAT records with the selection type "SAME SIZE." The records have the same name but have different sizes.

Action: The .OBJ is probably corrupted. Recompile or reassemble and try again. If that does not work, contact your supplier.
 
LNK2058
different duplicate of name found; record ignored
Explanation: ILINK encountered two COMDAT records with the selection type "EXACT." The records have the same name but have different sizes.

Action: The .OBJ is probably corrupted. Recompile or reassemble and try again. If that does not work, contact your supplier.
 
LNK2059
size of the data block associated with name exceeds 4G
Explanation: ILINK encountered a continuation COMDAT record whose additional size made the communal data too large.

Action: The .OBJ is probably corrupted. Recompile or reassemble and try again. If that does not work, contact your supplier.
 
LNK2061
no space for the data block associated with record name inside the segment name
Explanation: While being allocated space for a COMDAT record inside the segment indicated, the segment grew larger than 64K.

Action: Make the segment smaller or move communal data into a different segment.
 
LNK2062
continuation of COMDAT name has conflicting attributes; record ignored
Explanation: While concatenating the COMDAT record indicated, ILINK found attributes that differ from those defined in the initial COMDAT record.

Action: The .OBJ is probably corrupted. Recompile or reassemble and try again. If that does not work, contact your supplier.
 
LNK2059
name allocated in undefined segment
Explanation: ILINK encountered a COMDAT record in an undefined explicit allocation segment.
Action: The .OBJ is probably corrupted. Recompile or reassemble and try again. If that does not work, contact your supplier.
LNK2064
CLMI error
Explanation: ILINK encountered a CLMI error.

Action: Internal error. Contact your supplier.
LNK2065
Export with an ordinal number of zero
Explanation: You tried to export with an ordinal number of zero. This is not valid because zero is reserved for export by name.

Action: Edit the definition file to specify an ordinal number other than zero.


Linker Error Messages