Copyright: Copyright © 1996 Sybase, Inc. and its subsidiaries. All rights reserved.   Monday, October 01, 2001 13:38:04


Index of Topics

- 1 -

1014 stack segment not found

1019 segment relocation at %a

1023 no starting address found, using %a

1027 redefinition of %S ignored

1028,2028 %S is an undefined reference

1032 record (type 0x%x) not processed

1038 DEBUG directive appears after object files

1043 duplicate exported ordinal

1044,2044 exported symbol %s not found

1045 segment attribute defined more than once

1046 segment name %s not found

1047 class name %s not found

1048 inconsistent attributes for automatic data segment

1050 invalid DLL specified in OLDLIBRARY option

1054 debugging information incompatible:  using line numbers only

1058 %s option not valid for %s executable

1059,2059 value for %s too large

1060 value for %s incorrect

1061 multiple values specified for REALBREAK

1062 export and import records not valid for %f

1069 unload CHECK procedure not found

1076 %s option multiply specified

1080 file %s is a %d-bit object file

1087 stack segment ignored in .COM file

1090 redefinition of %s by %s ignored

1098 Offset option must be a multiple of %dK

1101 invalid incremental information file

1102 object file %s not found for tracing

1103 library module %s(%s) not found for tracing

1107 undefined system name:  %s

1108 system %s defined more than once

1109 OFFSET option is less than the stack size

1110 library members not allowed in libfile

1111 error in default system block

1115 environment name %s not found

1117 segment number too high for a movable entry point

1118 heap size too large

1121 '%s' has already been exported

1124 lazy reference for %S has different default resolutions

1125 multiple aliases found for %S

1126 %s has been modified:  doing full relink

1130 %s is an invalid shared nlm file

1133 no realbreak specified for 16-bit code

1134 %s is an invalid message file

1136 relocation to a read/write data segment found at %a

1140 invalid message number

1141 virtual function table record for %s mismatched

1143 not enough memory to sort map file symbols

1145 %S is both pure virtual and non-pure virtual

1148 Invalid segment type specified

1149 Only one debugging format can be specified

1150 file %s has code for a different processor

1158 problem adding resource information

1162 relocations on iterated data not supported

1163 module has not been compiled with the "zv" option

1165 resource file %s too big

- 2 -

2002 ** internal ** - %s

2008 cannot open %s1 :  %s2

2010,3010 I/O error processing %s1 :  %s2

2011 invalid object file attribute

2012 invalid library file attribute

2015 bad relocation type specified

2016 %a:  absolute target invalid for self-relative relocation

2017 bad location specified for self-relative relocation at %a

2018 relocation offset at %a is out of range

2020 size of group %s exceeds 64k by %l bytes

2021 size of segment %s exceeds 64k by %l bytes

2022 cannot have a starting address with an imported symbol

2026 redefinition of reserved symbol %s

2029 premature end of file encountered

2030 multiple starting addresses found

2031 segment %s is in group %s and group %s

2033,3033 directive error near '%s'

2034 %a cannot have an offset with an imported symbol

2039 ALIGNMENT value too small

2040 ordinal in IMPORT directive not valid

2041 ordinal in EXPORT directive not valid

2042 too many IOPL words in EXPORT directive

2049 invalid STUB file

2051 STUB file name same as executable file name

2052 relocation at %a not in the same segment

2053 %a:  cannot reach a DLL with a relative relocation

2055 %a:  frame must be the same as the target in protected mode

2056 cannot find library member %s(%s)

2063 invalid relocation for flat memory model at %a

2064 cannot combine 32-bit segments with 16-bit segments

2065 REALBREAK symbol %s not found

2066 invalid relative relocation type for an import at %a

2067 %a:  cannot relocate between code and data in Novell formats

2068 absolute segment fixup not valid in protected mode

2070 START procedure not found

2071 EXIT procedure not found

2073 bad Novell file format specified

2074 circular alias found for %s

2082 invalid record type 0x%x

2083 cannot reference address %a from frame %x

2084 target offset exceeds 64K at %a

2086 invalid starting address for .COM file

2089 program too large for a .COM file

2092 NEWSEGMENT directive appears before object files

2093 cannot open %s

2094 i/o error processing %s

2099 symbol name too long:  %s

2119 wlib import statement incorrect

2120 application too large to run under DOS

2127 cannot export symbol %S

2132 curly brace delimited list incorrect

2146 %s is an invalid object file

2151 big endian code not supported

2152 no dictionary found

2154 cannot execute %s1 :  %s2

2155 relocation at %a to an improperly aligned target

2156 OPTION INCREMENTAL must be one of the first directives specified

2166 both %s1 and %s2 marked as starting symbols

- 3 -

3009 dynamic memory exhausted

3013 break key detected

3057 executable format has been established

3088 virtual memory exhausted

3114 environment name specified incorrectly

3122 no FILE directives found

3123 overlays are not supported in this version of the linker

3128 directive error near beginning of input

3129 address information too large

3131 cannot open spill file:  file already exists

3137 too many errors encountered

3138 invalid filename '%s'

3139 cannot have both 16-bit and 32-bit object files

3147 Ambiguous format specified

3157 no code or data present

3159 incremental linking only supports DWARF debugging information

3160 incremental linking does not support dead code elimination

3164 incremental linking does not support virtual function removal

- P -

Power++ Linker Diagnostic Messages


Table of Contents

Power++ Linker Diagnostic Messages

2002 ** internal ** - %s

2008 cannot open %s1 :  %s2

3009 dynamic memory exhausted

2010,3010 I/O error processing %s1 :  %s2

2011 invalid object file attribute

2012 invalid library file attribute

3013 break key detected

1014 stack segment not found

2015 bad relocation type specified

2016 %a:  absolute target invalid for self-relative relocation

2017 bad location specified for self-relative relocation at %a

2018 relocation offset at %a is out of range

1019 segment relocation at %a

2020 size of group %s exceeds 64k by %l bytes

2021 size of segment %s exceeds 64k by %l bytes

2022 cannot have a starting address with an imported symbol

1023 no starting address found, using %a

2026 redefinition of reserved symbol %s

1027 redefinition of %S ignored

1028,2028 %S is an undefined reference

2029 premature end of file encountered

2030 multiple starting addresses found

2031 segment %s is in group %s and group %s

1032 record (type 0x%x) not processed

2033,3033 directive error near '%s'

2034 %a cannot have an offset with an imported symbol

1038 DEBUG directive appears after object files

2039 ALIGNMENT value too small

2040 ordinal in IMPORT directive not valid

2041 ordinal in EXPORT directive not valid

2042 too many IOPL words in EXPORT directive

1043 duplicate exported ordinal

1044,2044 exported symbol %s not found

1045 segment attribute defined more than once

1046 segment name %s not found

1047 class name %s not found

1048 inconsistent attributes for automatic data segment

2049 invalid STUB file

1050 invalid DLL specified in OLDLIBRARY option

2051 STUB file name same as executable file name

2052 relocation at %a not in the same segment

2053 %a:  cannot reach a DLL with a relative relocation

1054 debugging information incompatible:  using line numbers only

2055 %a:  frame must be the same as the target in protected mode

2056 cannot find library member %s(%s)

3057 executable format has been established

1058 %s option not valid for %s executable

1059,2059 value for %s too large

1060 value for %s incorrect

1061 multiple values specified for REALBREAK

1062 export and import records not valid for %f

2063 invalid relocation for flat memory model at %a

2064 cannot combine 32-bit segments with 16-bit segments

2065 REALBREAK symbol %s not found

2066 invalid relative relocation type for an import at %a

2067 %a:  cannot relocate between code and data in Novell formats

2068 absolute segment fixup not valid in protected mode

1069 unload CHECK procedure not found

2070 START procedure not found

2071 EXIT procedure not found

2073 bad Novell file format specified

2074 circular alias found for %s

1076 %s option multiply specified

1080 file %s is a %d-bit object file

2082 invalid record type 0x%x

2083 cannot reference address %a from frame %x

2084 target offset exceeds 64K at %a

2086 invalid starting address for .COM file

1087 stack segment ignored in .COM file

3088 virtual memory exhausted

2089 program too large for a .COM file

1090 redefinition of %s by %s ignored

2092 NEWSEGMENT directive appears before object files

2093 cannot open %s

2094 i/o error processing %s

1098 Offset option must be a multiple of %dK

2099 symbol name too long:  %s

1101 invalid incremental information file

1102 object file %s not found for tracing

1103 library module %s(%s) not found for tracing

1107 undefined system name:  %s

1108 system %s defined more than once

1109 OFFSET option is less than the stack size

1110 library members not allowed in libfile

1111 error in default system block

3114 environment name specified incorrectly

1115 environment name %s not found

1117 segment number too high for a movable entry point

1118 heap size too large

2119 wlib import statement incorrect

2120 application too large to run under DOS

1121 '%s' has already been exported

3122 no FILE directives found

3123 overlays are not supported in this version of the linker

1124 lazy reference for %S has different default resolutions

1125 multiple aliases found for %S

1126 %s has been modified:  doing full relink

2127 cannot export symbol %S

3128 directive error near beginning of input

3129 address information too large

1130 %s is an invalid shared nlm file

3131 cannot open spill file:  file already exists

2132 curly brace delimited list incorrect

1133 no realbreak specified for 16-bit code

1134 %s is an invalid message file

1136 relocation to a read/write data segment found at %a

3137 too many errors encountered

3138 invalid filename '%s'

3139 cannot have both 16-bit and 32-bit object files

1140 invalid message number

1141 virtual function table record for %s mismatched

1143 not enough memory to sort map file symbols

1145 %S is both pure virtual and non-pure virtual

2146 %s is an invalid object file

3147 Ambiguous format specified

1148 Invalid segment type specified

1149 Only one debugging format can be specified

1150 file %s has code for a different processor

2151 big endian code not supported

2152 no dictionary found

2154 cannot execute %s1 :  %s2

2155 relocation at %a to an improperly aligned target

2156 OPTION INCREMENTAL must be one of the first directives specified

3157 no code or data present

1158 problem adding resource information

3159 incremental linking only supports DWARF debugging information

3160 incremental linking does not support dead code elimination

1162 relocations on iterated data not supported

1163 module has not been compiled with the "zv" option

3164 incremental linking does not support virtual function removal

1165 resource file %s too big

2166 both %s1 and %s2 marked as starting symbols


Power++ Linker Diagnostic Messages

The Power++ Linker issues three classes of messages; fatal errors, errors and warnings.  Each message has a 4-digit number associated with it.  Fatal messages start with the digit 3, error messages start with the digit 2, and warning messages start with the digit 1.  It is possible for a message to be issued as a warning or an error.

If a fatal error occurs, the linker will terminate immediately and no executable file will be generated.

If an error occurs, the linker will continue to execute so that all possible errors are issued.  However, no executable file will be generated since these errors do not permit a proper executable file to be generated.

If a warning occurs, the linker will continue to execute.  A warning message is usually informational and does not prevent the creation of a proper executable file.  However, all warnings should eventually be corrected.

The messages listed contain references to %s, %S, %a, %x, %d, %l, and %f.  They represent strings that are substituted by the Power++ Linker to make the error message more precise.

1.	%s represents a string.  This may be a segment or group name, or the name of a linker directive or option.

2.	%S represents the name of a symbol.

3.	%a represents an address.  The format of the address depends on the format of the executable file being generated.

4.	%x represents a hexadecimal number.

5.	%d represents integers in the range -32768 and 32767.

6.	%l represents integers in the range -2147483648 and 2147483647.

7.	%f represents an executable file format such as DOS, WINDOWS, PHARLAP, NOVELL, OS2, QNX or ELF.

The following is a list of all warning and error messages produced by the Power++ Linker followed by a description of the message.  A message may contain more than one reference to "%s".  In such a case, the description will reference them as "%sn" where n is the occurrence of "%s" in the message.


2002 ** internal ** - %s

If this message occurs, you have found a bug in the linker and should report it.


2008 cannot open %s1 :  %s2

An error occurred while trying to open the file "%s1".  The reason for the error is given by "%s2".  Generally this error message is issued when the linker cannot open a file (e.g., an object file or an executable file).


3009 dynamic memory exhausted

The linker uses all available memory when linking an application.  For DOS-hosted versions of the linker, this includes expanded memory (EMS) and extended memory.  When all available memory is used, a spill file will be used.  Therefore, unless you are low on disk space, the linker will always be able to generate the executable file.


2010,3010 I/O error processing %s1 :  %s2

An error has occurred while processing the file "%s1".  The cause of the error is given by "%s2".  This error is usually detected while reading from object and library files or writing to the spill file or executable file.  For example, this error would be issued if a "disk full" condition existed.


2011 invalid object file attribute

The linker encountered an object file that was not of the format required of an object file.


2012 invalid library file attribute

The linker encountered a library file that was not of the format required of a library file.


3013 break key detected

The linking process was interrupted by the user from the keyboard.


1014 stack segment not found

The linker identifies the stack segment by a segment defined as having the "STACK" attribute.  This message is issued if no such segment is encountered.  This usually happens if the linker cannot find the run-time libraries required to link your application.


2015 bad relocation type specified

This message is issued if a a relocation is found in an object file which the linker does not support.


2016 %a:  absolute target invalid for self-relative relocation

This message is issued, for example, if a near call or jump is made to an external symbol which is defined using the "EQU" assembler directive.  "%a" identifies the location of the near call or jump instruction.


2017 bad location specified for self-relative relocation at %a

This message is issued if a bad fixup is encountered.  "%a" defines the location of the fixup.


2018 relocation offset at %a is out of range

This message is issued when the offset part of a relocation exceeds 64K in a 16-bit executable or an Alpha executable.  "%a" defines the location of the fixup.  The error is most commonly caused by errors in coding assembly language routines.  Consider a module that references an external symbol that is defined in a segment different from the one in which the reference occurred.  The module, however, specifies that the segment in which the symbol is defined is the same segment as the segment that references the symbol.  This error is most commonly caused when the "EXTRN" assembler directive is placed after the "SEGMENT" assembler directive for the segment referencing the symbol.  If the segment that references the symbol is allocated far enough away from the segment that defines the symbol, the linker will issue this message.

This message should not be issued for a Power++ Win32 executable.  If it is issued, please report this problem.


1019 segment relocation at %a

This message is issued when a 16-bit segment relocation is encountered and "FORMAT DOS COM", "FORMAT PHARLAP" or "FORMAT NOVELL" has been specified.  None of the above executable file formats allow segment relocation.  "%a" identifies the location of the segment relocation.

This message should not be issued for a Power++ Win32 executable.  If it is issued, please report this problem.


2020 size of group %s exceeds 64k by %l bytes

The group "%s" has exceeded the maximum size (64K) allowed for a group in a 16-bit executable by "%l" bytes.  Usually, the group is "DGROUP" (the default data segment) and your application has placed too much data in this group.

This message should not be issued for a Power++ Win32 executable.  If it is issued, please report this problem.


2021 size of segment %s exceeds 64k by %l bytes

The segment "%s" has exceeded the maximum size (64K) for a segment in a 16-bit executable.  This usually occurs if you are linking a 16-bit application that has been compiled for a small code model and the size of the application has grown in such a way that the size of the code segment ("_TEXT") has exceeded 64K.  You can compile your application for a large code model if you cannot reduce the amount of code in your application.

This message should not be issued for a Power++ Win32 executable.  If it is issued, please report this problem.


2022 cannot have a starting address with an imported symbol

