[openssl-dev] Problems building openssl on Solaris

Richard Levitte levitte at openssl.org
Fri Nov 17 11:21:08 UTC 2017


Ah, sorry, I didn't read the output properly.

Regarding the STV_PROTECTED warnings, I don't know at all...  I did a
bit of a search and saw that this has been discussed before, a little
more than a year ago.  See
https://mta.openssl.org/pipermail/openssl-dev/2016-August/008192.html

As for the missing symbols, that tells me something went horribly
wrong when compiling assembler stuff.  The quick fix is to use the
'no-asm' configuration option.  However, if you want to help getting
assembler to compile, I suggest doing this (no configuration change):

    rm crypto/sparccpuid.o
    make build_generated
    make crypto/sparccpuid.o

Have a look at the output, and if you can't figure it out, please send
us that output.

(note: there are other assembler files that seem to fail as well, for
example those for the bignum library, so this is clearly an assembler
issue)

Cheers,
Richard

In message <CADqLbzKz5wU9Jjt746bmfWRt3jM9YeTvArHX=jpmjyQMZ219KQ at mail.gmail.com> on Fri, 17 Nov 2017 13:46:31 +0300, Dmitry Belyavsky <beldmit at gmail.com> said:

beldmit> Dear Richard,
beldmit> 
beldmit> Adding no-threads just removes gcc complaint about -pthreads.
beldmit> 
beldmit> On Fri, Nov 17, 2017 at 1:23 PM, Richard Levitte <levitte at openssl.org> wrote:
beldmit> 
beldmit>  I suggest adding 'no-threads' to the OpenSSL configuration options, at
beldmit>  least as a first step. That should at least take away gcc's complaint
beldmit>  about '-pthread'... I cannot say if that'll fix the rest, I don't
beldmit>  know Solaris enough.
beldmit> 
beldmit>  Cheers,
beldmit>  Richard
beldmit> 
beldmit>  In message
beldmit>  <CADqLbzKeQXGaFWGGAz5GyrQP9XGEwjfj2fVTkLN9sRNReJ+kVw at mail.gmail.com> on Fri, 17
beldmit>  Nov 2017 11:08:34 +0300, Dmitry Belyavsky <beldmit at gmail.com> said:
beldmit> 
beldmit>  beldmit> Hello,
beldmit>  beldmit>
beldmit>  beldmit> We experience problems building OpenSSL on Solaris.
beldmit>  beldmit>
beldmit>  beldmit> /usr/local/src/openssl-1.1.0g>uname -a
beldmit>  beldmit>
beldmit>  beldmit> SunOS pooh.tcinet.ru 5.10 Generic_147147-26 sun4u sparc SUNW,SPARC-Enterprise
beldmit>  beldmit>
beldmit>  beldmit> /usr/local/src/openssl-1.1.0g>gcc -v
beldmit>  beldmit>
beldmit>  beldmit> Reading specs from /usr/local/lib/gcc/sparc-sun-solaris2.10/3.4.6/specs
beldmit>  beldmit> Configured with: ../configure --with-as=/usr/ccs/bin/as --with-ld=/usr/ccs/bin/ld
beldmit>  --enable-shared
beldmit>  beldmit> --enable-languages=c,c++,f77
beldmit>  beldmit> Thread model: posix
beldmit>  beldmit> gcc version 3.4.6
beldmit>  beldmit>
beldmit>  beldmit> OpenSSL 1.1.0g is configured via
beldmit>  beldmit> ./Configure solaris64-sparcv9-gcc
beldmit>  beldmit>
beldmit>  beldmit> Here is the end of output:
beldmit>  beldmit>
beldmit>  beldmit> ...
beldmit>  beldmit>
beldmit>  beldmit> LD_LIBRARY_PATH=.:/usr/local/ssl/lib:/usr/sfw/lib/sparcv9:/usr/local/lib gcc
beldmit>  -DDSO_DLFCN
beldmit>  beldmit> -DHAVE_DLFCN_H -DNDEBUG -DOPENSSL_THREADS -DOPENSSL_NO_STATIC_ENGINE
beldmit>  beldmit> -DOPENSSL_PIC -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m
beldmit>  -DSHA1_ASM
beldmit>  beldmit> -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DAES_ASM -DGHASH_ASM
beldmit>  -DECP_NISTZ256_ASM
beldmit>  beldmit> -DPOLY1305_ASM -DOPENSSLDIR="/usr/local/ssl"
beldmit>  -DENGINESDIR="/usr/local/lib/engines-1.1" -m64
beldmit>  beldmit> -mcpu=ultrasparc -Wall -DB_ENDIAN -DBN_DIV2W -O3 -pthread -DFILIO_H -o
beldmit>  apps/openssl
beldmit>  beldmit> apps/app_rand.o apps/apps.o apps/asn1pars.o apps/ca.o apps/ciphers.o apps/cms.o
beldmit>  apps/crl.o
beldmit>  beldmit> apps/crl2p7.o apps/dgst.o apps/dhparam.o apps/dsa.o apps/dsaparam.o apps/ec.o
beldmit>  apps/ecparam.o
beldmit>  beldmit> apps/enc.o apps/engine.o apps/errstr.o apps/gendsa.o apps/genpkey.o apps/genrsa.o
beldmit>  apps/nseq.o
beldmit>  beldmit> apps/ocsp.o apps/openssl.o apps/opt.o apps/passwd.o apps/pkcs12.o apps/pkcs7.o
beldmit>  apps/pkcs8.o
beldmit>  beldmit> apps/pkey.o apps/pkeyparam.o apps/pkeyutl.o apps/prime.o apps/rand.o
beldmit>  apps/rehash.o apps/req.o
beldmit>  beldmit> apps/rsa.o apps/rsautl.o apps/s_cb.o apps/s_client.o apps/s_server.o apps/s_socket.o
beldmit>  apps/s_time.o
beldmit>  beldmit> apps/sess_id.o apps/smime.o apps/speed.o apps/spkac.o apps/srp.o apps/ts.o
beldmit>  apps/verify.o
beldmit>  beldmit> apps/version.o apps/x509.o -L. -lssl -L. -lcrypto -lsocket -lnsl -ldl
beldmit>  beldmit> gcc: unrecognized option `-pthread'
beldmit>  beldmit> ld: warning: relocation warning: R_SPARC_COPY: file ./libcrypto.so: symbol
beldmit>  PBEPARAM_it: relocation
beldmit>  beldmit> bound to a symbol with STV_PROTECTED visibility
beldmit>  beldmit> ld: warning: relocation warning: R_SPARC_COPY: file ./libcrypto.so: symbol
beldmit>  PBE2PARAM_it:
beldmit>  beldmit> relocation bound to a symbol with STV_PROTECTED visibility
beldmit>  beldmit> ld: warning: relocation warning: R_SPARC_COPY: file ./libcrypto.so: symbol
beldmit>  PBKDF2PARAM_it:
beldmit>  beldmit> relocation bound to a symbol with STV_PROTECTED visibility
beldmit>  beldmit> Undefined first referenced
beldmit>  beldmit> symbol in file
beldmit>  beldmit> _sparcv9_rdtick ./libcrypto.so
beldmit>  beldmit> bn_add_words ./libcrypto.so
beldmit>  beldmit> _sparcv9_vis1_instrument ./libcrypto.so
beldmit>  beldmit> bn_sub_words ./libcrypto.so
beldmit>  beldmit> bn_sqr_words ./libcrypto.so
beldmit>  beldmit> OPENSSL_cleanse apps/apps.o
beldmit>  beldmit> _sparcv9_rdcfr ./libcrypto.so
beldmit>  beldmit> _sparcv9_vis1_instrument_bus2 ./libcrypto.so
beldmit>  beldmit> _sparcv9_vis3_probe ./libcrypto.so
beldmit>  beldmit> bn_mul_words ./libcrypto.so
beldmit>  beldmit> _sparcv9_vis2_probe ./libcrypto.so
beldmit>  beldmit> _sparcv9_vis1_probe ./libcrypto.so
beldmit>  beldmit> ChaCha20_ctr32 ./libcrypto.so
beldmit>  beldmit> _sparcv9_vis1_instrument_bus ./libcrypto.so
beldmit>  beldmit> bn_mul_comba4 ./libcrypto.so
beldmit>  beldmit> bn_mul_comba8 ./libcrypto.so
beldmit>  beldmit> bn_sqr_comba4 ./libcrypto.so
beldmit>  beldmit> bn_sqr_comba8 ./libcrypto.so
beldmit>  beldmit> _sparcv9_fmadd_probe ./libcrypto.so
beldmit>  beldmit> CRYPTO_memcmp ./libssl.so
beldmit>  beldmit> bn_mul_add_words ./libcrypto.so
beldmit>  beldmit> bn_div_words ./libcrypto.so
beldmit>  beldmit> _sparcv9_fjaesx_probe ./libcrypto.so
beldmit>  beldmit> ld: fatal: symbol referencing errors. No output written to apps/openssl
beldmit>  beldmit> collect2: ld returned 1 exit status
beldmit>  beldmit> *** Error code 1
beldmit>  beldmit>
beldmit>  beldmit> What can we do to fix it?
beldmit>  beldmit>
beldmit>  beldmit> Thank you!
beldmit>  beldmit>
beldmit>  beldmit> --
beldmit>  beldmit> SY, Dmitry Belyavsky
beldmit>  --
beldmit>  openssl-dev mailing list
beldmit>  To unsubscribe: https://mta.openssl.org/mailman/listinfo/openssl-dev
beldmit> 
beldmit> --
beldmit> SY, Dmitry Belyavsky


More information about the openssl-dev mailing list