Microsoft KB Archive/89883

{|
 * width="100%"|

-

The information in this article applies to:


 * Microsoft FoxPro Library Construction Kit for MS-DOS, version 2.0

-

SUMMARY
The WATCOM Linker is one of the utilities provided with the FoxPro Library Construction Kit (LCK). The text below lists the warning and error messages produced by the WATCOM Linker and a description of each message.

When a message contains a parameter, it includes a reference to &quot;%s&quot;. If the message has more than one parameter, the description refers to the parameters as &quot;%sn&quot;, where &quot;n&quot; indicates the nth occurrence of &quot;%s&quot; in the message.

MORE INFORMATION
 

MSG 2002 ** internal ** %s

"If this message occurs, contact WATCOM technical support." 

MSG 2008 cannot open %s: %s

"An error occurred when the Linker attempted to open the &quot;%s1&quot; file. The reason for the error is given in the &quot;%s2&quot; parameter. Generally, this error message appears when the Linker cannot open an object file or a directive file." 

MSG 3009 dynamic memory exhausted

The WATCOM Linker uses expanded memory (EMS), extended memory, and, if necessary, an overflow file, to hold data used to generate the executable file. Therefore, unless disk space is at a minimum, the Linker should always have enough memory to generate the executable file.

Dynamic memory is the memory the Linker uses to build its internal data structures and symbol table. Dynamic memory is the amount of available conventional memory (below 1 megabyte); an overflow file is not used for dynamic memory.

When this message appears, the Linker cannot create the application. The following suggestions may help to address this error:

  Concatenate all the object files into one file and specify only the resulting object file as input to the Linker. Doing so reduces the size of the Linker file list. To concatenate object files in the MS-DOS environment, use the MS-DOS COPY command with the /B option, as follows:          COPY /B *.OBJ ALL.OBJ  Each object file may contain a record that specifies the module name. This information is used by VIDEO to locate a module during a debugging session and usually contains the fully-qualified path to the source file. This record can consume a significant amount of memory when many object files are linked. If the source files are compiled with the WATCOM C compiler, use the &quot;nm&quot; option to set the module name different from the filename to reduce the amount of memory required by the Linker. If VIDEO is used to debug the application, it may be necessary to use the &quot;set source&quot; command to locate the source file that corresponds to an object module. Typically, when a program is compiled for the large memory model, each module defines a different &quot;text&quot; segment. When compiling an application using the WATCOM C compiler, reduce the number of &quot;text&quot; segments that the WATCOM Linker must process by specifying the &quot;nt&quot; option. The &quot;nt&quot; option can specify the name of the &quot;text&quot; segment to place a group of object files into the same &quot;text&quot; segment.  

MSG 2010, 3010 I/O error processing %s: %s

"An error occurred while processing the &quot;%s1&quot; file. The &quot;%s2&quot; parameter lists the cause of the error. The Linker generally detects this error while reading from an object or library file or while writing to the overflow or executable file. For example, this error is issued when a &quot;disk full&quot; condition exists."</li> 

MSG 2011 invalid object file attribute

"The Linker encountered an object file that is not in the format required for an object file."</li> 

MSG 2012 invalid library file attribute

"The Linker encountered a library file that is not in the format required for a library file."</li> 

MSG 3013 break key detected

"The user interrupted the Linker from the keyboard."</li> 

MSG 1014 stack segment not found

"The Linker did not find a segment defined as having the &quot;STACK&quot; attribute."</li></ul>