This is the mail archive of the
mailing list for the Cygwin project.
Re: dllwrap calling dlltool wrong; workaround
- From: "Gerrit P. Haase" <gp at familiehaase dot de>
- To: "Dave Hildebrandt" <dave dot hildebrandt at plumtree dot com>
- Cc: cygwin at cygwin dot com
- Date: Sat, 22 Jun 2002 10:34:25 +0200
- Subject: Re: dllwrap calling dlltool wrong; workaround
- Organization: Esse keine toten Tiere
- References: <C7F00D7948B8E4468BB330152C6BA4E00158D579@cstaex03.USIPLUMTREE.AD>
- Reply-to: "Gerrit @ cygwin" <cygwin at cygwin dot com>
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):
> 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.
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
Bug reporting: http://cygwin.com/bugs.html