I could either get it to link, but fail the premain test or not get it to link. I never did get even a simple application to compile and run.
I haven't had time since my last post to work on it. I've been side tracked by our (way behind) software release. -Jon Evers ________________________________ From: owner-openssl-us...@openssl.org [mailto:owner-openssl-us...@openssl.org] On Behalf Of Raghav Varadan Sent: Wednesday, April 03, 2013 5:59 PM To: openssl-users@openssl.org Subject: Re: fipslink Jon, I have the same problem that you were mentioning in your thread. I built a batch file similar to yours and I'm getting the link error in the first pass. Were you able to find a solution for this? ------------------------------------------------------------------------ ------------------------------------------------------------------------ ------------------------------------------------------------ Following are the link errors I'm getting: fips_premain.obj : error LNK2001: unresolved external symbol "unsigned char * FIPS_signature" (?FIPS_signature@@3PAEA) fips_premain.obj : error LNK2019: unresolved external symbol "unsigned int __cdecl FIPS_incore_fingerprint(unsigned char *,unsigned int)" (?FIPS_incor e_fingerprint@@YAIPEAEI@Z) referenced in function "void __cdecl FINGERPRINT_premain(void)" (?FINGERPRINT_premain@@YAXXZ) fips_premain.obj : error LNK2019: unresolved external symbol "void const * __cdecl FIPS_text_start(void)" (?FIPS_text_start@@YAPEBXXZ) referenced in f unction "void __cdecl FINGERPRINT_premain(void)" (?FINGERPRINT_premain@@YAXXZ) ------------------------------------------------------------------------ ------------------------------------------------------------------- Here is my log: D:\TestPrograms\TestFIPSOpenssl>cl /Od /I "D:\OpenSSL\deploy\Applications_win64_x64\include" /I "D:\Dev\WrkSpace_Main\depot\ExternalLibs\OpenSSL\1.0.1c-fips2.0.3\fips-s rc\include" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_UNICODE" /D "UNICODE" /Gm /EHsc /RTC1 /MDd /Fo"x64\Debug\\" /Fd"x64\Debug\vc90.pdb" /W3 /nologo /c /Zi /TC /errorReport:prompt main.c main.c D:\TestPrograms\TestFIPSOpenssl>fips_build_script.bat D:\TestPrograms\TestFIPSOpenssl>SET FIPS_PATH=D:\OpenSSL\deploy\Applications_win64_x64 D:\TestPrograms\TestFIPSOpenssl>SET FIPS_LINK=link D:\TestPrograms\TestFIPSOpenssl>SET FIPS_CC=cl D:\TestPrograms\TestFIPSOpenssl>SET FIPS_CC_ARGS=/Fo D:\TestPrograms\TestFIPSOpenssl\x64\Debug\fips_premain.obj -ID:\Dev\WrkSpace_Ma in\depot\ExternalLibs\OpenSSL\1.0.1c-fips2.0.3\_deploy\Applications_win6 4_x64\include /MD /O1 -DOPENSSL_THREADS -DDSO_WIN32 -DOPENSSL_NO_ERR -W3 -Gs0 -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -DUNICODE -D_UNICODE -D_CRT_SECURE_NO_DEPRECATE -ID:\Dev\WrkSpace_Main\depot\Ext ernalLibs\OpenSSL\1.0.1c-fips2.0.3\_deploy\Applications_win64_x64/includ e/GS -DOPENSSL_NO_IDEA -DOPENSSL_NO_CAMELLIA -DOPENSSL_NO_SEED -DOPENSSL_NO_RC 2 -DOPENSSL_NO_RC5 -DOPENSSL_NO_MD2 -DOPENSSL_NO_RIPEMD -DOPENSSL_NO_MDC2 -DOPENSSL_NO_BF -DOPENSSL_NO_CAST -DOPENSSL_NO_DH -DOPENSSL_NO_WHIRLPOOL -DO PENSSL_NO_SSL2 -DOPENSSL_NO_CMS -DOPENSSL_NO_ERR -DOPENSSL_NO_KRB5 -DOPENSSL_NO_GOST -DOPENSSL_NO_HW -DOPENSSL_FIPS -DOPENSSL_NO_JPAKE -DOPENSSL_NO_DY NAMIC_ENGINE /Zl /Z7 -c D:\TestPrograms\TestFIPSOpenssl>SET PREMAIN_DSO_EXE= D:\TestPrograms\TestFIPSOpenssl>SET FIPS_TARGET=D:\TestPrograms\TestFIPSOpenssl\x64\Debug\TestFIPSOpenssl.ex e D:\TestPrograms\TestFIPSOpenssl>SET FIPS_SHA1_EXE=D:\OpenSSL\deploy\Applications_win64_x64\bin\fips_standalo ne_sha1.exe D:\TestPrograms\TestFIPSOpenssl>SET FIPSLIB_D=D:\OpenSSL\deploy\Applications_win64_x64\lib D:\TestPrograms\TestFIPSOpenssl>perl D:\OpenSSL\deploy\Applications_win64_x64\bin\fips link.pl /OUT:"D:\TestPrograms\TestFIPSOpenssl\x64\Debug\TestFIPSOpenssl.exe" /NOLOGO /LIBPATH:"D:\Dev\WrkSpace_Main\depot\ExternalLibs\OpenSS L\1.0.1c-fips2.0.3\_deploy\Applications_win64_x64\lib" /MANIFEST /MANIFESTFILE:\"x64\Debug\TestFIPSOpenssl.exe.intermediate.manifest\" /MANIFESTUAC:\" level='asInvoker' uiAccess='false'\" /DEBUG /PDB:\"D:\TestPrograms\TestFIPSOpenssl\x64\Debug\TestFIPSOpenssl.pdb\" /SUBSYSTEM:CONSOLE /DYNAMI CBASE /NXCOMPAT /MACHINE:X64 /ERRORREPORT:PROMPT fipscanister.lib opensslcryptofips.lib opensslssl.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib x64\Debug\main.obj x64\Debug\fips_premain.obj Integrity check OK cl /Fo D:\TestPrograms\TestFIPSOpenssl\x64\Debug\fips_premain.obj -ID:\OpenSSL\deploy\ Applications_win64_x64\include /MD /O1 -DOPENSSL_THREADS -DDSO_WIN32 -DOPENSSL_NO_ERR -W3 -Gs0 -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_M EAN -DL_ENDIAN -DUNICODE -D_UNICODE -D_CRT_SECURE_NO_DEPRECATE -ID:\OpenSSL\deploy\Applications _win64_x64/include/GS -DOPENSSL_NO_IDEA -DOPENSSL_NO_CAMELLIA -DOPENSSL_NO_SEED -DOPENSSL_NO_RC2 -DOPENSSL_NO_RC5 -DOPENSSL_NO_MD2 -DOPENSSL_NO_RIPEMD -DOPENSSL_NO_MDC2 -DOPENSSL_NO_BF -DOPENSSL_NO_CAST -DOPENSSL_NO_DH -DOPENSSL_NO_WHIRLPOOL -DOPENSSL_NO_SSL2 -DOPENSSL_NO_CMS -DOPENSSL_NO_ERR -DOPEN SSL_NO_KRB5 -DOPENSSL_NO_GOST -DOPENSSL_NO_HW -DOPENSSL_FIPS -DOPENSSL_NO_JPAKE -DOPENSSL_NO_DYNAMIC_ENGINE /Zl /Z7 -c D:\Dev\WrkSpace_Main\depot \ExternalLibs\OpenSSL\1.0.1c-fips2.0.3\_deploy\Applications_win64_x64\li b/fips_premain.c cl : Command line warning D9027 : source file 'D:\TestPrograms\TestFIPSOpenssl\x64\Debug\fips_premain.obj' ignored fips_premain.c link /OUT:D:\TestPrograms\TestFIPSOpenssl\x64\Debug\TestFIPSOpenssl.exe /NOLOGO /LIBPATH:D:\Dev\WrkSpace_Main\depot\ExternalLibs\OpenSSL\1.0. 1c-fips2.0.3\_deploy\Applications_win64_x64\lib /MANIFEST /MANIFESTFILE:"x64\Debug\TestFIPSOpenssl.exe.intermediate.manifest" /MANIFESTUAC:"level='asI nvoker' uiAccess='false'" /DEBUG /PDB:"D:\TestPrograms\TestFIPSOpenssl\x64\Debug\TestFIPSOpenssl.pdb" /SUBSYSTEM:CONSOLE /DYNAMICBASE /NXCOMP AT /MACHINE:X64 /ERRORREPORT:PROMPT fipscanister.lib opensslcryptofips.lib opensslssl.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib x64\Debug\main.obj x64\Debug\fips_premain.obj MSVCRTD.lib(cinitexe.obj) : warning LNK4098: defaultlib 'msvcrt.lib' conflicts with use of other libs; use /NODEFAULTLIB:library fips_premain.obj : error LNK2001: unresolved external symbol "unsigned char * FIPS_signature" (?FIPS_signature@@3PAEA) fips_premain.obj : error LNK2019: unresolved external symbol "unsigned int __cdecl FIPS_incore_fingerprint(unsigned char *,unsigned int)" (?FIPS_incor e_fingerprint@@YAIPEAEI@Z) referenced in function "void __cdecl FINGERPRINT_premain(void)" (?FINGERPRINT_premain@@YAXXZ) fips_premain.obj : error LNK2019: unresolved external symbol "void const * __cdecl FIPS_text_start(void)" (?FIPS_text_start@@YAPEBXXZ) referenced in f unction "void __cdecl FINGERPRINT_premain(void)" (?FINGERPRINT_premain@@YAXXZ) D:\TestPrograms\TestFIPSOpenssl\x64\Debug\TestFIPSOpenssl.exe : fatal error LNK1120: 3 unresolved externals First stage Link failure at D:\OpenSSL\deploy\Applications_win64_x64\bin\fipslink.pl line 55. Thanks! Regards, Raghav On Thu, Feb 7, 2013 at 2:26 PM, Dave Thompson <dthomp...@prinpay.com> wrote: > From: owner-openssl-us...@openssl.org On Behalf Of Jeffrey Walton > Sent: Wednesday, 06 February, 2013 16:59 > To: openssl-users@openssl.org > Subject: Re: fipslink > > On Wed, Feb 6, 2013 at 2:40 PM, Memmott, Lester > <lester.memm...@landesk.com> wrote: > > Jon, > > > > I'm having trouble with fipslink as well and thought it > might help to compare notes. These are the linker errors I'm > getting using Visual Studio 2008: > > fips_premain.obj : error LNK2001: unresolved external > symbol "unsigned char * FIPS_signature" (?FIPS_signature@@3PAEA) > > fips_premain.obj : error LNK2001: unresolved external > symbol "void const * __cdecl FIPS_text_start(void)" > (?FIPS_text_start@@YAPBXXZ) > > fips_premain.obj : error LNK2001: unresolved external > symbol "unsigned int __cdecl FIPS_incore_fingerprint(unsigned > char *,unsigned int)" (?FIPS_incore_fingerprint@@YAIPAEI@Z) > > > > What linker errors do you get? > It looks like you are not compiling fips_premain.c (that's where those > symbols are allocated storage). > I don't think so. In my copy they are *referenced* in fips_premain.c, and allocated/defined in fips.c and fips_canister.c . Those error messages look like fips_premain.c was compiled as C++ instead of C. Since by design C++ is a superset of "good" C this doesn't cause errors. If OP is compiling in VisualStudio/VisualC++ (not just linking) in my experience VisualStudio defaults to "force C++" and you have to manually reconfigure to allow C. ______________________________________________________________________ OpenSSL Project http://www.openssl.org User Support Mailing List openssl-users@openssl.org Automated List Manager majord...@openssl.org Live customer support is available 24/7/365 from the U.S. for all customers worldwide and locally in other countries. Find out more at www.go2vanguard.com. Enable Yourself Learn more about Vanguard zSecurity University training classes offered online, on-demand by request, or in a traditional classroom setting in cities worldwide. www.go2vanguard.com This e-mail and any attachments are intended solely for the use of the addressee and may contain information that is PRIVILEGED and CONFIDENTIAL. If you are not the intended recipient of this e-mail, you are hereby notified that any dissemination of this e-mail or any attachments is strictly prohibited. If you have received this e-mail in error, please do not read this email, please delete all copies of this e-mail and any attachments and notify the sender immediately. Thank you.