PRB: C Setup Gives Error U2155 When Building Libraries

ID Number: Q38319

5.10 6.00 6.00a 6.00ax 7.00 | 5.10 6.00 6.00a

MS-DOS | OS/2

Summary:

SYMPTOMS

When installing the Microsoft C Compiler versions 5.1, 6.0, 6.0a,

and 6.0ax, the following error may be generated:

LIB : error U2155: <path> : module not in library; ignored

A corresponding error will not be genererated for C 7.0.

CAUSE

Most likely, this error is caused by having a dash (-) embedded in

the path specified as the combined libraries destination.

RESOLUTION

Restart Setup and do not include a dash in the library path.

More Information:

This is a problem with LIB.EXE. LIB cannot handle the "-" (hyphen,

dash) character embedded in a directory/file name. Instead, it

interprets the dash as the extraction operator giving rise to error

U2155. The hyphen is a legal character for MS-DOS file and directory

names and many people use it (for example, MS-C for the C directory.)

In this example, LIB will terminate with the following cryptic

message:

U2155: C:\MS-C\MLIBCE.LIB module not in library (ms.obj)

The message is dependent upon the directory/file name used, but the

symptom is always the same: module not in library, invalid object

module, object file not found, and so on.

Note: This error can occur in situations other than setting up the

compiler. Anytime you pass a directory/file name that contains a

hyphen, you can cause this behavior.

Additional reference words: 6.00 6.00a 6.00ax 7.00