Trochę o OpenSSL i opis kompilacji wersji 0.9.8 opisywałem już wcześniej, nie będę więc tego powielał. Tutaj jest opis konfiguracji i kompilacji wersji 1.0.0d, przy użyciu skryptu, który znajduje się w załączeniu. Należy użyć GNU Make (gmake), bo próba kompilacji dmake w tych nowszych wersjach może skończyć się błędem.
soft@wega:~/openssl% ./drf_openssl-1.0.0d_conf
cc: Sun C 5.10 SunOS_sparc 2009/06/03
usage: cc [ options] files. Use 'cc -flags' for details
MANPATH=/usr/local/share/man:/usr/local/man:/usr/share/man
PATH=/usr/local/bin:/usr/bin:/opt/SUNWspro/bin:/usr/ccs/bin
CFLAGS=-fast -W2,-Rloop_reform
CPPFLAGS=-I/usr/local/include
CXXFLAGS=-fast -W2,-Rloop_reform
LDFLAGS=-L/usr/local/lib -R/usr/local/lib
=============================================
Clean (gmake clean) [y|n] ?
n
=============================================
Configuration (configure) [y|n] ?
y
Configuring for solaris-sparcv9-cc
no-gmp [default] OPENSSL_NO_GMP (skip dir)
no-jpake [experimental] OPENSSL_NO_JPAKE (skip dir)
no-krb5 [krb5-flavor not specified] OPENSSL_NO_KRB5
no-md2 [default] OPENSSL_NO_MD2 (skip dir)
no-rc5 [default] OPENSSL_NO_RC5 (skip dir)
no-rfc3779 [default] OPENSSL_NO_RFC3779 (skip dir)
no-store [experimental] OPENSSL_NO_STORE (skip dir)
no-zlib-dynamic [default]
IsMK1MF=0
CC =cc
CFLAG =-KPIC -DOPENSSL_PIC -DZLIB -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -xtarget=ultra -xarch=v8plus -xO5 -xstrconst -xdepend -Xa -DB_ENDIAN -DBN_DIV2W -DOPENSSL_BN_ASM_MONT -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DAES_ASM
EX_LIBS =-lsocket -lnsl -ldl -lz
CPUID_OBJ =sparcv9cap.o sparccpuid.o
BN_ASM =bn-sparcv9.o sparcv9-mont.o sparcv9a-mont.o
DES_ENC =des_enc-sparc.o fcrypt_b.o
AES_ENC =aes_core.o aes_cbc.o aes-sparcv9.o
BF_ENC =bf_enc.o
CAST_ENC =c_enc.o
RC4_ENC =rc4_enc.o rc4_skey.o
RC5_ENC =rc5_enc.o
MD5_OBJ_ASM =
SHA1_OBJ_ASM =sha1-sparcv9.o sha256-sparcv9.o sha512-sparcv9.o
RMD160_OBJ_ASM=
CMLL_ENC= =camellia.o cmll_misc.o cmll_cbc.o
PROCESSOR =
RANLIB =/usr/ccs/bin/ranlib
ARFLAGS =
PERL =/usr/bin/perl
THIRTY_TWO_BIT mode
DES_PTR used
DES_RISC1 used
DES_UNROLL used
BN_LLONG mode
RC4 uses uchar
RC4_CHUNK is unsigned long long
BF_PTR used
...
Configured for solaris-sparcv9-cc.
=============================================
Kompilacja:
Compilation (gmake) [y|n] ?
y
making all in crypto...
gmake[1]: Entering directory `/home/soft/openssl/openssl-1.0.0d/crypto'
...
Compiled successfully
=============================================
Testowanie:
Test (gmake test || gmake check) [y|n] ?
y
testing...
gmake[1]: Entering directory `/home/soft/openssl/openssl-1.0.0d/test'
gmake[2]: Entering directory `/home/soft/openssl/openssl-1.0.0d'
making all in apps...
gmake[3]: Entering directory `/home/soft/openssl/openssl-1.0.0d/apps'
gmake[3]: Nothing to be done for `all'.
gmake[3]: Leaving directory `/home/soft/openssl/openssl-1.0.0d/apps'
gmake[2]: Leaving directory `/home/soft/openssl/openssl-1.0.0d'
../util/shlib_wrap.sh ./destest
Doing cbcm
Doing ecb
Doing ede ecb
...
ALL TESTS SUCCESSFUL.
gmake[1]: Leaving directory `/home/soft/openssl/openssl-1.0.0d/test'
OPENSSL_CONF=apps/openssl.cnf util/opensslwrap.sh version -a
OpenSSL 1.0.0d 8 Feb 2011
built on: Wed May 18 10:34:10 CEST 2011
platform: solaris-sparcv9-cc
options: bn(64,32) rc4(ptr,char) des(ptr,risc1,16,long) idea(int) blowfish(ptr)
compiler: cc -KPIC -DOPENSSL_PIC -DZLIB -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -xtarget=ultra -xarch=v8plus -xO5 -xstrconst -xdepend -Xa -DB_ENDIAN -DBN_DIV2W -DOPENSSL_BN_ASM_MONT -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DAES_ASM
OPENSSLDIR: "/usr/local/openssl-1.0.0d/ssl"
Instalacja po przełączeniu na roota, warto też dołożyć link symboliczny w /usr/local, bo wiele programów szuka bibliotek i binarek OpenSSL w podkatalogach /usr/local/ssl:
# cd openssl-1.0.0d
# gmake install
# cd /usr/local
# ln -s openssl-1.0.0d ssl