When generating an OS/2 executable file, a symbol imported from a DLL cannot be a start address.  When generating a NetWare 386 executable file, a symbol imported from an NLM cannot be a start address.

This message should not be issued for a Power++ Win32 executable.  If it is issued, please report this problem.


1023 no starting address found, using %a

The starting address defines the location where execution is to begin and must be defined by a special "module end" record in one of the object files linked into your application.  This message is issued if no such record is encountered in which case a default starting address, namely "%a", will be used.  This usually happens if the linker cannot find the run-time libraries required to link your application.


2026 redefinition of reserved symbol %s

The linker defines certain reserved symbols.  These symbols are "_edata", "_end", "__OVLTAB__", "__OVLSTARTVEC__", "__OVLENDVEC__", "__LOVLLDR__", "__NOVLLDR__", "__SOVLLDR__", "__LOVLINIT__", "__NOVLINIT__" and "__SOVLINIT__".  The symbols "_edata" and "_end" are defined only if the "DOSSEG" option is specified.  Your application must not attempt to define these symbols.  "%s" identifies the reserved symbol.


1027 redefinition of %S ignored

The symbol "%S" has been defined by more that one module; the first definition is used.  This is only a warning message.  Note that if a symbol is defined more than once and its address is the same in both cases, no warning will be issued.


1028,2028 %S is an undefined reference

The symbol "%S" has been referenced but not defined.  Check that the spelling of the symbol is consistent.


2029 premature end of file encountered

This error is issued while processing object files and object modules from libraries and is caused if the end of the file or module is reached before the "module end" record is encountered.  The probable cause is a truncated object file.


2030 multiple starting addresses found

The starting address defines the location where execution is to begin and is defined by a "module end" record in a particular object file.  This message is issued if more than one object file contains a "module end" record that defines a starting address.


2031 segment %s is in group %s and group %s

The segment "%s1" has been defined to be in group "%s2" in one module and in group "%s3" in another module.  A segment can only belong to one group.


1032 record (type 0x%x) not processed

An object record type not supported by the linker has been encountered.  This message is issued when linking object modules created by other compilers or assemblers that create object files with records that the linker does not support.


2033,3033 directive error near '%s'

A syntax error occurred while the linker was processing directives.  "%s" specifies where the error occurred.


2034 %a cannot have an offset with an imported symbol

An imported symbol is one that was specified in an "IMPORT" directive.  Imported symbols are defined in Windows or OS/2 16-bit DLLs and in Netware 386 NLMs.  References to imported symbols must always have an offset value of 0.  If "DosWrite" is an imported symbol, then referencing "DosWrite+2" is illegal.  "%a" defines the location of the illegal reference.

This message should not be issued for a Power++ Win32 executable.  If it is issued, please report this problem.


1038 DEBUG directive appears after object files

This message is issued if the first "DEBUG" directive appears after a "FILE" directive.  A common error is to specify a "DEBUG" directive after the "FILE" directives in which case no debugging information for those object files is generated in the executable file.

This message should not be issued when using Power++.  If it is issued, please report this problem.


2039 ALIGNMENT value too small

The value specified in the "ALIGNMENT" option refers to the alignment of segments in the executable file.  For 16-bit Windows or 16-bit OS/2, segments in the executable file are pointed to by a segment table.  An entry in the segment table contains a 16-bit value which is a multiple of the alignment value.  Together they form the offset of the segment from the start of the segment table.  The smaller the alignment, the bigger the value required in the segment table to point to the segment.  If this value exceeds 64K, then a larger alignment value is required to decrease the size that goes in the segment table.

This message should not be issued for a Power++ Win32 executable.  If it is issued, please report this problem.


2040 ordinal in IMPORT directive not valid

The specified ordinal in the "IMPORT" directive is incorrect (e.g., -1).  An ordinal number must be in the range 0 to 65535.

This message should not be issued for a Power++ Win32 executable.  If it is issued, please report this problem.


2041 ordinal in EXPORT directive not valid

The specified ordinal in the "EXPORT" directive is incorrect (e.g., -1).  An ordinal number must be in the range 0 to 65535.

This message should not be issued for a Power++ Win32 executable.  If it is issued, please report this problem.


2042 too many IOPL words in EXPORT directive

The maximum number of IOPL words for a 16-bit executable is 63.

This message should not be issued for a Power++ Win32 executable.  If it is issued, please report this problem.


1043 duplicate exported ordinal

This message is issued for ordinal numbers specified in an "EXPORT" directive for symbols belonging to DLLs.  This message is issued if an ordinal number is assigned to two different symbols.  A warning is issued and the linker assigns a non-used ordinal number to the symbol that caused the warning.


1044,2044 exported symbol %s not found

This message is issued when generating a DLL or NetWare 386 NLM.  An attempt has been made to define an entry point into a DLL or NLM that does not exist.


1045 segment attribute defined more than once

A segment appearing in a "SEGMENT" directive has been given conflicting or duplicate attributes.

This message should not be issued for a Power++ Win32 executable.  If it is issued, please report this problem.


1046 segment name %s not found

The segment name specified in a "SEGMENT" directive has not been defined.

This message should not be issued for a Power++ Win32 executable.  If it is issued, please report this problem.


1047 class name %s not found

The class name specified in a "SEGMENT" directive has not been defined.

