in reply to Re: Solaris problem or compile options
in thread Solaris problem or compile options

Thanks, that helps narrow it down.

But I I believe I have the openssl dev files. It shows the openssldev package installed and the files included in the package are what I would typically expect, and are in a location that I was referencing....
... Pathname: /opt/csw/include/openssl/x509.h Pathname: /opt/csw/include/openssl/x509_vfy.h Pathname: /opt/csw/include/openssl/x509v3.h Pathname: /opt/csw/lib/libcrypto.a Pathname: /opt/csw/lib/libcrypto.so Pathname: /opt/csw/lib/libssl.a Pathname: /opt/csw/lib/libssl.so ... Pathname: /opt/csw/lib/sparcv9/libcrypto.so Pathname: /opt/csw/lib/sparcv9/libssl.a Pathname: /opt/csw/lib/sparcv9/libssl.so ...

that is I'm assuming dev files would be include dir and the libraries. Or is there something else?

Are the symbols found from includes or shared objects?

Replies are listed 'Best First'.
Re^3: Solaris problem or compile options
by Eliya (Vicar) on Feb 03, 2012 at 23:37 UTC
    ... Or is there something else?

    No, that looks ok.  But a fact is that X509.so wasn't linked with libssl/libcrypto.  This command should have mentioned -lssl and -lcrypto, together with the correct search path, such as -L/opt/csw/lib.  But it didn't:

    gcc -mcpu=v9 -m64 -G -L/usr/lib/sparcv9 -fstack-protector -G X509.o +-o blib/arch/auto/Crypt/OpenSSL/X509/X509.so \ \

    The most typical reason for this is missing dev libs (which we've excluded by now), but occasionally more subtle problems lead to libs not being detected by MakeMaker, and if MakeMaker thinks a lib is not there, it doesn't link against it...

    Anyhow, the most practical solution would probably be to just re-run the above link command manually (from the build directory), appending the link instructions for the libs in question (you can get rid of those line-continuation backslashes).  If that goes well, just continue with make test && make install.

    gcc -mcpu=v9 -m64 -G -L/usr/lib/sparcv9 -fstack-protector -G X509.o +-o blib/arch/auto/Crypt/OpenSSL/X509/X509.so -L/opt/csw/lib -lssl -lc +rypto
      That worked!
      gcc -mpcu=v9 -m64 -G -L/opt/csw/lib/sparcv9 -fstack-protector -G X509. +o -o blib/arch/auto/Crypt/OpenSSL/X509/X509.so -L/opt/csw/lib/sparcv9 + -lssl -lcrypto
      You are a maester, Eliya!