LINK Fatal Error Messages

Number LINK Fatal Error Message

L1001 option : option name ambiguous
  A unique option name did not appear after the option indicator.
  An option is specified by a forward slash (/) and a name. The name can be specified by an abbreviation of the full name, but the abbreviation must be unambiguous.
  For example, since many options begin with the letter N, the following command causes this error:

LINK /N main;

  This error can also occur if the wrong version of the linker is being used. Check the directories in the PATH environment variable for other versions of LINK.EXE.
L1003 /Q and /EXEPACK incompatible
  LINK cannot be given both the /Q option and the /EXEPACK option.
L1004 value : invalid numeric value
  An incorrect value was specified with a LINK option.
  For example, this error occurs if a nonnumeric string is specified with an option that requires a number.
L1005 option : packing limit exceeds 64K
  The value specified with the /PACKC or /PACKD option exceeded the limit of 65,536 bytes.
L1006 number : stack size exceeds 64K–2
  One of the following may have occurred:

The given value specified with the /STACK option exceeded the limit of 65,534 bytes.

A space appeared before or after the colon (:) between /STACK and the argument specified with it.

L1007 /OVERLAYINTERRUPT : interrupt number exceeds 255
  An overlay interrupt number greater than 255 was specified with the /OV option value.
  Check the DOS Technical Reference or other DOS technical manual for information about interrupts.
L1008 /SEGMENTS : segment limit set too high
  The value specified with the /SEG option exceeded 16,375.
L1009 value : /CPARM : illegal value
  The value specified with the /CPARM option was not in the range 1–65,535.
L1020 no object files specified
  The object-files field was empty.
  LINK requires the name of at least one object file.
L1021 cannot nest response files
  A response file was specified in a response file.
L1022 response line too long
  A line in a response file was longer than 255 characters.
  To extend a field to another line, put a plus sign (+) at the end of the current line.
L1023 terminated by user
  The LINK session was halted by CTRL+C or CTRL+BREAK.
L1024 nested right parentheses
  The parentheses for assigning overlays were specified incorrectly.
L1025 nested left parentheses
  The parentheses for assigning overlays were specified incorrectly.
L1026 unmatched right parenthesis
  The parentheses for assigning overlays were specified incorrectly.
L1027 unmatched left parenthesis
  The parentheses for assigning overlays were specified incorrectly.
L1030 missing internal name
  An IMPORTS statement specified an ordinal value but not an internal name for the routine or data item being imported.
  An item imported by ordinal must be given an internal name.
L1031 module description redefined
  The module-definition (.DEF) file contained more than one DESCRIPTION statement.
L1032 module name redefined
  The module-definition (.DEF) file contained more than one NAME or LIBRARY statement.
L1033 input line too long; number characters allowed
  The LINK command line cannot exceed the given number of characters.
L1034 name truncated to string
  A name specified either on the LINK command line or in a module-definition (.DEF) file exceeded 255 characters. The name was truncated to the given string.
  This is a warning, not a fatal error. However, it indicates a serious problem. This message may be followed by another error as LINK tries to use the specified name. For example, if the string is a filename, LINK issues an error when it cannot open the file.
L1035 syntax error in module-definition file
  A statement in the module-definition (.DEF) file was incorrect.
L1040 too many exported entries
  The program exceeded the limit of 65,535 exported names.
L1041 resident names table overflow
  The size of the resident names table exceeded 65,535 bytes.
  An entry in the resident names table is made for each exported routine designated RESIDENTNAME and consists of the name plus three bytes of information. The first entry is the module name.
  Reduce the number of exported routines or change some to nonresident status.
L1042 nonresident names table overflow
  The size of the nonresident names table exceeded 65,535 bytes.
  An entry in the nonresident names table is made for each exported routine not designated RESIDENTNAME and consists of the name plus three bytes of information. The first entry is the DESCRIPTION statement.
  Reduce the number of exported routines or change some to resident status.
L1043 relocation table overflow
  More than 32,768 long calls, long jumps, or other long pointers appeared in the program.
  Replace long references with short references wherever possible.
