[This patch is being cc'ed to [EMAIL PROTECTED]  It makes no changes or
additions to any crytographic routines, it only changes the build procedure
for OpenSSL.]

[I'm not on the OpenSSL mailing list, please cc me on any responses.]

While building openssl-0.9.6b on usparc-solaris 2.7 and 2.8, the build
mysteriously hung during the

        gmake report

step.  I did some investigation, and found out why.

Because `config' detected that it was possible to build a 64 bit version
of OpenSSL, it will stop and wait for user input from /dev/tty.  When
the `report' make target is built, it runs

        perl util/selftest.pl

which tries to stuff the output from `config -t` into a perl variable.
This hangs without any prompting at all, because config is waiting for
a response on /dev/tty.

This situation affects 64-bit capable Solaris and 64-bit capable IRIX.

My patch offers one fix -- don't be interactive if `TEST' is set.  That's
probably not the best solution.  I think it would be better to just not
be interactive at all.  Have config spit out a big, bold message about
the option to go 64 bit, then wait 10-30 seconds.  If they haven't hit
ctrl-c by that point, continue marching.  That's a nicer solution for
other reasons (building via RPM or some other packaging mechanism, which
I also happen to be doing here).

Tim
-- 
Tim Mooney                              [EMAIL PROTECTED]
Information Technology Services         (701) 231-1076 (Voice)
Room 242-J6, IACC Building              (701) 231-8541 (Fax)
North Dakota State University, Fargo, ND 58105-5164




diff -ur openssl-0.9.6b.orig/config openssl-0.9.6b/config
--- openssl-0.9.6b.orig/config  Fri Mar 30 09:49:08 2001
+++ openssl-0.9.6b/config       Thu Aug 23 17:56:43 2001
@@ -410,8 +410,14 @@
   mips4-sgi-irix64)
        echo "WARNING! If you wish to build 64-bit library, then you have to"
        echo "         invoke './Configure irix64-mips4-$CC' *manually*."
-       echo "         Type return if you want to continue, Ctrl-C to abort."
-       read waste < /dev/tty
+       # Don't require interaction if TEST is set.
+       if test X"$TEST" = X"" ; then
+        echo "         Type return if you want to continue, Ctrl-C to abort."
+        read waste < /dev/tty
+       else
+        echo "         Waiting 20 seconds, then continuing..."
+        sleep 20
+       fi
         CPU=`(hinv -t cpu) 2>/dev/null | sed 's/^CPU:[^R]*R\([0-9]*\).*/\1/'`
         CPU=${CPU:-0}
         if [ $CPU -ge 5000 ]; then
@@ -446,7 +452,14 @@
        #echo "WARNING! If you wish to build 64-bit library, then you have to"
        #echo "         invoke './Configure linux64-sparcv9' *manually*."
        #echo "         Type return if you want to continue, Ctrl-C to abort."
-       #read waste < /dev/tty
+       # Don't require interaction if TEST is set.
+       #if test X"$TEST" = X"" ; then
+       # echo "         Type return if you want to continue, Ctrl-C to abort."
+       # read waste < /dev/tty
+       #else
+       # echo "         Waiting 20 seconds, then continuing..."
+       # sleep 20
+       #fi
        OUT="linux-sparcv9" ;;
   sparc-*-linux2)
        KARCH=`awk '/^type/{print$3}' /proc/cpuinfo`
@@ -466,7 +479,14 @@
                echo "WARNING! If you wish to build 64-bit library, then you have to"
                echo "         invoke './Configure solaris64-sparcv9-cc' *manually*."
                echo "         Type return if you want to continue, Ctrl-C to abort."
-               read waste < /dev/tty
+               # Don't require interaction if TEST is set.
+               if test X"$TEST" = X"" ; then
+                echo "         Type return if you want to continue, Ctrl-C to abort."
+                read waste < /dev/tty
+               else
+                echo "         Waiting 20 seconds, then continuing..."
+                sleep 20
+               fi
        fi
        OUT="solaris-sparcv9-$CC" ;;
   sun4m-*-solaris2)    OUT="solaris-sparcv8-$CC" ;;

______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
Development Mailing List                       [EMAIL PROTECTED]
Automated List Manager                           [EMAIL PROTECTED]

Reply via email to