Thread overview
Problem with lib.exe
Mar 26, 2003
Walter
Mar 27, 2003
Walter
Mar 28, 2003
Rajiv Bhagwat
Mar 29, 2003
Walter
March 26, 2003
I recently discovered a strange behaviour of the librarian.

Since a few days I use Windows XP and I tried to rebuild one of my libraries.

I got the error message:

lib e:\libobj\$SCW$.LIB /C @C:\DOKUME~1\HEINZ-~1\LOKALE~1\Temp\70A30000.TMP
Error: e:\libobj\$SCW$.LIB(2147344384): Can't open 'C:\DOKUME~1\HEINZ' for
responses.   : No such file or directory
Errors: 1  Warnings: 0
Build failed

I solved this problem by changing the TEMP path from:
 %USERPROFILE%\Lokale Einstellungen\Temp
to:
%SystemRoot%\TEMP
and it worked again.

Therefore I assume that lib.exe cannot handle such long paths or has
problems with special chars like "HEINZ-~1"
in that path.

Is there a new version of lib.exe which can handle this or is there another
way to avoid this problem
without manually changing the environment?

Heinz-Peter


March 26, 2003
The - is a command separator for the old style command syntax for LIB. You can try the new LIB command syntax, see www.digitalmars.com/ctg/lib.html

"Heinz-Peter Nüttgens" <hnuettgens@t-online.de> wrote in message news:b5rq40$7d1$1@digitaldaemon.com...
> I recently discovered a strange behaviour of the librarian.
>
> Since a few days I use Windows XP and I tried to rebuild one of my libraries.
>
> I got the error message:
>
> lib e:\libobj\$SCW$.LIB /C
@C:\DOKUME~1\HEINZ-~1\LOKALE~1\Temp\70A30000.TMP
> Error: e:\libobj\$SCW$.LIB(2147344384): Can't open 'C:\DOKUME~1\HEINZ' for
> responses.   : No such file or directory
> Errors: 1  Warnings: 0
> Build failed
>
> I solved this problem by changing the TEMP path from:
>  %USERPROFILE%\Lokale Einstellungen\Temp
> to:
> %SystemRoot%\TEMP
> and it worked again.
>
> Therefore I assume that lib.exe cannot handle such long paths or has
> problems with special chars like "HEINZ-~1"
> in that path.
>
> Is there a new version of lib.exe which can handle this or is there
another
> way to avoid this problem
> without manually changing the environment?
>
> Heinz-Peter
>
>


March 27, 2003
Thanks for your reply.

The '-' sign is part of my name and my windows user name. Ok, it would be easy to choose another username.

Because I'm workíng with the IDDE, it's not on me to select the syntax. But
nevertheless
this won't help anyway, because the '-' is part of the temporary path.

But shouldn't the command line of lib.exe be parsed in a way differentiating
between
embedded '-'s  and such ones following white spaces?

Greetings

Heinz-Peter


"Walter" <walter@digitalmars.com> schrieb im Newsbeitrag news:b5t9b1$1a01$1@digitaldaemon.com...
> The - is a command separator for the old style command syntax for LIB. You can try the new LIB command syntax, see www.digitalmars.com/ctg/lib.html
>


March 27, 2003
No, there's no way of fixing the meaning of '-' for lib. The trouble is that Microsoft came up with that syntax long ago (long before '-' was allowed in file names), and there are a LOT of makefiles depending on it.

The IDDE should switch to the new lib syntax, I'll file that bug report.

"Heinz-Peter Nüttgens" <hnuettgens@t-online.de> wrote in message news:b5uct7$v6o$1@digitaldaemon.com...
> Thanks for your reply.
>
> The '-' sign is part of my name and my windows user name. Ok, it would be easy to choose another username.
>
> Because I'm workíng with the IDDE, it's not on me to select the syntax.
But
> nevertheless
> this won't help anyway, because the '-' is part of the temporary path.
>
> But shouldn't the command line of lib.exe be parsed in a way
differentiating
> between
> embedded '-'s  and such ones following white spaces?
>
> Greetings
>
> Heinz-Peter
>
>
> "Walter" <walter@digitalmars.com> schrieb im Newsbeitrag news:b5t9b1$1a01$1@digitaldaemon.com...
> > The - is a command separator for the old style command syntax for LIB.
You
> > can try the new LIB command syntax, see www.digitalmars.com/ctg/lib.html
> >
>
>


March 28, 2003
Had noticed the changed set of syntax for lib some time ago, but had to switch to 'older' syntax.

The newer syntax gives problems in the most common situation for me: Just replacing (or adding) a single module in a library, which may exist or which needs to be created.

The older syntax automatically creates the lib if it does not exist. Using the newer one, you have to specify -c, which deletes the existing library (containing other objs) and creates a new one with just 1 obj in it.

- Rajiv
Ps: Need makefile for complete statement of the problem or is this
sufficient description?


"Walter" <walter@digitalmars.com> wrote in message news:b5t9b1$1a01$1@digitaldaemon.com...
> The - is a command separator for the old style command syntax for LIB. You can try the new LIB command syntax, see www.digitalmars.com/ctg/lib.html
>
> "Heinz-Peter Nüttgens" <hnuettgens@t-online.de> wrote in message news:b5rq40$7d1$1@digitaldaemon.com...
> > I recently discovered a strange behaviour of the librarian.
> >
> > Since a few days I use Windows XP and I tried to rebuild one of my libraries.
> >
> > I got the error message:
> >
> > lib e:\libobj\$SCW$.LIB /C
> @C:\DOKUME~1\HEINZ-~1\LOKALE~1\Temp\70A30000.TMP
> > Error: e:\libobj\$SCW$.LIB(2147344384): Can't open 'C:\DOKUME~1\HEINZ'
for
> > responses.   : No such file or directory
> > Errors: 1  Warnings: 0
> > Build failed
> >
> > I solved this problem by changing the TEMP path from:
> >  %USERPROFILE%\Lokale Einstellungen\Temp
> > to:
> > %SystemRoot%\TEMP
> > and it worked again.
> >
> > Therefore I assume that lib.exe cannot handle such long paths or has
> > problems with special chars like "HEINZ-~1"
> > in that path.
> >
> > Is there a new version of lib.exe which can handle this or is there
> another
> > way to avoid this problem
> > without manually changing the environment?
> >
> > Heinz-Peter
> >
> >
>
>


March 29, 2003
I'll check it out. Thanks, -Walter