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]

Reply via email to