[prev in list] [next in list] [prev in thread] [next in thread] 

List:       openssl-users
Subject:    Compiling OpenSSL on Solaris sparcv9 using cc with FIPS support - Issues
From:       shivaramakrishna chakravarthula <shivaramakrishna.ch () gmail ! com>
Date:       2020-06-22 20:52:38
Message-ID: CAMYVo5PmvXU-b5wTT0L0MH_sLvWD7G0eYRiMVSiR=Wp2Fg7A7g () mail ! gmail ! com
[Download RAW message or body]

Hello,

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.

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.

See details below:


   - ./Configure solaris64-sparcv9-cc fips shared no-ec2m
   --with-fipsdir=/openssl-fips-ecp-2.0.16-build
   --prefix=/openssl-1.0.2d-build  -> Okay
   - make depend -> Okay
   - make -> *Fail*

/usr/ccs/bin/ranlib ../../libcrypto.a || echo Never mind.
> if [ -n "libcrypto.so.1.0.0 libssl.so.1.0.0" ]; then \
>         (cd ..; make libcrypto.so.1.0.0); \
> fi
> [ -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 \
>         -DFINGERPRINT_PREMAIN_DSO_LOAD -o fips_premain_dso  \
>         /openssl-fips-ecp-2.0.16-build/lib/fips_premain.c
> /openssl-fips-ecp-2.0.16-build/lib/fipscanister.o \
>         libcrypto.a -lsocket -lnsl -ldl
> ld: fatal: symbol `_sparcv9_vis1_instrument_bus2' is multiply-defined:
>         (file /openssl-fips-ecp-2.0.16-build/lib/fipscanister.o type=FUNC;
> file libcrypto.a(sparccpuid.o) type=FUNC);
> ld: fatal: symbol `_sparcv9_vis1_instrument_bus' is multiply-defined:
>         (file /openssl-fips-ecp-2.0.16-build/lib/fipscanister.o type=FUNC;
> file libcrypto.a(sparccpuid.o) type=FUNC);
> ld: fatal: File processing errors. No output written to fips_premain_dso
> *** Error code 1
> make: Fatal error: Command failed for target `fips_premain_dso'
> Current working directory /openssl-1.0.2d
> *** Error code 1
> make: Fatal error: Command failed for target `shared'
> Current working directory /openssl-1.0.2d/crypto
> *** Error code 1
> The following command caused the error:
> 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
> make: Fatal error: Command failed for target `build_crypto'


Can anyone please help me with a solution?

Machine Architecture details:

> bash-3.00# uname -a
> SunOS uspriu04 5.10 Generic sun4u sparc SUNW,Sun-Blade-100


Regards,
Shiva

[Attachment #3 (text/html)]

<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   \
&quot;openssl-fips-ecp-2.0.16&quot; 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 &quot;solaris64-sparcv9-cc&quot; \
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  \
-&gt; Okay</li><li>make depend -&gt; Okay<br></li><li>make -&gt; \
<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 &quot;libcrypto.so.1.0.0 libssl.so.1.0.0&quot; ]; then \<br>   \
(cd ..; make libcrypto.so.1.0.0); \<br>fi<br>[ -z &quot;libcrypto&quot; ] || 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&#39; 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&#39; 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&#39;<br>Current working directory /openssl-1.0.2d<br>*** \
Error code 1<br>make: Fatal error: Command failed for target `shared&#39;<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 &quot; crypto ssl engines apps \
test tools &quot; : &quot;.* $dir &quot; &gt;/dev/null 2&gt;&amp;1; then   if [ -d \
&quot;$dir&quot; ]; then   (      cd $dir &amp;&amp; echo &quot;making $target in \
$dir...&quot; &amp;&amp;   TOP= &amp;&amp; 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} \
&amp;&amp; make -e PLATFORM=&#39;solaris64-sparcv9-cc&#39; PROCESSOR=&#39;&#39;   \
CC=&#39;cc&#39; CFLAG=&#39;-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&#39;                                  AS=&#39;cc&#39; \
ASFLAG=&#39;-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&#39;          \
AR=&#39;ar   r&#39; NM=&#39;nm&#39; RANLIB=&#39;/usr/ccs/bin/ranlib&#39;             \
CROSS_COMPILE=&#39;&#39;            PERL=&#39;/usr/bin/perl&#39; \
ENGDIRS=&#39;ccgost&#39;                SDIRS=&#39;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&#39; \
LIBRPATH=&#39;/openssl-1.0.2d-build/lib&#39;       INSTALL_PREFIX=&#39;&#39;          \
INSTALLTOP=&#39;/openssl-1.0.2d-build&#39; \
OPENSSLDIR=&#39;/openssl-1.0.2d-build/ssl&#39;          LIBDIR=&#39;lib&#39;          \
MAKEDEPEND=&#39;$${TOP}/util/domd $${TOP} -MD makedepend&#39;   \
DEPFLAG=&#39;-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&#39;       MAKEDEPPROG=&#39;makedepend&#39;                    \
SHARED_LDFLAGS=&#39;-xarch=v9 -G -dy -z text&#39;                      \
KRB5_INCLUDES=&#39;&#39; LIBKRB5=&#39;&#39;       ZLIB_INCLUDE=&#39;&#39; \
LIBZLIB=&#39;&#39;         EXE_EXT=&#39;&#39; SHARED_LIBS=&#39;libcrypto.so.1.0.0 \
libssl.so.1.0.0&#39;       SHLIB_EXT=&#39;.so.1.0.0&#39; \
SHLIB_TARGET=&#39;solaris-shared&#39;       PEX_LIBS=&#39;&#39; EX_LIBS=&#39;-lsocket \
-lnsl -ldl&#39;          CPUID_OBJ=&#39;sparcv9cap.o sparccpuid.o&#39; \
BN_ASM=&#39;bn-sparcv9.o sparcv9-mont.o sparcv9a-mont.o vis3-mont.o sparct4-mont.o \
sparcv9-gf2m.o&#39;      EC_ASM=&#39;&#39; DES_ENC=&#39;des_enc-sparc.o fcrypt_b.o \
dest4-sparcv9.o&#39;               AES_ENC=&#39;aes_core.o aes_cbc.o aes-sparcv9.o \
aest4-sparcv9.o&#39; CMLL_ENC=&#39;camellia.o cmll_misc.o cmll_cbc.o \
cmllt4-sparcv9.o&#39;         BF_ENC=&#39;bf_enc.o&#39; CAST_ENC=&#39;c_enc.o&#39;    \
RC4_ENC=&#39;rc4_enc.o rc4_skey.o&#39; RC5_ENC=&#39;rc5_enc.o&#39;         \
SHA1_ASM_OBJ=&#39;sha1-sparcv9.o sha256-sparcv9.o sha512-sparcv9.o&#39;               \
MD5_ASM_OBJ=&#39;md5-sparcv9.o&#39;                               \
RMD160_ASM_OBJ=&#39;&#39;                      WP_ASM_OBJ=&#39;wp_block.o&#39;        \
MODES_ASM_OBJ=&#39;ghash-sparcv9.o&#39;                         \
ENGINES_ASM_OBJ=&#39;&#39;                     PERLASM_SCHEME=&#39;void&#39;          \
FIPSLIBDIR=&#39;/openssl-fips-ecp-2.0.16-build/lib/&#39;                              \
FIPSDIR=&#39;/openssl-fips-ecp-2.0.16-build&#39;                                      \
FIPSCANLIB=&quot;${FIPSCANLIB:-libcrypto}&quot;    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&#39;</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>




[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic