KnowledgeBase Archive

An Archive of Early Microsoft KnowledgeBase Articles

View on GitHub

Q38319: C Setup Gives Error U2155 When Building Libraries

Article: Q38319
Product(s): See article
Version(s): 5.10   | 5.10
Operating System(s): MS-DOS | OS/2
Keyword(s): ENDUSER | S_LIB | mspl13_c
Last Modified: 15-JAN-1990

Problem:

When installing Optimizing C, I get the following error:

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

Response:

Most likely, this is caused by having a dash (-) embedded in the path
specified as the combined libraries destination. Restart SETUP and do
not include a dash in the library path.

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 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, etc.

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.

THE INFORMATION PROVIDED IN THE MICROSOFT KNOWLEDGE BASE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. MICROSOFT DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING THE WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL MICROSOFT CORPORATION OR ITS SUPPLIERS BE LIABLE FOR ANY DAMAGES WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL, LOSS OF BUSINESS PROFITS OR SPECIAL DAMAGES, EVEN IF MICROSOFT CORPORATION OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES SO THE FOREGOING LIMITATION MAY NOT APPLY.

Copyright Microsoft Corporation 1986-2002.