[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]