delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2002/06/21/20:25:18

Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Subscribe: <mailto:cygwin-subscribe AT cygwin DOT com>
List-Archive: <http://sources.redhat.com/ml/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-help AT cygwin DOT com>, <http://sources.redhat.com/ml/#faqs>
Sender: cygwin-owner AT cygwin DOT com
Mail-Followup-To: cygwin AT cygwin DOT com
Delivered-To: mailing list cygwin AT cygwin DOT com
X-MimeOLE: Produced By Microsoft Exchange V6.0.5762.3
MIME-Version: 1.0
Subject: dllwrap calling dlltool wrong; workaround
Date: Fri, 21 Jun 2002 17:24:23 -0700
Message-ID: <C7F00D7948B8E4468BB330152C6BA4E00158D579@cstaex03.USIPLUMTREE.AD>
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
From: "Dave Hildebrandt" <dave DOT hildebrandt AT plumtree DOT com>
To: <cygwin AT cygwin DOT com>
X-MIME-Autoconverted: from quoted-printable to 8bit by delorie.com id g5M0PI723232

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.

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.

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

 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.

Best,
-dave

--
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/

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019