The Watcom Linker issues three classes of messages;
each message has a 4-digit number associated with it:
- fatal messages start with the digit 3
- error messages start with the digit 2
- warning messages start with the digit 1.
It's possible for a message to be issued as a warning or an error.
If a fatal error occurs, the linker terminates immediately, and no
executable file is generated.
If an error occurs, the linker continues to execute so that all
possible errors are issued.
However, no executable file is generated since these errors do
not permit a proper executable file to be generated.
If a warning occurs, the linker continues to execute.
A warning message is usually informational and doesn't prevent the
creation of a proper executable file.
However, you should eventually correct all warnings.
The messages listed contain references to %s, %S,
%a, %x, %d, and %l.
They represent strings that are substituted by the Watcom Linker to make
the error message more precise:
- %s
- represents a string. This may be a segment or group name, or the name
of a linker directive or option.
- %S
- represents the name of a symbol.
- %a
- represents an address. The format of the address depends on the
format of the executable file being generated.
- %x
- represents a hexadecimal number.
- %d
- represents integers in the range -32768 and 32767.
- %l
- represents integers in the range -2147483648 and 2147483647.
The following is a list of all warning and error messages produced by
the Watcom Linker followed by a description of the message.
The messages are arranged in ascending order by message number, ignoring the
first digit (which indicates the severity of the message).
A message may contain more than one reference to %s.
In such a case, the description references them as
%sn, where n
is the occurrence of %s in the message.
To use this table of links, drop the first digit of your error message, and then
look for the appropriate range:
- MSG 2002 ** internal ** - %s
- If this message occurs, you've found a bug in the Watcom Linker, and
should contact QNX Software Systems Limited.
- MSG 2008 cannot open %s : %s
- 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 Watcom Linker can't open
an object file or directive file.
- MSG 3009 dynamic memory exhausted
- The Watcom Linker uses all available memory when linking an
application.
When all available memory is used, a spill file is used.
Therefore, unless you're low on disk space, the Watcom Linker is always
able to generate the executable file.
Dynamic memory is the memory the Watcom Linker uses to build its internal
data structures and symbol table.
A spill file isn't used for dynamic memory.
If the Watcom Linker issues this message, it can't link your application.
The following are suggestions that may help you in this situation:
- Concatenate all your object files into one, and specify only the
resulting object file as input to the Watcom Linker.
For example, you can issue the following commands:
cat *.obj > all.tmp
mv all.tmp all.obj
This significantly reduces the size of the file list the Watcom
Linker must maintain.
- Object files may contain a record that specifies the module name.
This information is used by the Watcom Debugger to locate modules
during a debugging session, and usually contains the full path of
the source file.
This can consume a significant amount of memory when many such object
files are being linked.
If your source is being compiled by the Watcom C or C++ compiler, you
can use the nm option to set the module name to just the
file name. This reduces the amount of memory required by the Watcom
Linker.
If you're using the Watcom Debugger, wd, to debug your
application, you
may have to use the Source Path command in the debugger's File menu
so that the source corresponding to a module can be located. See the
``File
Menu'' in the Debugger Environment chapter of
the Watcom Debugger User's Guide.
- Typically, when you're compiling a program for a large code model,
each module defines a different text segment.
If you're compiling your application using the Watcom C or C++
compiler, you can reduce the number of text segments
that the Watcom Linker has to process by specifying the nt
option.
The nt option allows you to specify the name of the
text segment so that a group of object files define the
same text segment.
- MSG 2010,3010 I/O error processing %s :
%s
- 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 is issued if your disk is full.
- MSG 2011 invalid object file attribute
- The Watcom Linker encountered an object file that wasn't of the format
required of an object file.
- MSG 2012 invalid library file attribute
- The Watcom Linker encountered a library file that wasn't of the format
required of a library file.
- MSG 3013 break key detected
- The linking process was interrupted by the user from the keyboard.
- MSG 1014 stack segment not found
- The Watcom 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 Watcom Linker can't find the runtime
libraries required to link your application.
- MSG 2015 bad location specified in FIXUP
- This message is issued if a bad object file is encountered.
- MSG 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 that's defined using the
EQU assembler directive. %a identifies the
location of the near call or jump instruction.
- MSG 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.
- MSG 2018 relocation offset at %a is out of
range
- This message is issued when the offset part of a relocation exceeds
64K. %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's 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 Watcom Linker issues this
message.
- MSG 1019 segment relocation at %a
- This message is issued when a segment relocation is encountered and
FORMAT DOS COM, FORMAT PHARLAP or
FORMAT NOVELL has been specified.
None of the above executable file formats allows segment relocation.
%a identifies the location of the segment relocation.
- MSG 2020 size of group %s exceeds 64k by
%l bytes
- The group %s has exceeded the maximum size (64k) allowed
for a group by %l bytes. Usually, the group is
DGROUP (the default data segment) and your
application has placed too much data in this group.
One of the following may solve this problem:
- If you're using the Watcom C or C++ compiler, you can place some of
your data in a far segment by using the
far keyword when
defining data. You can also decrease the value of the data threshold
by using the zt compiler option. Any data whose size
exceeds the value of the data threshold is placed in a
far segment.
- If you're using the Watcom FORTRAN 77 compiler,
you can decrease the value of the data threshold by using the
dt compiler option. Any data whose size exceeds the value
of the data threshold is placed in a far segment.
- MSG 2021 size of segment %s exceeds 64k by
%l bytes
- The segment %s has exceeded the maximum size (64k) of a
segment. This usually occurs if you're linking an application that's
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 overlay your application, or compile it for a large code model
if you can't reduce the amount of code in your application.
- MSG 2022 cannot have a starting address with an
imported symbol
- When generating an OS/2
executable file, a symbol imported from a DLL can't be a start address.
When generating a NetWare 386 executable file, a symbol imported from
an NLM can't be a start address.
- MSG 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, is used.
This usually happens if the Watcom Linker can't find the runtime
libraries required to link your application.
- MSG 2024 missing overlay loader
- This message is issued when an overlaid application is being linked
and the overlay manager hasn't been encountered.
This usually happens if the Watcom Linker can't find the runtime
libraries required to link your application.
- MSG 2025 short vector %d is out of range
- This message is issued when the Watcom Linker is creating an overlaid
application and OPTION SMALL is specified.
Since an overlay vector contains a near call to the overlay
loader followed by a near jump to the routine corresponding
to the overlay vector, all code
including the overlay manager and all overlay vectors must be less than
64K. This message is issued if the offset of an overlay vector from the
overlay loader or the corresponding routine exceeds 64K.
- MSG 2026 redefinition of reserved symbol
%s
- The Watcom Linker defines certain reserved symbols:
_edata
_end
__OVLTAB__
__OVLSTARTVEC__
__OVLENDVEC__
__LOVLLDR__
__NOVLLDR__
__SOVLLDR__
__LOVLINIT__
__NOVLINIT__
__SOVLINIT__
The following symbols are defined only if you're using overlays:
__OVLTAB__
__OVLSTARTVEC__
__OVLENDVEC__
__LOVLLDR__
__NOVLLDR__
__SOVLLDR__
__LOVLINIT__
__NOVLINIT__
__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.
- MSG 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 is issued.
This prevents the warning message from being issued when linking
FORTRAN 77 modules that contain common blocks.
- MSG 1028 %S is an undefined reference
- The symbol %S has been referenced but not defined.
Check that the spelling of the symbol is consistent.
If you wish the linker to ignore undefined references, use the
UNDEFSOK
option.
- MSG 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.
- MSG 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.
- MSG 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.
- MSG 1032 record (type 0x%x) not
processed
- An object record type not supported by the Watcom 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
Watcom Linker doesn't support.
- MSG 2033,3033 directive error near
'%s'
- A syntax error occurred while the Watcom Linker was processing
directives. %s specifies where the error occurred.
- MSG 2034 %a cannot have an offset with an
imported symbol
- An imported symbol is one that was specified in an IMPORT
directive. For example, under OS/2
imported symbols are defined in DLLs.
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.
- MSG 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.
- MSG 2039 ALIGNMENT value too small
- The value specified in the ALIGNMENT option refers to the
alignment of segments in the executable file.
Segments in the executable file are pointed to by a segment table.
An entry in the segment table contains a 16-bit value that's
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.
- MSG 2040 ordinal in IMPORT directive not valid
- The specified ordinal in the IMPORT directive is incorrect
(for example, -1). An ordinal number must be in the range 0 to 65535.
- MSG 2041 ordinal in EXPORT directive not valid
- The specified ordinal in the EXPORT directive is incorrect
(for example, -1). An ordinal number must be in the range 0 to 65535.
- MSG 2042 too many IOPL words in EXPORT directive
- The maximum number of IOPL words is 63.
- MSG 1043 duplicate exported ordinal
- This message is issued for ordinal numbers specified in an
EXPORT directive for symbols belonging to OS/2
DLLs.
This message is issued if an ordinal number is assigned to two
different symbols.
A warning is issued, and the Watcom Linker assigns an unused ordinal
number to the symbol that caused the warning.
- MSG 1044,2044 exported symbol %s not
found
- This message is issued when generating OS/2
DLLs and NetWare 386 NLMs.
An attempt has been made to define an entry point into a DLL or NLM
that doesn't exist.
- MSG 1045 segment attribute defined more than once
- A segment appearing in a SEGMENT directive has been given
conflicting or duplicate attributes.
- MSG 1046 segment name %s not found
- The segment name specified in a SEGMENT directive hasn't
been defined.
- MSG 1047 class name %s not found
- The class name specified in a SEGMENT directive hasn't
been defined.
- MSG 1048 inconsistent attributes for automatic data
segment
- This message is issued for OS/2
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.
- MSG 2049 invalid STUB file
- The stub file isn't a valid executable file.
The stub file is only used for OS/2 executable files.
- MSG 1050 invalid DLL specified in OLDLIBRARY option
- The OS/2
DLL specified in an OLDLIBRARY option isn't a valid dynamic
link library.
- MSG 2051 STUB file name same as executable file
name
- When generating an OS/2 executable file,
the stub file name must not be same as the executable file name.
- MSG 2052 relocation at %a not in the same
segment
- This message is only issued for protected-mode applications.
A relative fixup must relocate to the same segment.
%a defines the location of the fixup.
- MSG 2053 %a: cannot reach a DLL with a
relative relocation
- A reference to a symbol in an OS/2
DLL must not be relative.
%a defines the location of the reference.
- MSG 1054 debugging information incompatible: using line
numbers only
- An attempt has been made to link an object file with out-of-date
debugging information.
- MSG 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)
- 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.
- MSG 2056 cannot find library member
%s(%s)
- Library member %s2 in library file %s1 couldn't
be found. This message is issued if the library file couldn't be found,
or the library file didn't contain the specified member.
- MSG 3057 executable format has been established
- This message is issued if there is more than one FORMAT
directive.
- MSG 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.
- MSG 1059,2059 value for %s too
large
- The value specified for option %s exceeds its limit.
- MSG 1060 value for %s incorrect
- The value specified for option %s isn't in the allowable
range.
- MSG 1061 multiple values specified for REALBREAK
- The REALBREAK option can only be specified once.
- MSG 1062 DLL COMENT record invalid when not in OS2
- A DLL COMENT record contains information for symbols that
are defined in Dynamic Link Libraries.
This message is issued if a reference to a DLL is encountered, and
the executable file format isn't OS2.
- MSG 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.
- MSG 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.
- MSG 2065 REALBREAK symbol %s not found
- The symbol specified in the REALBREAK option hasn't been
defined.
- MSG 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.
Any reference to an imported symbol must not refer to the segment of the
imported symbol.
%a defines the location of the reference.
- MSG 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 isn't permitted.
%a defines the location of the fixup.
- MSG 2068 absolute segment fixup not valid in protected
mode
- A reference to an absolute location isn't allowed in protected mode.
A protected-mode application is one that's 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,
or Novell's NetWare 386 operating system.
An absolute location is most commonly defined by the EQU
assembler directive.
- MSG 1069 unload CHECK procedure not found
- The symbol specified in the CHECK option hasn't been
defined.
- MSG 2070 START procedure not found
- The symbol specified in the START option hasn't been
defined. The default START symbol is _Prelude.
- MSG 2071 EXIT procedure not found
- The symbol specified in the EXIT option hasn't been defined.
The default STOP symbol is _Stop.
- MSG 1072 SECTION directive not allowed in root
- SECTION directives must appear between a BEGIN
directive and its corresponding END directive.
- MSG 2073 bad Novell file format specified
- An invalid NetWare 386 executable file format was specified.
Valid formats are NLM, DSK, NAM and LAN.
- MSG 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
- MSG 2075 expecting an END directive
- A BEGIN directive is missing its corresponding
END directive.
- MSG 1076 %s option multiply specified
- The option %s can only be specified once.
- MSG 1080 file %s is a 32-bit object file
- A 32-bit attribute was encountered while generating a 16-bit
executable file format.
- MSG 2082 invalid record type 0x%x
- An object record type not recognized by the Watcom 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
Watcom Linker doesn't recognize.
- MSG 2083 cannot reference address %a from
frame %x
- The offset of a referenced symbol is greater than 64k from the location
referring to it.
- MSG 2084 target offset exceeds 64K at %a
- The computed offset for a symbol exceeds 64k.
%a defines the location of the fixup.
- MSG 2086 invalid starting address for .COM file
- The value of the segment of the starting address for a DOS
COM file, as specified in the map file, must be 0.
- MSG 1087 stack segment ignored in .COM file
- A stack segment must not be defined when generating a 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.
- MSG 3088 virtual memory exhausted
- This message is similar to the ``dynamic memory exhausted''
message. The Watcom 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.
- MSG 2089 program too large for a .COM file
- The total size of a 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.
- MSG 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 is issued, since the first seven characters of the two symbols
are identical.
- MSG 2091 group %s is in more than one
overlay
- A group that spans more than one section has been detected.
- MSG 2092 NEWSEGMENT directive appears before object
files
- The NEWSEGMENT option must appear after a FILE
directive.
- MSG 2093 cannot open %s
- This message is issued when the Watcom Linker is unable to open a file
and is unable to determine the cause.
- MSG 2094 i/o error processing %s
- This message is issued when the Watcom 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.
- MSG 1095 debugging information too large.
- This message is only issued when linking an application that has
been compiled with version 9.0 of the compiler or earlier.
Later versions of the compiler have removed this limit.
- MSG 3096 incompatible types of debugging information
found
- The Watcom Linker has encountered more than one class of debugging
information in the object files it's processing (for example, Codeview
and WATCOM).
- MSG 3097 too many library modules
- This message is similar to the ``dynamic memory exhausted''
message. This message is issued when the DISTRIBUTE option
is specified.
The Watcom Linker has run out of memory trying to keep track of the
relationship between object modules extracted from libraries and the
overlays they should be placed in.
- MSG 1098 Phar Lap offset option must be a multiple of
4K
- The value specified with the OFFSET option must be a
multiple of 4096.
- MSG 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.
- MSG 1101 cannot use both option verbose and a trace
directive
- The VERBOSE option can't be used in conjunction with the
SYMTRACE and MODTRACE directives.
- MSG 1102 object file %s not found for
tracing
- A SYMTRACE or MODTRACE directive contained an
object file (namely %s) that couldn't be found.
- MSG 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 couldn't be found.
- MSG 1105 cannot reserve %l bytes of extra
overlay space
- The value specified with the AREA option results in an
executable file that requires more than 1 megabyte of memory to execute.
- MSG 1107 undefined system name: %s
- The name %s was referenced in a SYSTEM
directive, but never defined by a system block definition.
- MSG 1108 system %s defined more than
once
- The name %s has appeared in a system definition block
more than once.
- MSG 3109 system block %s too large
- The largest size of a system definition block is 4K.
This message is issued if the total amount of text specified in the
system definition block exceeds this limit.
- MSG 1110 library members not allowed in libfile
- Only object files are allowed in a LIBFILE directive.
This message is issued if a module from a library file is specified in
a LIBFILE directive.
- MSG 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 can't be
determined (that is, no FORMAT directive has been specified).
- MSG 3114 environment name specified incorrectly
- This message is specified if the environment variable isn't properly
enclosed between two percent (%) characters.
- MSG 1115 environment name %s not found
- The environment variable %s hasn't been defined in the
environment space.
- MSG 1116 overlay area must be at least %l
bytes
- This message is issued if the size of the largest overlay exceeds the
size of the overlay area specified by the AREA option.
- MSG 1117 segment number too high for a movable entry
point
- The segment number of a moveable segment must not exceed 255.
Reduce the number of segments or use the PACKCODE option.
- MSG 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.
- MSG 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.
- MSG 2120 application too large to run under DOS
- This message is issued if the size of the DOS application exceeds 1M.
- MSG 1121 '%s' has already been exported
- The linker has detected an attempt to export a symbol more than once.
For example, a name that appears in more than one EXPORT
directive causes 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 is issued.
This message is only a warning.
- MSG 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.
- MSG 3123 OS/2 offset option must be a multiple of 64K
- The value specified with the OFFSET option for 32-bit OS/2
must be a multiple of 64K.
- MSG 1124 lazy reference for %S has different
default resolutions
- A lazy external reference is one that has two resolutions: a preferred
one and a default one that's used if the preferred one isn't found.
In this case, the linker has found two lazy references that have the same
preferred resolution but different default resolutions.
- MSG 1125 multiple aliases found for %S
- The linker has found a name that has been aliased to two different
symbols.
- MSG 1126 INT 15 interrupt may be incorrect
- An error was reported while the linker was trying to access extended
memory. The interrupt 15 vector (used to access extended memory) has been
corrupted during the linking process.
- MSG 3126
- This error has two different meanings, as indicated by the associated
message:
- too many EMS requests queued
- An error was reported while the linker was trying to access
expanded
memory. The error message is issued if too many applications are
simultaneously making extended memory requests.
- EMS physical mapping corrupted
- A serious problem has occurred while trying to access expanded
memory.
The EMS frame has been corrupted. This can be caused by a TSR that's
using the EMS frame for other reasons.
- MSG 2127 cannot export absolute symbol %S
- An attempt was made to export a symbol defined with an absolute address.
It isn't possible to export a symbol with an absolute address using the
EXPORT directive.
- MSG 3128 directive error near beginning of input
- The linker detected an error at the start of the command line.
- MSG 3129 address information too large
- The linker has encountered a segment that appears in more than 11000
object files. An empty segment doesn't affect this limit.
- MSG 1130 %s is an invalid shared nlm file
- The NLM specified in a SHAREDNLM option isn't valid.
- MSG 3131 cannot open spill file: file already exists
- All 26 of the 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.
- MSG 2132 curly brace delimited list incorrect
- A list delimited by curly braces isn't correct.
The most likely cause is a missing right brace.
- MSG 1133 no realbreak specified for 16-bit code
- While generating a Phar Lap executable file, both 16-bit and 32-bit
code were
linked together, and no REALBREAK option has been specified.
A warning message is issued, since this may be a potential problem.
- MSG 1134 %s is an invalid message file
- The file specified in a MESSAGE option for NetWare 386
executable files is invalid.
- MSG 3135 need exactly 1 overlay area with dynamic
overlay manager
- Only a single overlay area is supported by the dynamic overlay manager.
- MSG 1136 relocation to a read/write data segment found
at %a
- The RWRELOCCHECK option has been specified, and the linker
has detected a segment relocation to a read/write data segment.
- MSG 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.
- MSG 3138 invalid filename '%s'
- The linker performs a simple filename validation whenever a filename is
specified to the linker.
For example, a directory specification isn't a valid filename.
- MSG 3139 cannot have both 16-bit and 32-bit object
files
- It's impossible to mix 16-bit code and 32-bit code in the same
executable when generating a QNX executable file.
- MSG 1140 invalid message number
- An invalid message number has been specified in a DISABLE
directive.
- MSG 1141 virtual function table record for %s
mismatched
- This is a consistency check by the linker to ensure that the Watcom C++
compiler hasn't generated incorrect virtual function information.
Contact QNX Software Systems Limited if this message is issued.
- MSG 1143 not enough memory to sort map file symbols
- There wasn't enough memory for the linker to sort the symbols in the
Memory Map portion of the map file.
This only occurs when the GLOBAL sort option is specified.
- MSG 1145 %S is both pure virtual and non-pure
virtual
- A function has been declared both as pure and
non-pure virtual.
- MSG 2146 %s is an invalid object file
- Something was encountered in the object that can't be processed by
the linker.
- MSG 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, the directive
FORMAT OS2
- generates this message.
- MSG 1148 Invalid segment type specified
- The segment type must be one of CODE or DATA.
- MSG 1149 Only one debugging format can be specified
- The debugging format must be one of WATCOM (default), Codeview, or
Dwarf. You can't specify additional debugging formats.
- MSG 1150 file %s has code for a different
processor
- An object file has been encountered that contains code compiled for a
different processor (for example, an Intel application and an Alpha
object file).
- MSG 2151 big endian code not supported
- Big endian code isn't supported by the linker.
- MSG 2152 no dictionary found
- No symbol search dictionary was found in a library that the linker
attempted to process.
- MSG 2153 cannot execute %s : %s
- 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.
- MSG 2154 relocation at %a to an improperly
aligned target
- Some relocations in Alpha executables require that the object be
aligned on a 4-byte boundary.