Hello,
What is the procedure for building a FIPS-capable OpenSSL snapshot on Ubuntu 8.04.4 LTS from the following snapshots:
ftp://ftp.openssl.org/snapshot/openssl-1.0.1-stable-SNAP-20111031.tar.gz
ftp://ftp.openssl.org/snapshot/openssl-fips-2.0-test-20111031.tar.gz
When I try to build it, I get the following compilation error:
======
In file included from hm_pmeth.c:64:
../evp/evp_locl.h:359:1: error: "SHA1_Init" redefined
In file included from /tmp/foo/include/openssl/crypto.h:151,
from ../cryptlib.h:72,
from hm_pmeth.c:59:
/tmp/foo/include/openssl/fipssyms.h:456:1: error: this is the location of the previous definition
======
Here are the build details:
$ uname -a
Linux harpo 2.6.24-29-generic #1 SMP Wed Aug 10 16:34:32 UTC 2011 i686 GNU/Linux
$ cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=8.04
DISTRIB_CODENAME=hardy
DISTRIB_DESCRIPTION="Ubuntu 8.04.4 LTS"
$ export FIPSDIR=/tmp/foo
$ cd openssl-fips-2.0-test-20111031
$ ./config fipscanisterbuild no-asm
...
...
Configured for linux-elf.
$ make
...
...
./fips_standalone_sha1 fipscanister.o > fipscanister.o.sha1
ar r ../libcrypto.a fipscanister.o
ar: creating ../libcrypto.a
/usr/bin/ranlib ../libcrypto.a || echo Never mind.
if [ "y" = "n" -a -n "fipscanister.o" ]; then ar r ../libcrypto.a fipscanister.o; fi
make[2]: Leaving directory `/home/bdurant/svn/trunk/Crypto/Linux/openssl-fips-2.0-test-20111031/fips'
make[1]: Leaving directory `/home/bdurant/svn/trunk/Crypto/Linux/openssl-fips-2.0-test-20111031/fips'
$ make install
...
...
installing fipsld
installing fips_standalone_sha1
cp -p -f fipscanister.o fipscanister.o.sha1 \
fips_premain.c fips_premain.c.sha1 \
/tmp/foo/lib/; \
chmod 0444 /tmp/foo/lib/fips*
make[1]: Leaving directory `/home/bdurant/svn/trunk/Crypto/Linux/openssl-fips-2.0-test-20111031/fips'
making install in test...
make[1]: Entering directory `/home/bdurant/svn/trunk/Crypto/Linux/openssl-fips-2.0-test-20111031/test'
make[1]: Nothing to be done for `install'.
make[1]: Leaving directory `/home/bdurant/svn/trunk/Crypto/Linux/openssl-fips-2.0-test-20111031/test'
$ cd ../openssl-1.0.1-stable-SNAP-20111031/
$ echo $FIPSDIR
/tmp/foo
$ ./config fips --prefix=$FIPSDIR no-idea no-mdc2 no-rc5 no-asm
...
...
Since you've disabled or enabled at least one algorithm, you need to do
the following before building:
make depend
Configured for linux-elf.
$ make depend
making depend in crypto...
make[1]: Entering directory `/home/bdurant/svn/trunk/Crypto/Linux/openssl-1.0.1-stable-SNAP-20111031/crypto'
making depend in crypto/objects...
make[2]: Entering directory `/home/bdurant/svn/trunk/Crypto/Linux/openssl-1.0.1-stable-SNAP-20111031/crypto/objects'
../../util/domd ../.. -MD gcc -- -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -DL_ENDIAN -DTERMIO -O3 -fomit-frame-pointer -Wall -I/tmp/foo/include -I.. -I../.. -I../modes -I../asn1 -I../evp -I../../include -DOPENSSL_NO_DEPRECATED -DOPENSSL_NO_EC_NISTP_64_GCC_128 -DOPENSSL_NO_GMP -DOPENSSL_NO_IDEA -DOPENSSL_NO_JPAKE -DOPENSSL_NO_MD2 -DOPENSSL_NO_MDC2 -DOPENSSL_NO_RC5 -DOPENSSL_NO_RFC3779 -DOPENSSL_NO_RSAX -DOPENSSL_NO_STORE -- o_names.c obj_dat.c obj_lib.c obj_err.c obj_xref.c
...
...
make[2]: Entering directory `/home/bdurant/svn/trunk/Crypto/Linux/openssl-1.0.1-stable-SNAP-20111031/crypto/hmac'
../../util/domd ../.. -MD gcc -- -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -DL_ENDIAN -DTERMIO -O3 -fomit-frame-pointer -Wall -I/tmp/foo/include -I.. -I../.. -I../modes -I../asn1 -I../evp -I../../include -DOPENSSL_NO_DEPRECATED -DOPENSSL_NO_EC_NISTP_64_GCC_128 -DOPENSSL_NO_GMP -DOPENSSL_NO_IDEA -DOPENSSL_NO_JPAKE -DOPENSSL_NO_MD2 -DOPENSSL_NO_MDC2 -DOPENSSL_NO_RC5 -DOPENSSL_NO_RFC3779 -DOPENSSL_NO_RSAX -DOPENSSL_NO_STORE -- hmac.c hm_ameth.c hm_pmeth.c
In file included from hm_pmeth.c:64:
../evp/evp_locl.h:359:1: error: "SHA1_Init" redefined
In file included from /tmp/foo/include/openssl/crypto.h:151,
from ../cryptlib.h:72,
from hm_pmeth.c:59:
/tmp/foo/include/openssl/fipssyms.h:456:1: error: this is the location of the previous definition
Any ideas,
Bill______________________________________________________________________
OpenSSL Project
http://www.openssl.org
User Support Mailing List
openss...@openssl.org
Automated List Manager
majo...@openssl.org