OpenSSL 3.0.0 beta1 link issues on Solaris 10
Dennis Clarke
dclarke at blastwave.org
Sun Jul 25 21:14:05 UTC 2021
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.
--
Dennis Clarke
RISC-V/SPARC/PPC/ARM/CISC
UNIX and Linux spoken
GreyBeard and suspenders optional
More information about the openssl-users
mailing list