#1470 STAFProc can't start on Solaris 11 using 32-bit installer

Unix::Solaris
closed-fixed
Build (10)
5
2014-08-21
2012-08-22
No

I am opening this bug for Guy Thorne (Tivoli) who encountered this problem after installing STAF on a Solaris 11 system using the STAF3410-setup-solaris.bin installer file. Guy reported the problem as follows:

I had an error when trying to start STAFProc. Using ldd on STAFProc, I saw the following output where the OpenSSL libraries (libssl.so.0.9.7 and libcrypto.so.0.9.7) were not found:

# cd /usr/local/staf/bin
# ldd STAFProc
libpthread.so.1 => /usr/lib//libpthread.so.1
libsocket.so.1 => /usr/lib//libsocket.so.1
libresolv.so.2 => /usr/lib//libresolv.so.2
libSTAF.so => /usr/local/staf/lib/libSTAF.so
libssl.so.0.9.7 => (file not found)
libcrypto.so.0.9.7 => (file not found)
libstdc++.so.6 => /usr/sfw/lib/libstdc++.so.6
libm.so.2 => /usr/lib//libm.so.2
libgcc_s.so.1 => /usr/sfw/lib/libgcc_s.so.1
libc.so.1 => /usr/lib//libc.so.1
libnsl.so.1 => /usr/lib//libnsl.so.1
libmd.so.1 => /usr/lib//libmd.so.1
libdl.so.1 => /usr/lib//libdl.so.1
libmp.so.2 => /usr/lib//libmp.so.2
/lib/libm/libm_hwcap1.so.2

Looking in /usr/local/staf/lib the installed versions of these libraries are : libssl.so.0.9.8 & libcrypto.so.0.9.8

The version in the local /usr/lib for these libraries are libssl.so.1.0.0 & libcrypto.so.1.0.0

I have checked on my Solaris 10 host and the /usr/loca/staf/lib versions of these libraries also show the 0.9.8 versions, this is with STAF 3.4.4. This version of STAFProc also needs the 0.9.7 versions however this host has them located in /usr/sfw/lib, so from Solaris freeware.

As a work around I can get STAFProc running on my Solaris 11 host by copying these /usr/sfw versions to it but thought I should raise this issue with you. Perhaps it's already been raised?

Cheers,

Guy

Discussion

  • Sharon Lucas

    Sharon Lucas - 2012-08-22

    We've had other people install STAF 3.4.10 on Solaris 11 and successfully start STAFProc without encountering this issue. But, my guess is that they installed STAF for Solaris Sparc 64-bit (e.g. using the STAF3410-setup-solaris-sparc64.bin file), instead of installing STAF for Solaris Sparc 32-bit like Guy did (e.g. using the STAF3410-setup-solaris-sparc.bin file). Guy has found an issue with the STAF Solaris Sparc 32-bit builds in regards to which OpenSSL shared libraries they were built with. Quite a few releases back (V3.4.3), the STAF builds for Solaris Sparc 32-bit and 64-bit were changed to both use a Solaris 10 system (instead of two Solaris 2.8 systems). However, only OpenSSL 0.9.8e for 64-bit was built on this system which meant that the STAF Solaris Sparc 64-bit builds worked fine, but the STAF Solaris Sparc 32-bit build inadvertently was using the OpenSSL 0.9,7 32-bit libraries in /usr/sfw/sbin.

    To fix the problem, I built OpenSSL 0.9.8e for Solaris Sparc 32-bit on our STAF Solaris Sparc build machine (staf5b) in /opt/dev/autobuild/tools/openssl-0.9.8e-root-32 following the instructions in the STAF Developer Guide. In addition, I configured the STAF build to pick up these 32-bit OpenSSL 0.9.8e shared libraries by modifying autobuild/BuildSTAF.xml so that now the STAF builds for Solaris Sparc 32-bit will install the 32-bit version of OpenSSL 0.9.8e libraries into /usr/local/staf/lib instead of installing the 64-bit version of these OpenSSL libraries. I tested this fix on a Solaris 10 Sparc system using ldd to verify that STAFProc is now linking to the correct OpenSSL 0.9.8 32-bit libraries when LD_LIBRARY_PATH contains STAF's lib directory.

    libssl.so.0.9.8 => /usr/local/staf/lib/libssl.so.0.9.8
    libcrypto.so.0.9.8 => /usr/local/staf/lib/libcrypto.so.0.9.8

    This fix should also resolve the issue on a Solaris 11 Sparc system. I don't have access to a Solaris 11 Sparc system to test with so I've asked Guy to verify this fix on his Solaris 11 Sparc system.

    This same problem exists in the STAF 32-bit solaris-x64 builds (e.g. STAF3410-setup-solaris-x64.bin), as both the 32-bit (solaris-x64) and 64-bit (solaris-x64-64) STAF builds are being built on the same build machine but both builds are using the 64-bit OpenSSL 0.9.8e libraries. I need to build a 32-bit version of OpenSSL 0.9.8e libraries and point the solaris-x64 32-bit build to these 32-bit OpenSSL libraries. I'll use this bug to fix this issue.

     
  • Sharon Lucas

    Sharon Lucas - 2012-08-23
    • status: open --> closed-fixed
     
  • Sharon Lucas

    Sharon Lucas - 2012-08-23

    Guy verified that this fixed the problem on his Solaris 11 Sparc system.

    I'm opening another bug for the incompatible OpenSSL libraries provided with the STAF solaris-x64 installers as need to determine how to built OpenSSL for solaris-x64 32-bit.

    Here's a CVS diff of the changes for this bug:

    Index: autobuild/BuildSTAF.xml

    RCS file: /cvsroot/staf/src/staf/autobuild/BuildSTAF.xml,v
    retrieving revision 1.73
    diff -r1.73 BuildSTAF.xml
    469a470
    > 'openssl_root' : '/opt/dev/autobuild/tools/openssl-0.9.8e-root-32',

    Index: docs/developerguide/stafdg.html

    RCS file: /cvsroot/staf/src/staf/docs/developerguide/stafdg.html,v
    retrieving revision 1.87
    diff -r1.87 stafdg.html
    936c936
    < The following builds OpenSSL binaries and puts them in /opt/dev/autobuild/tools/openssl-0.9.8e-root
    ---
    > The following builds OpenSSL binaries and puts them in /opt/dev/autobuild/tools/openssl-0.9.8e-root-32
    940c940,941
    < ./Configure solaris-sparcv9-gcc --openssldir=/opt/dev/autobuild/tools/openssl-0.9.8e-root threads shared no-zlib no-rc5 no-idea no-ec no-ecdh no-ecdsa
    ---
    > ./Configure solaris-sparcv9-gcc --openssldir=/opt/dev/autobuild/tools/openssl-0.9.8e-root-32 threads shared no-zlib no-rc5 no-idea no-ec no-ecdh no-ecdsa
    > make clean
    953a955
    > make clean

     

Log in to post a comment.

Get latest updates about Open Source Projects, Conferences and News.

Sign up for the SourceForge newsletter:





No, thanks