Subject: Re: dllwrap calling dlltool wrong; workaround
From: "Gerrit P. Haase" <[email-masked]>
To: "Dave Hildebrandt" <[email-masked]>
Cc: [email-masked]
Date: Sat, 22 Jun 2002 10:34:25 +0200

Hallo Dave,

Am Samstag, 22. Juni 2002 um 02:24 schriebst du:

> Hi folks,

> I'm building DBI on cygwin, and have the following problem and
> workaround.  I looked for this on the list and didn't find it,
> so here is the bug report.  I'd fix it but I can't figure out
> which component of cygwin contains dllwrap, so no source.

It is in the binutils package.

> dlltool: Unable to open object file: and
> dllwrap: dlltool exited with status 1
> perlld: *** system() failed to execute
> dllwrap --dllname DBI.dll --driver-name gcc --dlltool dlltool --export-all-symbols --as as --output-def libDBI.def --output-lib libDBI.a \
> -s -L/usr/local/lib DBI.o  /usr/lib/perl5/5.6.1/cygwin-multi/CORE/libperl5_6_1.

> This is caused by dllwrap calling dlltool with a temp directory
> with spaces in it ("c:\Documents and Settings" is in the path,
> which is where that "and" comes from that dlltool can't open.

This is generally a very bad idea to use with Cygwin...
Try to mount -s -b c:\\Documents and Settings /DAS
if you need the stuff in this directory.
Otherwise make your Cygwin home directory to be /home/yourname

> The workaround is simple: you redefine the TMP and TEMP environment
> variables to not have spaces in them. e.g.: unset TMP;unset TEMP;

And reexport for Cygwin too (e.g. in your .bashrc):
export TMP=/tmp
export TEMP=/tmp

>  I discovered this by replacing dlltool with a wrapper that
> reported its arguments, and found that
> "c:\documents and settings\local~1\Temp\1" was three arguments,
> not one.

> I guess the fix would be for dllwrap to manage its parsing so as
> to pass the entire directory, with spaces, to dlltool, as one argument.

No, the fix is to use no paths with spaces in them.
We have mount and symlinks so there is no need to use these
native windows paths.

Gerrit
-- 
=^..^=

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Bug reporting:         http://cygwin.com/bugs.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/