This message should not be issued for a Power++ Win32 executable.  If it is issued, please report this problem.


1048 inconsistent attributes for automatic data segment

This message is issued for Windows or OS/2 16-bit executable files.  Two conflicting attributes were specified for the automatic data segment.  For example, "LOADONCALL" and "PRELOAD" are conflicting attributes.  Only the first attribute is used.

This message should not be issued for a Power++ Win32 executable.  If it is issued, please report this problem.


2049 invalid STUB file

The stub file is not a valid executable file.  The stub file is only used for OS/2 executable files and Windows (both Win16 and Win32) executable files.

This message should not be issued for a Power++ Win32 executable.  If it is issued, please report this problem.


1050 invalid DLL specified in OLDLIBRARY option

The DLL specified in an "OLDLIBRARY" option is not a valid dynamic link library.

This message should not be issued for a Power++ Win32 executable.  If it is issued, please report this problem.


2051 STUB file name same as executable file name

When generating an OS/2 or Windows (Win16, Win32) executable file, the stub file name must not be same as the executable file name.

This message should not be issued for a Power++ Win32 executable.  If it is issued, please report this problem.


2052 relocation at %a not in the same segment

This message is only issued for Windows (Win16), OS/2, Phar Lap, and QNX executables.  A relative fixup must relocate to the same segment.  "%a" defines the location of the fixup.

This message should not be issued for a Power++ Win32 executable.  If it is issued, please report this problem.


2053 %a:  cannot reach a DLL with a relative relocation

A reference to a symbol in an OS/2 or Windows 16-bit DLL must not be relative.  "%a" defines the location of the reference.

This message should not be issued for a Power++ Win32 executable.  If it is issued, please report this problem.


1054 debugging information incompatible:  using line numbers only

An attempt has been made to link an object file with out-of-date debugging information.

This message should not be issued for a Power++ Win32 executable.  If it is issued, please report this problem.


2055 %a:  frame must be the same as the target in protected mode

Each relocation consists of three components; the location being relocated, the target (or address being referenced), and the frame (the segment to which the target is adjusted).  In protected mode, the segment of the target must be the same as the frame.  "%a" defines the location of the fixup.  This message does not apply to 32-bit OS/2 and Windows (Win32).

This message should not be issued for a Power++ Win32 executable.  If it is issued, please report this problem.


2056 cannot find library member %s(%s)

Library member "%s2" in library file "%s1" could not be found.  This message is issued if the library file could not be found or the library file did not contain the specified member.


3057 executable format has been established

This message is issued if there is more than one "FORMAT" directive.

This message should not be issued for a Power++ Win32 executable.  If it is issued, please report this problem.


1058 %s option not valid for %s executable

The option "%s1" can only be specified if an executable file whose format is "%s2" is being generated.

This message should not be issued for a Power++ Win32 executable.  If it is issued, please report this problem.


1059,2059 value for %s too large

The value specified for option "%s" exceeds its limit.

This message should not be issued for a Power++ Win32 executable.  If it is issued, please report this problem.


1060 value for %s incorrect

The value specified for option "%s" is not in the allowable range.

This message should not be issued for a Power++ Win32 executable.  If it is issued, please report this problem.


1061 multiple values specified for REALBREAK

The "REALBREAK" option for Phar Lap executables can only be specified once.

This message should not be issued for a Power++ Win32 executable.  If it is issued, please report this problem.


1062 export and import records not valid for %f

This message is issued if a reference to a DLL is encountered and the executable file format is not one that supports DLLs.  The file format is represented by "%f".

This message should not be issued for a Power++ Win32 executable.  If it is issued, please report this problem.


2063 invalid relocation for flat memory model at %a

A segment relocation in the flat memory model was encountered.  "%a" defines the location of the fixup.


2064 cannot combine 32-bit segments with 16-bit segments

A 16-bit segment and a 32-bit segment have been encountered.  Mixing object files created by a 286 compiler and object files created by a 386 compiler is the most probable cause of this error.


2065 REALBREAK symbol %s not found

The symbol specified in the "REALBREAK" option for Phar Lap executables has not been defined.

This message should not be issued for a Power++ Win32 executable.  If it is issued, please report this problem.


2066 invalid relative relocation type for an import at %a

This message is issued only if a NetWare 386 executable file is being generated.  An imported symbol is one that was specified in an "IMPORT" directive or an import library.  Any reference to an imported symbol must not refer to the segment of the imported symbol.  "%a" defines the location of the reference.

This message should not be issued for a Power++ Win32 executable.  If it is issued, please report this problem.


2067 %a:  cannot relocate between code and data in Novell formats

This message is issued only if a NetWare 386 executable file is being generated.  Segment relocation is not permitted.  "%a" defines the location of the fixup.

This message should not be issued for a Power++ Win32 executable.  If it is issued, please report this problem.


2068 absolute segment fixup not valid in protected mode

A reference to an absolute location is not allowed in protected mode.  A protected-mode application is one that is being generated for OS/2, FlashTek's DOS extender, Phar Lap's 386|DOS-Extender, Tenberry Software's DOS/4G or DOS/4GW DOS extender, Novell's NetWare 386 operating system, Windows NT, or Windows 95.  An absolute location is most commonly defined by the "EQU" assembler directive.


1069 unload CHECK procedure not found

This message is issued only if a NetWare 386 executable file is being generated.  The symbol specified in the "CHECK" option has not been defined.

This message should not be issued for a Power++ Win32 executable.  If it is issued, please report this problem.


2070 START procedure not found

This message is issued only if a NetWare 386 executable file is being generated.  The symbol specified in the "START" option has not been defined.  The default "START" symbol is "_Prelude".

This message should not be issued for a Power++ Win32 executable.  If it is issued, please report this problem.


2071 EXIT procedure not found

This message is issued only if a NetWare 386 executable file is being generated.  The symbol specified in the "EXIT" option has not been defined.  The default "STOP" symbol is "_Stop".

This message should not be issued for a Power++ Win32 executable.  If it is issued, please report this problem.


2073 bad Novell file format specified

An invalid NetWare 386 executable file format was specified.  Valid formats are NLM, DSK, NAM and LAN.

This message should not be issued for a Power++ Win32 executable.  If it is issued, please report this problem.


2074 circular alias found for %s

An attempt was made to circularly define the symbol name specified in an ALIAS directive.  For example:

     ALIAS foo1=foo2, foo2=foo1

This message should not be issued for a Power++ Win32 executable.  If it is issued, please report this problem.


1076 %s option multiply specified

The option "%s" can only be specified once.

This message should not be issued for a Power++ Win32 executable.  If it is issued, please report this problem.


1080 file %s is a %d-bit object file

A 32-bit attribute was encountered while generating a 16-bit executable file format, or a 16-bit attribute was encountered while generating a 32-bit executable file format.


2082 invalid record type 0x%x

An object record type not recognized by the linker has been encountered.  This message is issued when linking object modules created by other compilers or assemblers that create object files with records that the linker does not recognize.


2083 cannot reference address %a from frame %x

When generating a 16-bit executable, the offset of a referenced symbol was greater than 64K from the location referencing it.

This message should not be issued for a Power++ Win32 executable.  If it is issued, please report this problem.


2084 target offset exceeds 64K at %a

When generating a 16-bit executable, the computed offset for a symbol exceeds 64K.  "%a" defines the location of the fixup.

This message should not be issued for a Power++ Win32 executable.  If it is issued, please report this problem.


2086 invalid starting address for .COM file

The value of the segment of the starting address for a 16-bit DOS "COM" file, as specified in the map file, must be 0.

This message should not be issued for a Power++ Win32 executable.  If it is issued, please report this problem.


1087 stack segment ignored in .COM file

A stack segment must not be defined when generating a 16-bit DOS "COM" file.  Only a single physical segment is allowed in a DOS "COM" file.  The stack is allocated from the high end of the physical segment.  That is, the initial value of SP is hexadecimal FFFE.

This message should not be issued for a Power++ Win32 executable.  If it is issued, please report this problem.


3088 virtual memory exhausted

This message is similar to the "dynamic memory exhausted" message.  The DOS-hosted version of the linker has run out of memory trying to keep track of virtual memory blocks.  Virtual memory blocks are allocated from expanded memory, extended memory and the spill file.

This message should not be issued for a Power++ Win32 executable.  If it is issued, please report this problem.


2089 program too large for a .COM file

The total size of a 16-bit DOS "COM" program must not exceed 64K.  That is, the total amount of code and data must be less than 64K since only a single physical segment is allowed in a DOS "COM" file.  You must decrease the size of your program or generate a DOS "EXE" file.

This message should not be issued for a Power++ Win32 executable.  If it is issued, please report this problem.


1090 redefinition of %s by %s ignored

The symbol "%s1" has been redefined by module "%s2".  This message is issued when the size specified in the "NAMELEN" option has caused two symbols to map to the same symbol.  For example, if the symbols routine1 and routine2 are encountered and "OPTION NAMELEN=7" is specified, then this message will be issued since the first seven characters of the two symbols are identical.

This message should not be issued for a Power++ Win32 executable.  If it is issued, please report this problem.


2092 NEWSEGMENT directive appears before object files

The 16-bit "NEWSEGMENT" directive must appear after a "FILE" directive.

This message should not be issued for a Power++ Win32 executable.  If it is issued, please report this problem.


2093 cannot open %s

This message is issued when the linker is unable to open a file and is unable to determine the cause.


2094 i/o error processing %s

This message is issued when the linker has encountered an i/o error while processing the file and is unable to determine the cause.  This message may be issued when reading from object and library files, or writing to the executable and spill file.


1098 Offset option must be a multiple of %dK

The value specified with the "OFFSET" option must be a multiple of 4K (4096) for Phar Lap and QNX executables and a multiple of 64K (65536) for OS/2 and Windows 32-bit executables.

This message should not be issued for a Power++ Win32 executable.  If it is issued, please report this problem.


2099 symbol name too long:  %s

The maximum size (approximately 2048) of a symbol has been exceeded.  Reduce the size of the symbol to avoid this error.


1101 invalid incremental information file

The incremental information file is corrupt or from an older version of the compiler.  The old information file and the executable will be deleted and new ones will be generated.


1102 object file %s not found for tracing

A "SYMTRACE" or "MODTRACE" directive contained an object file (namely %s) that could not be found.

