OpenSSL 3.0.0 beta1 link issues on Solaris 10

Dr Paul Dale pauli at openssl.org
Mon Jul 26 00:16:01 UTC 2021


None of the core developers have access to Solaris machines, thus we 
rely on the community for reports and fixes for this kind of thing. 
We're happy to assist and can sometimes identify and fix the problem but 
we still require help testing.

This would best be raised as an issue on GitHub 
[https://github.com/openssl/openssl/issues/new?assignees=&labels=issue%3A+bug+report&template=bug_report.md]. 
This way it is tracked and resource time can be allocated to it -- 
although in this case I suspect it will be the community that cracks it 
for us.

Since you seem to have figured out a work around, including details of 
what you needed to do would be very useful.  Putting them up as a pull 
request would be even better.


Paul Dale


On 26/7/21 7:14 am, Dennis Clarke via openssl-users wrote:
> I am not sure what testing is happening with old Solaris 10 but I can
> tell you there are still servers out there running. I had no issues with
> the configuration stage but, as usual, I do need to make a few tweaks to
> Configurations/10-main.conf. Merely to get a consistent set of CFLAGS
> that I use for libraries that I may want to single step through. In any
> case the link stage fails with a truely massive list of undefined
> symbols and it seems as if the previous 1.1.1k libs are being found by
> the build process. So I wrote a manual link script and specified the
> build directory for the RUNPATH and the library search path however that
> resulted in a pile of undefined symbols.
>
> So then I went and deleted my previous 1.1.1k libs and the openssl
> binary and tried the manual link once again with success.
>
> Not sure if anyone else runs into this but I would hope that the
> previous libs would not be located *before* the new current 3.0.0 libs
> that are in the build directory.  Regardless I may need to simply start
> over as the new libssl.so.3 seems to have a "NEEDED" libcrypto.so.1.1
> and that can't be right.
>
> Here is the result of perl configdata.pm --dump :
>
> alpha$ /opt/bw/bin/perl configdata.pm --dump
>
> Command line (with current working directory = .):
>
>      /opt/bw/bin/perl ./Configure solaris64-sparcv9-cc no-asm
> --prefix=/opt/bw shared no-hw no-engine -DPEDANTIC
>
> Perl information:
>
>      /opt/bw/bin/perl
>      5.32.0 for sun4-solaris-64-ld
>
> Enabled features:
>
>      aria
>      async
>      autoalginit
>      autoerrinit
>      autoload-config
>      bf
>      blake2
>      bulk
>      cached-fetch
>      camellia
>      cast
>      chacha
>      cmac
>      cmp
>      cms
>      comp
>      ct
>      deprecated
>      des
>      dgram
>      dh
>      dsa
>      dso
>      dtls
>      ec
>      ec2m
>      ecdh
>      ecdsa
>      err
>      filenames
>      gost
>      idea
>      legacy
>      md4
>      mdc2
>      module
>      multiblock
>      nextprotoneg
>      ocb
>      ocsp
>      pic
>      pinshared
>      poly1305
>      posix-io
>      psk
>      rc2
>      rc4
>      rdrand
>      rfc3779
>      rmd160
>      scrypt
>      secure-memory
>      seed
>      shared
>      siphash
>      siv
>      sm2
>      sm3
>      sm4
>      sock
>      srp
>      srtp
>      sse2
>      ssl
>      ssl-trace
>      static-engine
>      stdio
>      tests
>      threads
>      tls
>      ts
>      ui-console
>      whirlpool
>      tls1
>      tls1-method
>      tls1_1
>      tls1_1-method
>      tls1_2
>      tls1_2-method
>      tls1_3
>      dtls1
>      dtls1-method
>      dtls1_2
>      dtls1_2-method
>
> Disabled features:
>
>      acvp-tests          [default]        OPENSSL_NO_ACVP_TESTS
>      afalgeng            [cascade]        OPENSSL_NO_AFALGENG
>      asan                [default]        OPENSSL_NO_ASAN
>      asm                 [option]         OPENSSL_NO_ASM
>      buildtest-c++       [default]
>      capieng             [cascade]        OPENSSL_NO_CAPIENG
>      crypto-mdebug       [default]        OPENSSL_NO_CRYPTO_MDEBUG
>      devcryptoeng        [default]        OPENSSL_NO_DEVCRYPTOENG
>      dynamic-engine      [cascade]
>      ec_nistp_64_gcc_128 [default]        OPENSSL_NO_EC_NISTP_64_GCC_128
>      egd                 [default]        OPENSSL_NO_EGD
>      engine              [option]         OPENSSL_NO_ENGINE (skip
> engines, crypto/engine)
>      external-tests      [default]        OPENSSL_NO_EXTERNAL_TESTS
>      fips                [default]
>      fips-securitychecks [cascade]        OPENSSL_NO_FIPS_SECURITYCHECKS
>      fuzz-afl            [default]        OPENSSL_NO_FUZZ_AFL
>      fuzz-libfuzzer      [default]        OPENSSL_NO_FUZZ_LIBFUZZER
>      ktls                [default]        OPENSSL_NO_KTLS
>      loadereng           [cascade]        OPENSSL_NO_LOADERENG
>      makedepend          [unavailable]
>      md2                 [default]        OPENSSL_NO_MD2 (skip crypto/md2)
>      msan                [default]        OPENSSL_NO_MSAN
>      padlockeng          [cascade]        OPENSSL_NO_PADLOCKENG
>      rc5                 [default]        OPENSSL_NO_RC5 (skip crypto/rc5)
>      sctp                [default]        OPENSSL_NO_SCTP
>      trace               [default]        OPENSSL_NO_TRACE
>      ubsan               [default]        OPENSSL_NO_UBSAN
>      unit-test           [default]        OPENSSL_NO_UNIT_TEST
>      uplink              [no uplink_arch] OPENSSL_NO_UPLINK
>      weak-ssl-ciphers    [default]        OPENSSL_NO_WEAK_SSL_CIPHERS
>      zlib                [default]
>      zlib-dynamic        [default]
>      ssl3                [default]        OPENSSL_NO_SSL3
>      ssl3-method         [default]        OPENSSL_NO_SSL3_METHOD
>
> Config target attributes:
>
>      AR => "ar",
>      ARFLAGS => "qc",
>      CC => "cc",
>      CFLAGS => "-xO0 -g -xdepend",
>      HASHBANGPERL => "/usr/bin/env perl",
>      RANLIB => "ranlib",
>      RC => "windres",
>      asm_arch => "sparcv9",
>      bn_ops => "BN_LLONG RC4_CHAR",
>      build_file => "Makefile",
>      build_scheme => [ "unified", "unix" ],
>      cflags => "-m64 -xarch=sparc -g -xO0 -Xa -errfmt=error -erroff=%none
> -errshort=full -xstrconst -xildoff -xmemalign=8s -xnolibmil -xcode=pic32
> -xregs=no%appl -xlibmieee -mc -ftrap=%none -xbuiltin=%none -xunroll=1
> -Qy -xdebugformat=dwarf -xstrconst -Xa",
>      cppflags => "-D_REENTRANT -D_REENTRANT",
>      defines => [ "OPENSSL_BUILDING_OPENSSL" ],
>      disable => [  ],
>      dso_scheme => "dlfcn",
>      enable => [  ],
>      ex_libs => "-lsocket -lnsl -ldl -lrt -lpthread",
>      includes => [  ],
>      lflags => "-mt",
>      lib_cflags => "",
>      lib_cppflags => "-DFILIO_H -DB_ENDIAN -DBN_DIV2W",
>      lib_defines => [  ],
>      module_cflags => "-KPIC",
>      module_cxxflags => undef,
>      module_ldflags => "-G -dy -z text -Wl,-Bsymbolic",
>      multilib => "/64",
>      perl_platform => "Unix",
>      perlasm_scheme => "void",
>      shared_cflag => "-KPIC",
>      shared_defflag => "-Wl,-M,",
>      shared_defines => [  ],
>      shared_ldflag => "-G -dy -z text -Wl,-Bsymbolic",
>      shared_rcflag => "",
>      shared_sonameflag => "-Wl,-h,",
>      shared_target => "solaris",
>      thread_defines => [  ],
>      thread_scheme => "pthreads",
>      unistd => "<unistd.h>",
>
> Recorded environment:
>
>      AR =
>      BUILDFILE =
>      CC = /opt/developerstudio12.6/bin/cc
>      CFLAGS = -m64 -xarch=sparc -g -xO0 -Xa -errfmt=error -erroff=%none
> -errshort=full -xstrconst -xildoff -xmemalign=8s -xnolibmil -xcode=pic32
> -xregs=no%appl -xlibmieee -mc -ftrap=%none -xbuiltin=%none -xunroll=1
> -Qy -xdebugformat=dwarf
>      CPPFLAGS = -I/opt/bw/include -D_POSIX_PTHREAD_SEMANTICS
> -D_LARGEFILE64_SOURCE -D_TS_ERRNO
>      CROSS_COMPILE =
>      CXX = /opt/developerstudio12.6/bin/CC
>      CXXFLAGS =
>      HASHBANGPERL =
>      LDFLAGS = -L/opt/bw/lib
>      LDLIBS =
>      OPENSSL_LOCAL_CONFIG_DIR =
>      PERL = /opt/bw/bin/perl
>      RANLIB =
>      RC =
>      RCFLAGS =
>      WINDRES =
>      __CNF_CFLAGS =
>      __CNF_CPPDEFINES =
>      __CNF_CPPFLAGS =
>      __CNF_CPPINCLUDES =
>      __CNF_CXXFLAGS =
>      __CNF_LDFLAGS =
>      __CNF_LDLIBS =
>
> Makevars:
>
>      AR              = ar
>      ARFLAGS         = qc
>      CC              = /opt/developerstudio12.6/bin/cc
>      CFLAGS          = -m64 -xarch=sparc -g -xO0 -Xa -errfmt=error
> -erroff=%none -errshort=full -xstrconst -xildoff -xmemalign=8s
> -xnolibmil -xcode=pic32 -xregs=no%appl -xlibmieee -mc -ftrap=%none
> -xbuiltin=%none -xunroll=1 -Qy -xdebugformat=dwarf
>      CPPDEFINES      = PEDANTIC
>      CPPFLAGS        = -I/opt/bw/include -D_POSIX_PTHREAD_SEMANTICS
> -D_LARGEFILE64_SOURCE -D_TS_ERRNO
>      CPPINCLUDES     =
>      CXX             = /opt/developerstudio12.6/bin/CC
>      CXXFLAGS        =
>      HASHBANGPERL    = /opt/bw/bin/perl
>      LDFLAGS         = -L/opt/bw/lib
>      LDLIBS          =
>      PERL            = /opt/bw/bin/perl
>      RANLIB          = ranlib
>      RC              = windres
>      RCFLAGS         =
>
> NOTE: These variables only represent the configuration view.  The build file
> template may have processed these variables further, please have a look
> at the
> build file for more exact data:
>      Makefile
>
> build file:
>
>      Makefile
>
> build file templates:
>
>      Configurations/common0.tmpl
>      Configurations/unix-Makefile.tmpl
> alpha$
>
>
> I will start over now with the previous 1.1.1k bin and libs entirely
> removed. If there is some option within the Configuration step that I am
> missing I would be glad to hear it. Thank you.
>



More information about the openssl-users mailing list