### 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