我正在尝试在cygwin-32bit环境中从CPAN安装不同的Perl模块,并始终获得相同类型的错误。这个是试图安装Net :: SSLeay,做过,安装和尝试强制安装,似乎没什么用。
drmariad@drmariad-MOBL ~/.cpan/build/Net-SSLeay-1.70-eDSzRW$ make install
Files found in blib/arch: installing files in blib/lib into architecture dependent library tree
chmod 755 /usr/lib/perl5/site_perl/5.14/i686-cygwin-threads-64int/auto//Net/SSLeay/SSLeay.dll
/bin/find /usr/lib/perl5/site_perl/5.14/i686-cygwin-threads-64int/auto/ -xdev -name \*.dll /bin/rebase -sOT -
/bin/find: paths must precede expression: /bin/rebase
Usage: /bin/find [-H] [-L] [-P] [-Olevel] [-D help|tree|search|stat|rates|opt|exec] [path...] [expression]
Makefile:731: recipe for target 'pure_install' failed
make: *** [pure_install] Error 1
大多数情况下,我在安装中遇到bin / find失败消息,但我不知道如何更改该行为。我尝试安装的大多数模块都出现了错误和失败。
答案 0 :(得分:1)
我的最新更新Cygwin附带
由于某些原因,这很奇怪,但我们关心的是MM_Cygwin的版本是错误的。
xi1 = rand(1,10);
x1 = [1 2 3 4 5];
xi2 = [1 1.5];
x2 = [1 2 3 4 5];
n1 = length(x1) - 1;
ni1 = length(xi1);
L1 = ones(n1+1,ni1);
for k = 0 : n1 % start the outer loop through the data values for x
for kk = 0 : (k-1) % start the inner loop through the data values for x (if k = 0 this loop is not executed)
L1(kk+1,:) = L1(kk+1,:).*(xi1 - x1(k+1))/(x1(kk+1)-x1(k+1));
L2(kk+1,:) = L2(kk+1,:).*(xi2 - x2(k+1))/(x2(kk+1)-x2(k+1));
end % end of the inner loop
for kk = k+1 : n1 % start the inner loop through the data values (if k = n1 this loop is not executed)
L1(kk+1,:) = L1(kk+1,:).*(xi1 - x1(k+1))/(x1(kk+1)-x1(k+1));
L2(kk+1,:) = L2(kk+1,:).*(xi2 - x2(k+1))/(x2(kk+1)-x2(k+1));
end % end of the inner loop
end % the end of the outer loop
p1 = prod(L1,1);
p2 = prod(L2,1);
p = p1' * p2;
您可以将缺失的sub install {
my($self, %attribs) = @_;
my $s = ExtUtils::MM_Unix::install($self, %attribs);
return '' unless $s;
return $s unless %{$self->{XS}};
my $INSTALLDIRS = $self->{INSTALLDIRS};
my $INSTALLLIB = $self->{"INSTALL". ($INSTALLDIRS eq 'perl' ? 'ARCHLIB' : uc($INSTALLDIRS)."ARCH")};
my $dop = "\$\(DESTDIR\)$INSTALLLIB/auto/";
my $dll = "$dop/$self->{FULLEXT}/$self->{BASEEXT}.$self->{DLEXT}";
$s =~ s|^(pure_install :: pure_\$\(INSTALLDIRS\)_install\n\t)\$\(NOECHO\) \$\(NOOP\)\n|$1\$(CHMOD) \$(PERM_RWX) $dll\n\t/bin/find $dop -xdev -name \\*.$self->{DLEXT} /bin/rebase -sOT -\n|m if (( $Config{myarchname} eq 'i686-cygwin') and not ( exists $ENV{CYGPORT_PACKAGE_VERSION} ));
$s;
}
添加到|
作为快速永久修复。
或者,Cygwin有一个名为/usr/lib/perl5/5.14/ExtUtils/MM_Cygwin.pm
的软件包,可将分发版升级到7.04_01。
......除了虫子仍然存在。如果您安装了此软件包,则要修复的文件为perl-ExtUtils-MakeMaker
。
或者,您可以将ExtUtils :: MakeMaker升级到最新的dev版本(使用完全不同的命令)。
/usr/lib/perl5/vendor_perl/5.14/ExtUtils/MM_Cygwin.pm