Hi, I got a problem on compile of openssl-SNAP-20081003 on IA64 (same on older versions of 0.9.9 dev source) like this:
making all in apps... make[1]: Entering directory `/nethome/a/amadeu/prodapp/openssl-0.9.9/apps' rm -f openssl shlib_target=; if [ -n "libcrypto.so.0.9.9 libssl.so.0.9.9" ]; then \ shlib_target="linux-shared"; \ fi; \ LIBRARIES="-L.. -lssl -L.. -lcrypto" ; \ make -f ../Makefile.shared -e \ APPNAME=openssl OBJECTS="openssl.o verify.o asn1pars.o req.o dgst.o dh.o dhparam.o enc.o passwd.o gendh.o errstr.o ca.o pkcs7.o crl2p7.o crl.o rsa.o rsautl.o dsa.o dsaparam.o ec.o ecparam.o x509.o genrsa.o gendsa.o genpkey.o s_server.o s_client.o speed.o s_time.o apps.o s_cb.o s_socket.o app_rand.o version.o sess_id.o ciphers.o nseq.o pkcs12.o pkcs8.o pkey.o pkeyparam.o pkeyutl.o spkac.o smime.o cms.o rand.o engine.o ocsp.o prime.o ts.o" \ LIBDEPS=" $LIBRARIES -ldl" \ link_app.${shlib_target} make[2]: Entering directory `/nethome/a/amadeu/prodapp/openssl-0.9.9/apps' ../libcrypto.so: undefined reference to `sha1_block_data_order' collect2: ld returned 1 exit status make[2]: *** [link_app.gnu] Error 1 make[2]: Leaving directory `/nethome/a/amadeu/prodapp/openssl-0.9.9/apps' make[1]: *** [openssl] Error 2 make[1]: Leaving directory `/nethome/a/amadeu/prodapp/openssl-0.9.9/apps' make: *** [build_apps] Error 1 The cause of problem is: $ ls -s crypto/sha/sha*.s 0 crypto/sha/sha1-ia64.s 8 crypto/sha/sha256-ia64.s 16 crypto/sha/sha512-ia64.s Look that the sha1-ia64.s is empty! Because the crypto/sha/asm/sha1-ia64.pl is generating a empty file. This occurs because the Makefile are filling wrong the command line for sha1-ia64.pl. The following patch on crypto/sha/Makefile makes all right. The first argument for sha1-ia64.pl should be the .s file and not the $CFLAGS. I tested and works fine for me. -- Amadeu A. Barbosa Jr :: http://www.inf.puc-rio.br/~ajunior
--- crypto/sha/Makefile 2008-01-13 21:00:27.000000000 -0200 +++ crypto/sha/Makefile.new 2008-10-03 16:47:35.000000000 -0300 @@ -50,7 +50,7 @@ sha512-586.s: asm/sha512-586.pl ../perla $(PERL) asm/sha512-586.pl $(PERLASM_SCHEME) $(CFLAGS) $(PROCESSOR) > $@ sha1-ia64.s: asm/sha1-ia64.pl - (cd asm; $(PERL) sha1-ia64.pl $(CFLAGS) ) > $@ + (cd asm; $(PERL) sha1-ia64.pl ../$@ $(CFLAGS)) sha256-ia64.s: asm/sha512-ia64.pl (cd asm; $(PERL) sha512-ia64.pl ../$@ $(CFLAGS)) sha512-ia64.s: asm/sha512-ia64.pl