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" \
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

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