<div dir="ltr">Hello,<div><br></div><div>I am trying to compile OpenSSL 1.0.2d with FIPS support on various Linux and Unix platforms. I am building  "openssl-fips-ecp-2.0.16" prior to building OpenSSL. </div><div><br></div><div>I have successfully compiled the same version of OpenSSL with FIPS support in linux-x86_64, aix64-cc, solaris64-x86_64-cc architectures.  The build is failing for "solaris64-sparcv9-cc" architecture.</div><div><br></div><div>See details below: </div><div><br></div><div><ul><li>./Configure solaris64-sparcv9-cc fips shared no-ec2m --with-fipsdir=/openssl-fips-ecp-2.0.16-build --prefix=/openssl-1.0.2d-build  -> Okay</li><li>make depend -> Okay<br></li><li>make -> <b>Fail</b></li></ul></div><blockquote style="margin:0 0 0 40px;border:none;padding:0px"><blockquote style="margin:0 0 0 40px;border:none;padding:0px"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">/usr/ccs/bin/ranlib ../../libcrypto.a || echo Never mind.<br>if [ -n "libcrypto.so.1.0.0 libssl.so.1.0.0" ]; then \<br>        (cd ..; make libcrypto.so.1.0.0); \<br>fi<br>[ -z "libcrypto" ] || cc -KPIC -DOPENSSL_PIC -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -xtarget=ultra -xarch=v9 -xO5 -xstrconst -xdepend -Xa -DB_ENDIAN -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -I/openssl-fips-ecp-2.0.16-build/include -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DAES_ASM -DGHASH_ASM -Iinclude \<br>        -DFINGERPRINT_PREMAIN_DSO_LOAD -o fips_premain_dso  \<br>        /openssl-fips-ecp-2.0.16-build/lib/fips_premain.c /openssl-fips-ecp-2.0.16-build/lib/fipscanister.o \<br>        libcrypto.a -lsocket -lnsl -ldl<br>ld: fatal: symbol `_sparcv9_vis1_instrument_bus2' is multiply-defined:<br>        (file /openssl-fips-ecp-2.0.16-build/lib/fipscanister.o type=FUNC; file libcrypto.a(sparccpuid.o) type=FUNC);<br>ld: fatal: symbol `_sparcv9_vis1_instrument_bus' is multiply-defined:<br>        (file /openssl-fips-ecp-2.0.16-build/lib/fipscanister.o type=FUNC; file libcrypto.a(sparccpuid.o) type=FUNC);<br>ld: fatal: File processing errors. No output written to fips_premain_dso<br>*** Error code 1<br>make: Fatal error: Command failed for target `fips_premain_dso'<br>Current working directory /openssl-1.0.2d<br>*** Error code 1<br>make: Fatal error: Command failed for target `shared'<br>Current working directory /openssl-1.0.2d/crypto<br>*** Error code 1<br>The following command caused the error:<br>dir=crypto; target=all; if expr " crypto ssl engines apps test tools " : ".* $dir " >/dev/null 2>&1; then  if [ -d "$dir" ]; then  (    cd $dir && echo "making $target in $dir..." &&  TOP= && unset TOP ${LIB+LIB} ${LIBS+LIBS}        ${INCLUDE+INCLUDE} ${INCLUDES+INCLUDES}         ${DIR+DIR} ${DIRS+DIRS} ${SRC+SRC}              ${LIBSRC+LIBSRC} ${LIBOBJ+LIBOBJ} ${ALL+ALL}    ${EXHEADER+EXHEADER} ${HEADER+HEADER}           ${GENERAL+GENERAL} ${CFLAGS+CFLAGS}             ${ASFLAGS+ASFLAGS} ${AFLAGS+AFLAGS}             ${LDCMD+LDCMD} ${LDFLAGS+LDFLAGS} ${SCRIPTS+SCRIPTS}    ${SHAREDCMD+SHAREDCMD} ${SHAREDFLAGS+SHAREDFLAGS}       ${SHARED_LIB+SHARED_LIB} ${LIBEXTRAS+LIBEXTRAS} && make -e PLATFORM='solaris64-sparcv9-cc' PROCESSOR=''  CC='cc' CFLAG='-KPIC -DOPENSSL_PIC -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -xtarget=ultra -xarch=v9 -xO5 -xstrconst -xdepend -Xa -DB_ENDIAN -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -I/openssl-fips-ecp-2.0.16-build/include -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DAES_ASM -DGHASH_ASM'                       AS='cc' ASFLAG='-KPIC -DOPENSSL_PIC -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -xtarget=ultra -xarch=v9 -xO5 -xstrconst -xdepend -Xa -DB_ENDIAN -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -I/openssl-fips-ecp-2.0.16-build/include -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DAES_ASM -DGHASH_ASM -c'                    AR='ar  r' NM='nm' RANLIB='/usr/ccs/bin/ranlib'         CROSS_COMPILE=''        PERL='/usr/bin/perl' ENGDIRS='ccgost'           SDIRS='objects  md4 md5 sha mdc2 hmac ripemd whrlpool  des aes rc2 rc4 idea bf cast camellia seed modes  bn ec rsa dsa ecdsa dh ecdh dso engine  buffer bio stack lhash rand err  evp asn1 pem x509 x509v3 conf txt_db pkcs7 pkcs12 comp ocsp ui krb5  cms pqueue ts srp cmac' LIBRPATH='/openssl-1.0.2d-build/lib'     INSTALL_PREFIX=''               INSTALLTOP='/openssl-1.0.2d-build' OPENSSLDIR='/openssl-1.0.2d-build/ssl'       LIBDIR='lib'                            MAKEDEPEND='$${TOP}/util/domd $${TOP} -MD makedepend'  DEPFLAG='-DOPENSSL_NO_DEPRECATED -DOPENSSL_NO_EC2M -DOPENSSL_NO_EC_NISTP_64_GCC_128 -DOPENSSL_NO_GMP -DOPENSSL_NO_JPAKE -DOPENSSL_NO_LIBUNBOUND -DOPENSSL_NO_MD2 -DOPENSSL_NO_RC5 -DOPENSSL_NO_RFC3779 -DOPENSSL_NO_RSAX -DOPENSSL_NO_SCTP -DOPENSSL_NO_SSL_TRACE -DOPENSSL_NO_STORE -DOPENSSL_NO_UNIT_TEST'     MAKEDEPPROG='makedepend'                        SHARED_LDFLAGS='-xarch=v9 -G -dy -z text'               KRB5_INCLUDES='' LIBKRB5=''     ZLIB_INCLUDE='' LIBZLIB=''      EXE_EXT='' SHARED_LIBS='libcrypto.so.1.0.0 libssl.so.1.0.0'     SHLIB_EXT='.so.1.0.0' SHLIB_TARGET='solaris-shared'     PEX_LIBS='' EX_LIBS='-lsocket -lnsl -ldl'       CPUID_OBJ='sparcv9cap.o sparccpuid.o' BN_ASM='bn-sparcv9.o sparcv9-mont.o sparcv9a-mont.o vis3-mont.o sparct4-mont.o sparcv9-gf2m.o'    EC_ASM='' DES_ENC='des_enc-sparc.o fcrypt_b.o dest4-sparcv9.o'          AES_ENC='aes_core.o aes_cbc.o aes-sparcv9.o aest4-sparcv9.o' CMLL_ENC='camellia.o cmll_misc.o cmll_cbc.o cmllt4-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'      SHA1_ASM_OBJ='sha1-sparcv9.o sha256-sparcv9.o sha512-sparcv9.o'                         MD5_ASM_OBJ='md5-sparcv9.o'                     RMD160_ASM_OBJ=''               WP_ASM_OBJ='wp_block.o'                         MODES_ASM_OBJ='ghash-sparcv9.o'                 ENGINES_ASM_OBJ=''              PERLASM_SCHEME='void'           FIPSLIBDIR='/openssl-fips-ecp-2.0.16-build/lib/'                        FIPSDIR='/openssl-fips-ecp-2.0.16-build'                                FIPSCANLIB="${FIPSCANLIB:-libcrypto}"   THIS=${THIS:-build_crypto} MAKEFILE=Makefile MAKEOVERRIDES= TOP=.. DIR=$dir $target  ) || exit 1;  fi;  fi<br>make: Fatal error: Command failed for target `build_crypto'</blockquote></blockquote></blockquote><div><br></div><div>Can anyone please help me with a solution?</div><div><br></div><div>Machine Architecture details: </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">bash-3.00# uname -a<br>SunOS uspriu04 5.10 Generic sun4u sparc SUNW,Sun-Blade-100</blockquote><div><br></div><div>Regards,</div><div>Shiva</div></div>