2009/7/14  <vanderputten_jenni...@emc.com>:
> Can't figure out where exactly it's coming from.  Environmental perhaps?
> Is there a magic export to save the day?
>
> Here's the make error:
> gcc -shared -o  par.dll -Wl,--out-implib=libpar.dll.a
> -Wl,--export-all-symbols -Wl,--enable-auto-import -Wl,--stack,8388608
> -Wl,--enable-auto-image-base \
> main.o my_par_pl.o win32.coff -s -s -s -L/usr/local/lib
> /usr/lib/perl5/5.8/cygwin/auto/DynaLoader/DynaLoader.a
> /usr/lib/perl5/5.8/cygwin/auto/Win32CORE/Win32CORE.a 
> -L/usr/lib/perl5/5.8/cygwin/CORE -lperl -ldl
> -lcrypt -lgdbm_compat
>
> Creating library file: libpar.dll.a

There is the error: mv to ./ will fail. There is some dir missing

> mv par.dll libpar.dll.a ./
> mv: `par.dll' and `./par.dll' are the same file
> mv: `libpar.dll.a' and `./libpar.dll.a' are the same file
> perlld: *** system() failed to execute
> mv par.dll libpar.dll.a ./

This happens at
  if ($path) {
    $command ="mv $dllname";
    $command .=" $libname.dll$LIB_EXT" if $LIB_EXT;
    shellexec("$command $path\n");
  };
As you see $path is ./ and ./ is invalid.
Wher is this coming from:
 # Check for path:
  if( $dllname =~ /.*[\/\\]/){
    $dllname = $';
    $path = $&;
    $path =~ s,[/\\](\.[/\\])*,/,g;
  }

so path is the dirname of the given dll.
do not use "-o ./par.dll", just "-o par.dll"

I (as cygwin's perl maintainer) have fixed the perlld nonsense with the
current perl5.10 releases.
So best is to try the current perl.
---
Reini Urban
http://phpwiki.org/           http://murbreak.at/

Reply via email to