Santhosh Kokala wrote:
I would really appreciate, if someone helps me with this issue.

Why not just think for a second?

export FIPSLD_CC=g++
export CC=gcc

means that it's using g++ to compile fips_premain.c. FIPSLD_CC takes precedence over CC in fipsld: CC=${FIPSLD_CC:-${CC}}

export CXX=/usr/local/ssl/fips-2.0/bin/fipsld

Build Errors:


/tmp/cczHeW7i.o: In function `FINGERPRINT_premain()':
/usr/local/ssl/fips-2.0/bin/../lib/fips_premain.c:103: undefined
reference
to `FIPS_text_start()'
/usr/local/ssl/fips-2.0/bin/../lib/fips_premain.c:116: undefined
reference
to `FIPS_incore_fingerprint(unsigned char*, unsigned int)'

So try to compile fips_premain.c manually with g++ and run 'nm fips_premain.o'. Note undefined symbols and try to find them in fipscanister.o. This answers question what's going on. With this answer you can also determine what to do. Setting FIPSLD_CC to gcc shall compile fips_premain.c correctly, but it might fail to link with rest of your code, because g++ driver adds language-specific libraries [and linker options]. Therefore there are two options. a) Set FIPSLD_CC to gcc, figure out language-specific libraries [and linker options] and explicitly add them to fipsld command line. b) Make g++ treat fips_premain.c as C and not C++, e.g. by setting FIPSLD_CC to "g++ -x c".
______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
Development Mailing List                       openssl-dev@openssl.org
Automated List Manager                           majord...@openssl.org

Reply via email to