The following patch will fix my "make test" failure problem in win7 x64 machine
(Chinese version) with the MinGW/MSYS/ActivePerl toolchain.
It shows that the problem may lie in openssl-1.0.0/util/shlib_wrap.sh and the
trailing "2>cms.err 1>cms.out" in system() call, or the way that ActivePerl and
OS handle them.
--- cms-test.pl 2009-11-27 05:12:12 +0800
+++ cms-test-new.pl 2010-05-16 14:15:38 +0800
@@ -56,7 +56,8 @@
my $ossl_path;
if ( -f "../apps/openssl$ENV{EXE_EXT}" ) {
- $ossl_path = "../util/shlib_wrap.sh ../apps/openssl";
+# $ossl_path = "../util/shlib_wrap.sh ../apps/openssl";
+ $ossl_path = "../apps/openssl";
}
elsif ( -f "..\\out32dll\\openssl.exe" ) {
$ossl_path = "..\\out32dll\\openssl.exe";
@@ -382,14 +383,20 @@
$rscmd =~ s/-stream//;
$rvcmd =~ s/-stream//;
}
- system("$scmd$rscmd 2>cms.err 1>cms.out");
+ #print("DEBUG: $scmd$rscmd 2>cms.err 1>cms.out\n");
+ #system("$scmd$rscmd 2>cms.err 1>cms.out");
+ system("$scmd$rscmd");
if ($?) {
+ #print("DEBUG: system() returned $?\n");
+ #system("$scmd$rscmd");
+ #print("DEBUG: new system() returned $?\n");
print "$tnam: generation error\n";
$$rv++;
exit 1 if $halt_err;
next;
}
- system("$vcmd$rvcmd 2>cms.err 1>cms.out");
+ #system("$vcmd$rvcmd 2>cms.err 1>cms.out");
+ system("$vcmd$rvcmd");
if ($?) {
print "$tnam: verify error\n";
$$rv++;
BTW, because some Windows CryptoAPI feature is not
supported in MSYS/MinGW currently, config option "no-capieng" is required
before make, like this:
./config threads shared no-capieng
Best regards,
Feiyun Wang
______________________________________________________________________
OpenSSL Project http://www.openssl.org
Development Mailing List [email protected]
Automated List Manager [email protected]