This message should not be issued for a Power++ Win32 executable.  If it is issued, please report this problem.


1103 library module %s(%s) not found for tracing

A "SYMTRACE" or "MODTRACE" directive contained an object module (namely module %s1 in library %s2 ) that could not be found.

This message should not be issued for a Power++ Win32 executable.  If it is issued, please report this problem.


1107 undefined system name:  %s

The name %s was referenced in a "SYSTEM" directive but never defined by a system block definition.

This message should not be issued for a Power++ Win32 executable.  If it is issued, please report this problem.


1108 system %s defined more than once

The name %s has appeared in a system definition block more than once.

This message should not be issued for a Power++ Win32 executable.  If it is issued, please report this problem.


1109 OFFSET option is less than the stack size

For the QNX operating system, the stack is placed at the front of the executable image and thus the initial load address must leave enough room for the stack.

This message should not be issued for a Power++ Win32 executable.  If it is issued, please report this problem.


1110 library members not allowed in libfile

Only object files are allowed in a "LIBFILE" directive.  This message will be issued if a module from a library file is specified in a "LIBFILE" directive.

This message should not be issued for a Power++ Win32 executable.  If it is issued, please report this problem.


1111 error in default system block

The default system block definition (system name "286" for 16-bit applications) and (system name "386" for 32-bit applications) contains a directive error.  The system name "286" or "386" is automatically referenced by the linker when the format of the executable cannot be determined (i.e.  no "FORMAT" directive has been specified).

This message should not be issued for a Power++ Win32 executable.  If it is issued, please report this problem.


3114 environment name specified incorrectly

This message is specified if the environment variable is not properly enclosed between two percent (%) characters.


1115 environment name %s not found

The environment variable %s has not been defined in the environment space.


1117 segment number too high for a movable entry point

The segment number of a moveable segment must not exceed 255 for 16-bit executables.  Reduce the number of segments or use the "PACKCODE" option.

This message should not be issued for a Power++ Win32 executable.  If it is issued, please report this problem.


1118 heap size too large

This message is issued if the size of the heap, stack and the default data segment (group DGROUP) exceeds 64K for 16-bit executables.

This message should not be issued for a Power++ Win32 executable.  If it is issued, please report this problem.


2119 wlib import statement incorrect

The "EXPORT" directive allows you to specify a library command file.  This command file is scanned for any librarian commands that create import library entries.  An invalid command was detected.

This message should not be issued for a Power++ Win32 executable.  If it is issued, please report this problem.


2120 application too large to run under DOS

This message is issued if the size of the 16-bit DOS application exceeds 1M.


1121 '%s' has already been exported

The linker has detected an attempt to export a symbol more than once.  For example, a name appearing in more than one "EXPORT" directive will cause this message to be issued.  Also, if you have declared a symbol as an export in your source and have also specified the same symbol in an "EXPORT" directive, this message will be issued.  This message is only a warning.


3122 no FILE directives found

This message is issued if no "FILE" directive has been specified.  In other words, you have specified no object files to link.

This message should not be issued for a Power++ Win32 executable.  If it is issued, please report this problem.


3123 overlays are not supported in this version of the linker

This version of the linker does not support the creation of overlaid 16-bit executables.


1124 lazy reference for %S has different default resolutions

A lazy external reference is one which has two resolutions:  a preferred one and a default one which is used if the preferred one is not found.  In this case, the linker has found two lazy references that have the same preferred resolution but different default resolutions.


1125 multiple aliases found for %S

The linker has found a name which has been aliased to two different symbols.


1126 %s has been modified:  doing full relink

The linker has determined that the time stamps on the executable file and symbolic information file (.sym) are different.  An incremental link will not be done.


2127 cannot export symbol %S

An attempt was made to export a symbol defined with an absolute address or to export an imported symbol.  It is not possible to export these symbols with the "EXPORT" directive.


3128 directive error near beginning of input

The linker detected an error at the start of the command line.

This message should not be issued for a Power++ Win32 executable.  If it is issued, please report this problem.


3129 address information too large

The linker has encountered a segment that appears in more than 11000 object files.  An empty segment does not affect this limit.  This can only occur with WATCOM debugging information.  If this message appears, switch to DWARF debugging information.

This message should not be issued for a Power++ Win32 executable.  If it is issued, please report this problem.


1130 %s is an invalid shared nlm file

The NLM specified in a "SHAREDNLM" option is not valid.

This message should not be issued for a Power++ Win32 executable.  If it is issued, please report this problem.


3131 cannot open spill file:  file already exists

All 26 of the DOS-hosted linker's possible spill file names are in use.  Spill files can accumulate when linking on a multi-tasking system and the directory in which the spill file is created is identical for each invocation of the linker.

This message should not be issued for a Power++ Win32 executable.  If it is issued, please report this problem.


2132 curly brace delimited list incorrect

A list delimited by curly braces is not correct.  The most likely cause is a missing right brace.

This message should not be issued for a Power++ Win32 executable.  If it is issued, please report this problem.


1133 no realbreak specified for 16-bit code

While generating a Phar Lap executable file, both 16-bit and 32-bit code was linked together and no "REALBREAK" option has been specified.  A warning message is issued since this may be a potential problem.

This message should not be issued for a Power++ Win32 executable.  If it is issued, please report this problem.


1134 %s is an invalid message file