L1044 imported names table overflow
  The size of the imported names table exceeds 65,535 bytes.
  An entry in the imported names table is made for each new name given in the IMPORTS section, including the module names, and consists of the name plus one byte.
  Reduce the number of imports.
L1045 too many TYPDEF records
  An object file contained more than 255 TYPDEF records.
  TYPDEF records describe communal variables. (TYPDEF is a DOS term. It is explained in the Microsoft MS-DOS Programmer's Reference and in other reference books on DOS.)
  This error appears only with programs created by the Microsoft FORTRAN Compiler or other compilers that support communal variables.
L1046 too many external symbols in one module
  An object file specified more than 1023 external symbols.
  Break the object file into smaller files.
L1047 too many group, segment, and class names in one module
  An object file contained too many group, segment, and class names.
  Reduce the number of groups, segments, or classes in the object file, or break the object file into smaller files.
L1048 too many segments in one module
  An object file had more than 255 segments.
  Either create fewer segments or break the object file into smaller files.
L1049 too many segments
  The program contained more than the maximum number of segments.
  The maximum number of segments is set with the /SEG option (in the range 1–16,384). If /SEG is not specified, the default is 128.
  If this error occurs when linking a p-code program, recompile and use CL's /NQ option to combine the temporary p-code segments.
L1050 too many groups in one module
  An object file contained more than 21 group definitions (GRPDEF).
  Reduce the number of group definitions or split the module.
  (Group definitions are explained in the Microsoft MS-DOS Programmer's Reference and in other reference books on DOS.)
L1051 too many groups
  The program defined more than 20 groups, not counting DGROUP.
  Reduce the number of groups.
L1052 too many libraries
  An attempt was made to link with more than 32 libraries.
  Combine libraries, or use modules that require fewer libraries.
L1053 out of memory for symbol table
  The program had more symbolic information than could fit in available memory. Symbolic information includes public, external, segment, group, class, and file names.
  One of the following may be a solution:

Eliminate as many public symbols as possible.

Combine object files or segments.

Link from the command line instead of from a makefile or PWB.

Remove terminate-and-stay-resident programs or otherwise free some memory.

L1054 requested segment limit too high
  LINK did not have enough memory to allocate tables describing the requested number of segments. The number of segments is the value specified with the /SEG option or the default of 128.
  One of the following may be a solution:

Link again using the /SEG option to set fewer segments.

Remove terminate-and-stay-resident programs or otherwise free some memory.

L1056 too many overlays
  The program defined more than 127 overlays.
L1057 data record too large
  An LEDATA record in an object module contained more than 1024 bytes of data. This is a translator error. (LEDATA is a DOS term explained in the Microsoft MS-DOS Programmer's Reference and in other DOS reference books.)
  Note which translator (compiler or assembler) produced the incorrect object module. Please report the circumstances of the error to Microsoft Corporation by following the instructions in the Microsoft Product Assistance Request form at the back of one of your manuals.
L1063 out of memory for debugging information
  LINK ran out of memory for processing debugging information.
  Reduce the amount of debugging information by compiling some object files with /Zd instead of /Zi or with neither option.
L1064 out of memory—near/far heap exhausted
  LINK was not able to allocate enough memory for the given heap.
  One of the following may be a solution:

Reduce the size of code, data, and symbols in the program.

If the the program is a segmented executable file, put some code into a dynamic-link library.

L1065 too many interoverlay calls
use /DYNAMIC:nnn; current limit is number
  The program had more than the given limit of interoverlay calls.
  The maximum number of interoverlay calls is set with the /DYNAMIC option (in the range 1–10,922). If /DYNAMIC is not specified, the default is 256.
  To determine the setting needed by the program, run LINK with the /INFO option. The output gives the number of interoverlay calls that are generated and the current limit.
L1066 size of overlaynumber overlay exceeds 64K
  The overlay represented by the given number exceeded the MOVE size limit of 65,535 bytes.
L1067 memory allocation error
  Note the circumstances of the error and notify Microsoft Corporation by following the instructions in the Microsoft Product Assistance Request form at the back of one of your manuals.
L1070 segment : segment size exceeds 64K
  A single segment contained more than 65,536 bytes of code or data.
  Try changing the memory model to use far code or data as appropriate. If the program is in C, use CL's /NT option or the __based keyword (or its predecessor, the alloc_text pragma) to build smaller segments.
L1071 segment _TEXT exceeds 64K–16
  The segment named _TEXT grew larger than 65,520 bytes. This error is likely to occur only in small-model C programs, but it can occur when any program with a segment named _TEXT is linked using the LINK /DOSSEG option.
  Small-model C programs must reserve code addresses 0 and 1; this range is increased to 16 for alignment purposes.
  Try compiling and linking using the medium or large model. If the program is in C, use CL's /NT option or the __based keyword (or its predecessor, the alloc_text pragma) to build smaller segments.
L1072 common area exceeds 64K
  The program had more than 65,536 bytes of communal variables. This error occurs only with programs produced by the Microsoft FORTRAN Compiler or other compilers that support communal variables.
L1073 file-segment limit exceeded
  The number of physical or file segments exceeded the limit of 255 imposed by Windows for each application or dynamic-link library.
  A file segment is created for each group definition, nonpacked logical segment, and set of packed segments.
  Reduce the number of segments, or put more information into each segment. Use the /PACKC option or the /PACKD option or both.
L1074 group : group exceeds 64K
  The given group exceeds the limit of 65,536 bytes.
  Reduce the size of the group, or remove any unneeded segments from the group. Refer to the map file for a listing of segments.
L1075 entry table exceeds 64K–1
  The entry table exceeded the limit of 65,535 bytes.
  The table contains an entry for each exported routine and for each address that is the target of a far relocation, when PROTMODE is not enabled and the target segment is designated MOVABLE.
  Declare PROTMODE if applicable, reduce the number of exported routines, or make some segments FIXED if possible.
L1078 file-segment alignment too small
  The segment-alignment size specified with the /ALIGN option was too small.
L1080 cannot open list file
  The disk or the root directory was full.
  Delete or move files to make space.
L1081 out of space for run file
  The disk or the root directory was full.
  Delete or move files to make space.
L1082 filename : stub file not found
  LINK could not open the file given in the STUB statement in the module-definition (.DEF) file.
  The file must be in the current directory or in a directory specified by the PATH environment variable.
L1083 cannot open run file
  One of the following may have occurred:

The disk or the root directory was full.

Another process opened or deleted the file.

A read-only file existed with the same name.

The floppy disk containing the file was removed.

A hard-disk error occurred.

L1084 cannot create temporary file
  One of the following may have occurred:

The disk or the root directory was full.

The directory specified in the TMP environment variable did not exist.

L1085 cannot open temporary file—message
  LINK could not open a temporary file for the given reason.
  One of the following may have occurred:

The disk or the root directory was full.

The directory specified in the TMP environment variable did not exist.

L1086 temporary file missing
  An internal error has occurred.
  Note the circumstances of the error and notify Microsoft Corporation by following the instructions in the Microsoft Product Assistance Request form at the back of one of your manuals.
L1087 unexpected end-of-file on temporary file
  A problem occurred with the temporary linker-output file.
  One of the following may have occurred:

The disk that holds the temporary file was removed.

The disk or directory specified in the TMP environment variable was full.

L1088 out of space for list file
  The disk or the root directory was full.
  Delete or move files to make space.
L1089 filename : cannot open response file
  LINK could not find the given response file.
  One of the following may have occurred:

The response file does not exist.

The name of the response file was incorrectly specified.

An old version of LINK was used. Check your path. To see the version number of LINK, run LINK with the /? option.

L1090 cannot reopen list file
  The original floppy disk was not replaced at the prompt.
  Restart the LINK session.
L1091 unexpected end-of-file on library
  The floppy disk containing the library was probably removed.
  Replace the disk containing the library and run LINK again.
L1092 cannot open module-definition file
  LINK could not find the specified module-definition (.DEF) file.
  Check that the name of the .DEF file is spelled correctly.
L1093 filename : object file not found
  LINK could not find the given object file.
  Check that the name of the object file is spelled correctly.
L1094 filename : cannot open file for writing
  LINK was unable to open the given file with write permission.
  Check the attributes for the file.
L1095 filename : out of space for file
  LINK ran out of disk space for the specified output file.
  Delete or move files to make space.
L1096 unexpected end-of-file in response file
  LINK encountered a problem while reading the response file.
  One of the following may be a cause:

The response file is corrupt.

The file was deleted between reads.

L1097 I/O error—message
  LINK encountered the given input or output error.
L1098 cannot open include file filenamemessage
  LINK could not open the given include file for the given reason.
  An include file is specified in an INCLUDE statement in the module-definition (.DEF) file.
L1100 stub .EXE file invalid
  The file specified in the STUB statement in the module-definition (.DEF) file is not a valid DOS executable file.
L1101 invalid object module
  LINK could not link one of the object files.
  Check that the correct version of LINK is being used.
  If the error persists after recompiling, note the circumstances of the error and notify Microsoft Corporation by following the instructions in the Microsoft Product Assistance Request form at the back of one of your manuals.
L1102 unexpected end-of-file
  The given library or object file had an invalid format.
L1103 attempt to access data outside segment bounds
  A data record in an object file specified data extending beyond the end of a segment. This is a translator error.
  Note which translator (compiler or assembler) produced the incorrect object module and the circumstances in which it was produced. Please report this error to Microsoft Corporation by following the instructions in the Microsoft Product Assistance Request form at the back of one of your manuals.
L1104 filename : invalid library
  The given file had an invalid format for a library.
L1105 invalid object due to interrupted incremental compile
  Delete the object file, recompile the program, and relink.
L1106 unknown COMDAT allocation type for symbol; record ignored
  This is a translator error. The given symbol is either a routine or a data item.
  Note which translator (compiler or assembler) produced the incorrect object module and the circumstances in which it was produced. Please report this error to Microsoft Corporation by following the instructions in the Microsoft Product Assistance Request form at the back of one of your manuals.
L1107 unknown COMDAT selection type for symbol; record ignored
  This is a translator error. The given symbol is either a routine or a data item.
  Note which translator (compiler or assembler) produced the incorrect object module and the circumstances in which it was produced. Please report this error to Microsoft Corporation by following the instructions in the Microsoft Product Assistance Request form at the back of one of your manuals.
L1108 invalid format of debugging information
  This is a translator error.
  Note which translator (compiler or assembler) produced the incorrect object module and the circumstances in which it was produced. Please report this error to Microsoft Corporation by following the instructions in the Microsoft Product Assistance Request form at the back of one of your manuals.
L1113 unresolved COMDEF; internal error
  This is a translator error.
  Note which translator (compiler or assembler) produced the incorrect object module and the circumstances in which it was produced. Please report this error to Microsoft Corporation by following the instructions in the Microsoft Product Assistance Request form at the back of one of your manuals.
L1114 unresolved COMDAT symbol; internal error
  This is a translator error. The given symbol is either a routine or a data item.
  Note which translator (compiler or assembler) produced the incorrect object module and the circumstances in which it was produced. Please report this error to Microsoft Corporation by following the instructions in the Microsoft Product Assistance Request form at the back of one of your manuals.
L1115 option : option incompatible with overlays
  The given option cannot be used when linking an overlaid program.
L1117 unallocated COMDAT symbol; internal error
  This is a translator error. The given symbol is either a routine or a data item.
  Note which translator (compiler or assembler) produced the incorrect object module and the circumstances in which it was produced. Please report this error to Microsoft Corporation by following the instructions in the Microsoft Product Assistance Request form at the back of one of your manuals.
L1123 segment : segment defined both 16-bit and 32-bit
  Define the segment as either 16-bit or 32-bit.
L1127 far segment references not allowed with /TINY
  The /TINY option for producing a .COM file was used in a program that has a far segment reference.
  Far segment references are not compatible with the .COM file format. High-level-language programs cause this error unless the language supports the tiny memory model. An assembly-language program that references a segment address also causes this error.
  For example, the following causes this error:

mov ax, seg mydata

L1128 too many nested include files in module-definition file
  Nesting of INCLUDE statements in a module-definition (.DEF) file is limited to 10 levels.
L1129 missing or invalid include file name
  The file specification in an INCLUDE statement in the module-definition (.DEF) file was missing or was not a valid filename.