I am trying to build openssl 0.9.8o with the fips-1.2 source. I'm building it using cygwin as the interface, since I am trying to script this into an installation process. The cygwin interface is using Visual Studio 8 to build the source, using the cl.exe. After disabling cygwin's "link.exe", I was able to build the FIPS libraries, but when I try to build openssl with fips enabled, I receive an error.
We found the location of crypt32.lib and added that directory to the very beginning of our $PATH, but it does not appear to be working. I thought that since we are using VS8, that we need the 8.0 SDK... and if that is the case, then we can deal with that... below is the output of the openssl build, with attempting to add FIPS support. I appreciate any help... thank you... Regards, Bryan Here is the output: bbr...@iava-dev-0% perl Configure VC-WIN32 no-asm fips --with-fipslibdir=f:/TRUNK/UPDATES/Linux/FIPS_SSL/openssl-fips-1.2/out32dll Configuring for VC-WIN32 no-asm [option] OPENSSL_NO_ASM no-camellia [default] OPENSSL_NO_CAMELLIA (skip dir) no-capieng [default] OPENSSL_NO_CAPIENG (skip dir) no-cms [default] OPENSSL_NO_CMS (skip dir) 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-mdc2 [default] OPENSSL_NO_MDC2 (skip dir) no-montasm [default] no-rc5 [default] OPENSSL_NO_RC5 (skip dir) no-rfc3779 [default] OPENSSL_NO_RFC3779 (skip dir) no-seed [default] OPENSSL_NO_SEED (skip dir) no-zlib [default] no-zlib-dynamic [default] IsMK1MF=1 CC =cl CFLAG =-DOPENSSL_THREADS -DDSO_WIN32 EX_LIBS = CPUID_OBJ = BN_ASM =bn_asm.o DES_ENC =des_enc.o fcrypt_b.o AES_ASM_OBJ =aes_core.o aes_cbc.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 = RMD160_OBJ_ASM= PROCESSOR = RANLIB =true ARFLAGS = PERL =perl THIRTY_TWO_BIT mode BN_LLONG mode RC4_INDEX mode RC4_CHUNK is undefined Configured for VC-WIN32. bbr...@iava-dev-0% bbr...@iava-dev-0% ms/do_ms.bat f:\TRUNK\UPDATES\Linux\FIPS_SSL\openssl-0.9.8o>perl util\mkfiles.pl 1>MINFO f:\TRUNK\UPDATES\Linux\FIPS_SSL\openssl-0.9.8o>perl util\mk1mf.pl no-asm VC-WIN32 1>ms\nt.mak f:\TRUNK\UPDATES\Linux\FIPS_SSL\openssl-0.9.8o>perl util\mk1mf.pl dll no-asm VC-WIN32 1>ms\ntdll.mak f:\TRUNK\UPDATES\Linux\FIPS_SSL\openssl-0.9.8o>if x == x goto skipce f:\TRUNK\UPDATES\Linux\FIPS_SSL\openssl-0.9.8o>perl util\mkdef.pl 32 libeay 1>ms\libeay32.def f:\TRUNK\UPDATES\Linux\FIPS_SSL\openssl-0.9.8o>perl util\mkdef.pl 32 ssleay 1>ms\ssleay32.def bbr...@iava-dev-0% nmake -f ms/ntdll.mak Microsoft (R) Program Maintenance Utility Version 8.00.50727.762 Copyright (C) Microsoft Corporation. All rights reserved. Building OpenSSL perl util/copy.pl ".\crypto\buildinf.h" "tmp32dll\buildinf.h" Copying: ./crypto/buildinf.h to tmp32dll/buildinf.h perl util/copy.pl ".\crypto\opensslconf.h" "inc32\openssl\opensslconf.h" Copying: ./crypto/opensslconf.h to inc32/openssl/opensslconf.h link /nologo /subsystem:console /opt:ref /out:out32dll\fips_standalone_sha1.exe @c:\temp\nm1.tmp LINK : fatal error LNK1181: cannot open input file 'crypt32.lib' NMAKE : fatal error U1077: '"c:\Program Files\Microsoft Visual Studio 8\VC\BIN\link.EXE"' : return code '0x49d' Stop. bbr...@iava-dev-0% nmake -f ms/ntdll.mak Microsoft (R) Program Maintenance Utility Version 8.00.50727.762 Copyright (C) Microsoft Corporation. All rights reserved. Building OpenSSL perl util/copy.pl ".\.\e_os.h" "tmp32dll\e_os.h" Copying: ././e_os.h to tmp32dll/e_os.h perl util/copy.pl ".\crypto\cryptlib.h" "tmp32dll\cryptlib.h" Copying: ./crypto/cryptlib.h to tmp32dll/cryptlib.h perl util/copy.pl ".\crypto\buildinf.h" "tmp32dll\buildinf.h" Copying: ./crypto/buildinf.h to tmp32dll/buildinf.h perl util/copy.pl ".\crypto\md32_common.h" "tmp32dll\md32_common.h" Copying: ./crypto/md32_common.h to tmp32dll/md32_common.h perl util/copy.pl ".\crypto\o_time.h" "tmp32dll\o_time.h" Copying: ./crypto/o_time.h to tmp32dll/o_time.h perl util/copy.pl ".\crypto\o_str.h" "tmp32dll\o_str.h" Copying: ./crypto/o_str.h to tmp32dll/o_str.h perl util/copy.pl ".\crypto\o_dir.h" "tmp32dll\o_dir.h" Copying: ./crypto/o_dir.h to tmp32dll/o_dir.h perl util/copy.pl ".\crypto\md4\md4_locl.h" "tmp32dll\md4_locl.h" Copying: ./crypto/md4/md4_locl.h to tmp32dll/md4_locl.h perl util/copy.pl ".\crypto\md5\md5_locl.h" "tmp32dll\md5_locl.h" Copying: ./crypto/md5/md5_locl.h to tmp32dll/md5_locl.h perl util/copy.pl ".\crypto\sha\sha_locl.h" "tmp32dll\sha_locl.h" Copying: ./crypto/sha/sha_locl.h to tmp32dll/sha_locl.h perl util/copy.pl ".\crypto\ripemd\rmd_locl.h" "tmp32dll\rmd_locl.h" Copying: ./crypto/ripemd/rmd_locl.h to tmp32dll/rmd_locl.h perl util/copy.pl ".\crypto\ripemd\rmdconst.h" "tmp32dll\rmdconst.h" Copying: ./crypto/ripemd/rmdconst.h to tmp32dll/rmdconst.h perl util/copy.pl ".\crypto\des\des_locl.h" "tmp32dll\des_locl.h" Copying: ./crypto/des/des_locl.h to tmp32dll/des_locl.h perl util/copy.pl ".\crypto\des\rpc_des.h" "tmp32dll\rpc_des.h" Copying: ./crypto/des/rpc_des.h to tmp32dll/rpc_des.h perl util/copy.pl ".\crypto\des\spr.h" "tmp32dll\spr.h" Copying: ./crypto/des/spr.h to tmp32dll/spr.h perl util/copy.pl ".\crypto\des\des_ver.h" "tmp32dll\des_ver.h" Copying: ./crypto/des/des_ver.h to tmp32dll/des_ver.h perl util/copy.pl ".\crypto\rc2\rc2_locl.h" "tmp32dll\rc2_locl.h" Copying: ./crypto/rc2/rc2_locl.h to tmp32dll/rc2_locl.h perl util/copy.pl ".\crypto\rc4\rc4_locl.h" "tmp32dll\rc4_locl.h" Copying: ./crypto/rc4/rc4_locl.h to tmp32dll/rc4_locl.h perl util/copy.pl ".\crypto\idea\idea_lcl.h" "tmp32dll\idea_lcl.h" Copying: ./crypto/idea/idea_lcl.h to tmp32dll/idea_lcl.h perl util/copy.pl ".\crypto\bf\bf_pi.h" "tmp32dll\bf_pi.h" Copying: ./crypto/bf/bf_pi.h to tmp32dll/bf_pi.h perl util/copy.pl ".\crypto\bf\bf_locl.h" "tmp32dll\bf_locl.h" Copying: ./crypto/bf/bf_locl.h to tmp32dll/bf_locl.h perl util/copy.pl ".\crypto\cast\cast_s.h" "tmp32dll\cast_s.h" Copying: ./crypto/cast/cast_s.h to tmp32dll/cast_s.h perl util/copy.pl ".\crypto\cast\cast_lcl.h" "tmp32dll\cast_lcl.h" Copying: ./crypto/cast/cast_lcl.h to tmp32dll/cast_lcl.h perl util/copy.pl ".\crypto\aes\aes_locl.h" "tmp32dll\aes_locl.h" Copying: ./crypto/aes/aes_locl.h to tmp32dll/aes_locl.h perl util/copy.pl ".\crypto\bn\bn_lcl.h" "tmp32dll\bn_lcl.h" Copying: ./crypto/bn/bn_lcl.h to tmp32dll/bn_lcl.h perl util/copy.pl ".\crypto\bn\bn_prime.h" "tmp32dll\bn_prime.h" Copying: ./crypto/bn/bn_prime.h to tmp32dll/bn_prime.h perl util/copy.pl ".\crypto\ec\ec_lcl.h" "tmp32dll\ec_lcl.h" Copying: ./crypto/ec/ec_lcl.h to tmp32dll/ec_lcl.h perl util/copy.pl ".\crypto\ecdh\ech_locl.h" "tmp32dll\ech_locl.h" Copying: ./crypto/ecdh/ech_locl.h to tmp32dll/ech_locl.h perl util/copy.pl ".\crypto\ecdsa\ecs_locl.h" "tmp32dll\ecs_locl.h" Copying: ./crypto/ecdsa/ecs_locl.h to tmp32dll/ecs_locl.h perl util/copy.pl ".\crypto\bio\bio_lcl.h" "tmp32dll\bio_lcl.h" Copying: ./crypto/bio/bio_lcl.h to tmp32dll/bio_lcl.h perl util/copy.pl ".\crypto\objects\obj_dat.h" "tmp32dll\obj_dat.h" Copying: ./crypto/objects/obj_dat.h to tmp32dll/obj_dat.h perl util/copy.pl ".\crypto\x509v3\pcy_int.h" "tmp32dll\pcy_int.h" Copying: ./crypto/x509v3/pcy_int.h to tmp32dll/pcy_int.h perl util/copy.pl ".\crypto\conf\conf_def.h" "tmp32dll\conf_def.h" Copying: ./crypto/conf/conf_def.h to tmp32dll/conf_def.h perl util/copy.pl ".\crypto\ui\ui_locl.h" "tmp32dll\ui_locl.h" Copying: ./crypto/ui/ui_locl.h to tmp32dll/ui_locl.h perl util/copy.pl ".\crypto\store\str_locl.h" "tmp32dll\str_locl.h" Copying: ./crypto/store/str_locl.h to tmp32dll/str_locl.h perl util/copy.pl ".\fips\fips_utl.h" "tmp32dll\fips_utl.h" Copying: ./fips/fips_utl.h to tmp32dll/fips_utl.h perl util/copy.pl ".\fips\fips_locl.h" "tmp32dll\fips_locl.h" Copying: ./fips/fips_locl.h to tmp32dll/fips_locl.h perl util/copy.pl ".\ssl\ssl_locl.h" "tmp32dll\ssl_locl.h" Copying: ./ssl/ssl_locl.h to tmp32dll/ssl_locl.h perl util/copy.pl ".\ssl\kssl_lcl.h" "tmp32dll\kssl_lcl.h" Copying: ./ssl/kssl_lcl.h to tmp32dll/kssl_lcl.h perl util/copy.pl ".\apps\apps.h" "tmp32dll\apps.h" Copying: ./apps/apps.h to tmp32dll/apps.h perl util/copy.pl ".\apps\progs.h" "tmp32dll\progs.h" Copying: ./apps/progs.h to tmp32dll/progs.h perl util/copy.pl ".\apps\s_apps.h" "tmp32dll\s_apps.h" Copying: ./apps/s_apps.h to tmp32dll/s_apps.h perl util/copy.pl ".\apps\testdsa.h" "tmp32dll\testdsa.h" Copying: ./apps/testdsa.h to tmp32dll/testdsa.h perl util/copy.pl ".\apps\testrsa.h" "tmp32dll\testrsa.h" Copying: ./apps/testrsa.h to tmp32dll/testrsa.h perl util/copy.pl ".\engines\e_4758cca_err.c" "tmp32dll\e_4758cca_err.c" Copying: ./engines/e_4758cca_err.c to tmp32dll/e_4758cca_err.c perl util/copy.pl ".\engines\e_4758cca_err.h" "tmp32dll\e_4758cca_err.h" Copying: ./engines/e_4758cca_err.h to tmp32dll/e_4758cca_err.h perl util/copy.pl ".\engines\e_aep_err.c" "tmp32dll\e_aep_err.c" Copying: ./engines/e_aep_err.c to tmp32dll/e_aep_err.c perl util/copy.pl ".\engines\e_aep_err.h" "tmp32dll\e_aep_err.h" Copying: ./engines/e_aep_err.h to tmp32dll/e_aep_err.h perl util/copy.pl ".\engines\e_atalla_err.c" "tmp32dll\e_atalla_err.c" Copying: ./engines/e_atalla_err.c to tmp32dll/e_atalla_err.c perl util/copy.pl ".\engines\e_atalla_err.h" "tmp32dll\e_atalla_err.h" Copying: ./engines/e_atalla_err.h to tmp32dll/e_atalla_err.h perl util/copy.pl ".\engines\e_cswift_err.c" "tmp32dll\e_cswift_err.c" Copying: ./engines/e_cswift_err.c to tmp32dll/e_cswift_err.c perl util/copy.pl ".\engines\e_cswift_err.h" "tmp32dll\e_cswift_err.h" Copying: ./engines/e_cswift_err.h to tmp32dll/e_cswift_err.h perl util/copy.pl ".\engines\e_gmp_err.c" "tmp32dll\e_gmp_err.c" Copying: ./engines/e_gmp_err.c to tmp32dll/e_gmp_err.c perl util/copy.pl ".\engines\e_gmp_err.h" "tmp32dll\e_gmp_err.h" Copying: ./engines/e_gmp_err.h to tmp32dll/e_gmp_err.h perl util/copy.pl ".\engines\e_chil_err.c" "tmp32dll\e_chil_err.c" Copying: ./engines/e_chil_err.c to tmp32dll/e_chil_err.c perl util/copy.pl ".\engines\e_chil_err.h" "tmp32dll\e_chil_err.h" Copying: ./engines/e_chil_err.h to tmp32dll/e_chil_err.h perl util/copy.pl ".\engines\e_nuron_err.c" "tmp32dll\e_nuron_err.c" Copying: ./engines/e_nuron_err.c to tmp32dll/e_nuron_err.c perl util/copy.pl ".\engines\e_nuron_err.h" "tmp32dll\e_nuron_err.h" Copying: ./engines/e_nuron_err.h to tmp32dll/e_nuron_err.h perl util/copy.pl ".\engines\e_sureware_err.c" "tmp32dll\e_sureware_err.c" Copying: ./engines/e_sureware_err.c to tmp32dll/e_sureware_err.c perl util/copy.pl ".\engines\e_sureware_err.h" "tmp32dll\e_sureware_err.h" Copying: ./engines/e_sureware_err.h to tmp32dll/e_sureware_err.h perl util/copy.pl ".\engines\e_ubsec_err.c" "tmp32dll\e_ubsec_err.c" Copying: ./engines/e_ubsec_err.c to tmp32dll/e_ubsec_err.c perl util/copy.pl ".\engines\e_ubsec_err.h" "tmp32dll\e_ubsec_err.h" Copying: ./engines/e_ubsec_err.h to tmp32dll/e_ubsec_err.h perl util/copy.pl ".\engines\e_capi_err.c" "tmp32dll\e_capi_err.c" Copying: ./engines/e_capi_err.c to tmp32dll/e_capi_err.c perl util/copy.pl ".\engines\e_capi_err.h" "tmp32dll\e_capi_err.h" Copying: ./engines/e_capi_err.h to tmp32dll/e_capi_err.h cl /Fotmp32dll\fips_standalone_sha1.obj -Iinc32 -Itmp32dll /MD /Ox /O2 /Ob2 /W3 /WX /Gs0 /GF /Gy /nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -DDSO_WIN32 -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE -DOPENSSL_USE_APPLINK -I. /Fdout32dll -DOPENSSL_NO_CAMELLIA -DOPENSSL_NO_SEED -DOPENSSL_NO_RC5 -DOPENSSL_NO_MDC2 -DOPENSSL_NO_CMS -DOPENSSL_NO_JPAKE -DOPENSSL_NO_CAPIENG -DOPENSSL_NO_KRB5 -DOPENSSL_FIPS -DOPENSSL_NO_DYNAMIC_ENGINE -D_WINDLL -c .\fips\sha\fips_standalone_sha1.c fips_standalone_sha1.c link /nologo /subsystem:console /opt:ref /out:out32dll\fips_standalone_sha1.exe @c:\temp\nm2.tmp LINK : fatal error LNK1181: cannot open input file 'crypt32.lib' NMAKE : fatal error U1077: '"c:\Program Files\Microsoft Visual Studio 8\VC\BIN\link.EXE"' : return code '0x49d' Stop. ______________________________________________________________________ OpenSSL Project http://www.openssl.org User Support Mailing List openssl-users@openssl.org Automated List Manager majord...@openssl.org