The file specified in a "MESSAGE" option for NetWare 386 executable files is invalid.

This message should not be issued for a Power++ Win32 executable.  If it is issued, please report this problem.


1136 relocation to a read/write data segment found at %a

The "RWRELOCCHECK" option for 16-bit Windows (Win16) executables has been specified and the linker has detected a segment relocation to a read/write data segment.

This message should not be issued for a Power++ Win32 executable.  If it is issued, please report this problem.


3137 too many errors encountered

This message is issued when the number of error messages issued by the linker exceeds the number specified by the "MAXERRORS" option.

This message should not be issued for a Power++ Win32 executable.  If it is issued, please report this problem.


3138 invalid filename '%s'

The linker performs a simple filename validation whenever a filename is specified to the linker.  For example, a directory specification is not a valid filename.


3139 cannot have both 16-bit and 32-bit object files

It is impossible to mix 16-bit code and 32-bit code in the same executable when generating a QNX executable file.

This message should not be issued for a Power++ Win32 executable.  If it is issued, please report this problem.


1140 invalid message number

An invalid message number has been specified in a "DISABLE" directive.

This message should not be issued for a Power++ Win32 executable.  If it is issued, please report this problem.


1141 virtual function table record for %s mismatched

The linker performs a consistency check to ensure that the C++ compiler has not generated incorrect virtual function information.  If the message is issued, please report this problem.


1143 not enough memory to sort map file symbols

There was not enough memory for the linker to sort the symbols in the "Memory Map" portion of the map file.  This will only occur when the "SORT GLOBAL" option has been specified.

This message should not be issued for a Power++ Win32 executable.  If it is issued, please report this problem.


1145 %S is both pure virtual and non-pure virtual

A function has been declared both as "pure" and "non-pure" virtual.


2146 %s is an invalid object file

Something was encountered in the object file that cannot be processed by the linker.


3147 Ambiguous format specified

Not enough of the FORMAT directive attributes were specified to enable the linker to determine the executable file format.  For example,

     FORMAT OS2

will generate this message.

This message should not be issued for a Power++ Win32 executable.  If it is issued, please report this problem.


1148 Invalid segment type specified

The segment type must be one of CODE or DATA.

This message should not be issued for a Power++ Win32 executable.  If it is issued, please report this problem.


1149 Only one debugging format can be specified

The debugging format must be one of WATCOM, Codeview, Dwarf (default), or Novell.  You cannot specify multiple debugging formats.

This message should not be issued for a Power++ Win32 executable.  If it is issued, please report this problem.


1150 file %s has code for a different processor

An object file has been encountered which contains code compiled for a different processor (e.g., an Intel application and an Alpha object file).


2151 big endian code not supported

Big endian code is not supported by the linker.


2152 no dictionary found

No symbol search dictionary was found in a library that the linker attempted to process.


2154 cannot execute %s1 :  %s2

An attempt by the linker to spawn another application failed.  The application is specified by "%s1" and the reason for the failure is specified by "%s2".


2155 relocation at %a to an improperly aligned target

Some relocations in Alpha executables require that the object be aligned on a 4 byte boundary.

This message should not be issued for a Power++ Win32 executable.  If it is issued, please report this problem.


2156 OPTION INCREMENTAL must be one of the first directives specified

The option must be specified before any option or directive which modifies the linker's symbol table (e.g., IMPORT, EXPORT, REFERENCE, ALIAS).

This message should not be issued for a Power++ Win32 executable.  If it is issued, please report this problem.


3157 no code or data present

The linker requires that there be at least 1 byte of either code or data in the executable.

This message should not be issued for a Power++ Win32 executable.  If it is issued, please report this problem.


1158 problem adding resource information

The resource file is invalid or corrupt.


3159 incremental linking only supports DWARF debugging information

When OPTION INCREMENTAL is used, you cannot specify non-Dwarf debugging information for the executable.  You must specify DEBUG DWARF when requesting debugging information.

This message should not be issued for a Power++ Win32 executable.  If it is issued, please report this problem.


3160 incremental linking does not support dead code elimination

When OPTION INCREMENTAL is used, you cannot specify OPTION ELIMINATE.

This message should not be issued for a Power++ Win32 executable.  If it is issued, please report this problem.


1162 relocations on iterated data not supported

An object file was encountered that contained an iterated data record that requires relocation.  This is most commonly caused by a module coded in assembly language.


1163 module has not been compiled with the "zv" option

When OPTION VFREMOVAL is used, all object files must be compiled with the "zv" option.  The linker has detected an object file that has not been compiled with this option.


3164 incremental linking does not support virtual function removal

When OPTION INCREMENTAL is used, you cannot also specify OPTION VFREMOVAL.

This message should not be issued for a Power++ Win32 executable.  If it is issued, please report this problem.


1165 resource file %s too big

The resource file specified in OPTION RESOURCE was too big to fit inside the QNX executable.  The maximum size is approximately 32000 bytes.

This message should not be issued for a Power++ Win32 executable.  If it is issued, please report this problem.


2166 both %s1 and %s2 marked as starting symbols

If the linker sees that there is more than one starting address specified in the program and they have symbol names associated with them, it will emit this error message.  If there is more than one starting address specified and at least one of them is unnamed, it will issue message 2030.