[openssl-users] crypto/objects/o_names.c problem with Solaris 10 and strict Oracle Studio 12.6 c99

Michael Wojcik Michael.Wojcik at microfocus.com
Fri Jan 18 13:05:12 UTC 2019

> From: openssl-users [mailto:openssl-users-bounces at openssl.org] On Behalf Of
> Dennis Clarke
> Sent: Thursday, January 17, 2019 23:56
> Thank you for the great reply where clearly you have seen ifdeffery
> nonsense bite you.  I get caught between a rock and a hrd place here
> every time because if I try to go with just ordinary cc and just some
> transition loosey goosey not-really-compliant or strict CFLAGS then I
> arrive in a different ugly place :
> ${LDCMD:-/opt/developerstudio12.6/bin/cc} -m64 -xarch=sparc -g -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 -xstrconst -Xa -m64 -xarch=sparc
> -g -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 -L. -mt  \
>          -o test/rsa_complex test/rsa_complex.o \
>           -lsocket -lnsl -ldl -lrt -lpthread
> Undefined                       first referenced
>   symbol                             in file
> OPENSSL_sk_pop_free                 test/rsa_complex.o [etc]

Am I missing something, or is this just because Configure somehow gave you a makefile for the tests that doesn't actually link the OpenSSL libraries? There's just libsocket, libnsl, libdl, librt, and libpthread there.

I don't know how that would have happened, but I haven't looked at the Configure for 1.1.1 as closely as I have the 1.0.2. (I was primarily responsible for hacking my team's OpenSSL builds for the 1.0.2 line, but a different developer for 1.1.1 implemented our move to that release.)

It appears for our Solaris 11 SPARC build of 1.1.1 we're using stock OpenSSL Configure with "solaris-sparcv9-gcc" as the target (or solaris64-sparcv9-gcc for 64-bit builds). If memory serves, we used to use the Sun/Oracle implementation (SUNWspro) in older products, but that would have been with OpenSSL 1.0.2 or possibly earlier. I'm not sure when we switched to gcc on Solaris. So unfortunately I don't have any more-specific advice for building 1.1.1 using the Developer Studio toolchain.

Michael Wojcik
Distinguished Engineer, Micro Focus

More information about the openssl-users mailing list