Dear Box-Admins,
There's a problem on the CI Server regarding libraries.
Some Jobs need SqueakSSL, which is downloaded from google code and made accessible.
However, the binary is linked against OpenSSL as provided by RedHat/CentOS and the naming scheme differs to Debian/Ubuntu's: When the former uses something like libXXX.so.10, the latter uses libXXX.so.1.0.0 or so.
Thus we cannot load the required libs, although installed.
$ ldd ./coglinuxht/lib/squeak/4.0-3253/SqueakSSL linux-gate.so.1 => (0xf57fe000) libcrypto.so.10 => not found libssl.so.10 => not found libc.so.6 => /lib/libc.so.6 (0xb75bc000) /lib/ld-linux.so.2 (0xb771a000)
HENCE I mad a hack. Excerpt from the admin-log.txt:
HACK: Link the existing openssl libs to CentOS names, because SqueakSSL is linked against these, not the Debian scheme: root@box3-squeak:~# cd /usr/lib root@box3-squeak:/usr/lib# ln -s libcrypto.so.0.9.8 libcrypto.so.10 root@box3-squeak:/usr/lib# ln -s libssl.so.0.9.8 libssl.so.10
This works, albeit with a warning:
ldd ./coglinuxht/lib/squeak/4.0-3253/SqueakSSL ./coglinuxht/lib/squeak/4.0-3253/SqueakSSL: /usr/lib/libcrypto.so.10: version `libcrypto.so.10' not found (required by ./coglinuxht/lib/squeak/4.0-3253/SqueakSSL) ./coglinuxht/lib/squeak/4.0-3253/SqueakSSL: /usr/lib/libssl.so.10: version `libssl.so.10' not found (required by ./coglinuxht/lib/squeak/4.0-3253/SqueakSSL) linux-gate.so.1 => (0xf57fe000) libcrypto.so.10 => /usr/lib/libcrypto.so.10 (0xb765b000) libssl.so.10 => /usr/lib/libssl.so.10 (0xb760f000) libc.so.6 => /lib/libc.so.6 (0xb74c1000) libdl.so.2 => /lib/libdl.so.2 (0xb74bc000) libz.so.1 => /usr/lib/libz.so.1 (0xb74a8000) /lib/ld-linux.so.2 (0xb77c8000)
This _should_ work until we find a proper workaround, but that's a topic for squeak-dev.
Best -Tobias
Dear Box-Admins
please Disregard. I revert that. It does not work well. I found a version of SqueakSSL compiled against the Debian Squeeze version of Openssl. I'll use that. Best -Tobias
On 04.04.2015, at 21:23, Tobias Pape Das.Linux@gmx.de wrote:
Dear Box-Admins,
There's a problem on the CI Server regarding libraries.
Some Jobs need SqueakSSL, which is downloaded from google code and made accessible.
However, the binary is linked against OpenSSL as provided by RedHat/CentOS and the naming scheme differs to Debian/Ubuntu's: When the former uses something like libXXX.so.10, the latter uses libXXX.so.1.0.0 or so.
Thus we cannot load the required libs, although installed.
$ ldd ./coglinuxht/lib/squeak/4.0-3253/SqueakSSL linux-gate.so.1 => (0xf57fe000) libcrypto.so.10 => not found libssl.so.10 => not found libc.so.6 => /lib/libc.so.6 (0xb75bc000) /lib/ld-linux.so.2 (0xb771a000)
HENCE I mad a hack. Excerpt from the admin-log.txt:
HACK: Link the existing openssl libs to CentOS names, because SqueakSSL is linked against these, not the Debian scheme: root@box3-squeak:~# cd /usr/lib root@box3-squeak:/usr/lib# ln -s libcrypto.so.0.9.8 libcrypto.so.10 root@box3-squeak:/usr/lib# ln -s libssl.so.0.9.8 libssl.so.10
This works, albeit with a warning:
ldd ./coglinuxht/lib/squeak/4.0-3253/SqueakSSL ./coglinuxht/lib/squeak/4.0-3253/SqueakSSL: /usr/lib/libcrypto.so.10: version `libcrypto.so.10' not found (required by ./coglinuxht/lib/squeak/4.0-3253/SqueakSSL) ./coglinuxht/lib/squeak/4.0-3253/SqueakSSL: /usr/lib/libssl.so.10: version `libssl.so.10' not found (required by ./coglinuxht/lib/squeak/4.0-3253/SqueakSSL) linux-gate.so.1 => (0xf57fe000) libcrypto.so.10 => /usr/lib/libcrypto.so.10 (0xb765b000) libssl.so.10 => /usr/lib/libssl.so.10 (0xb760f000) libc.so.6 => /lib/libc.so.6 (0xb74c1000) libdl.so.2 => /lib/libdl.so.2 (0xb74bc000) libz.so.1 => /usr/lib/libz.so.1 (0xb74a8000) /lib/ld-linux.so.2 (0xb77c8000)
This _should_ work until we find a proper workaround, but that's a topic for squeak-dev.
Best -Tobias
I was surprised, because this hack used to work with libXXX.so.6, but not with libXXX.so.10. The best is always to use a binary compiled for the platform. I think the version on google code is obsolete anyway.
Levente
On Sat, 4 Apr 2015, Das.Linux@gmx.de wrote:
Dear Box-Admins
please Disregard. I revert that. It does not work well. I found a version of SqueakSSL compiled against the Debian Squeeze version of Openssl. I'll use that. Best -Tobias
On 04.04.2015, at 21:23, Tobias Pape Das.Linux@gmx.de wrote:
Dear Box-Admins,
There's a problem on the CI Server regarding libraries.
Some Jobs need SqueakSSL, which is downloaded from google code and made accessible.
However, the binary is linked against OpenSSL as provided by RedHat/CentOS and the naming scheme differs to Debian/Ubuntu's: When the former uses something like libXXX.so.10, the latter uses libXXX.so.1.0.0 or so.
Thus we cannot load the required libs, although installed.
$ ldd ./coglinuxht/lib/squeak/4.0-3253/SqueakSSL linux-gate.so.1 => (0xf57fe000) libcrypto.so.10 => not found libssl.so.10 => not found libc.so.6 => /lib/libc.so.6 (0xb75bc000) /lib/ld-linux.so.2 (0xb771a000)
HENCE I mad a hack. Excerpt from the admin-log.txt:
HACK: Link the existing openssl libs to CentOS names, because SqueakSSL is linked against these, not the Debian scheme: root@box3-squeak:~# cd /usr/lib root@box3-squeak:/usr/lib# ln -s libcrypto.so.0.9.8 libcrypto.so.10 root@box3-squeak:/usr/lib# ln -s libssl.so.0.9.8 libssl.so.10
This works, albeit with a warning:
ldd ./coglinuxht/lib/squeak/4.0-3253/SqueakSSL ./coglinuxht/lib/squeak/4.0-3253/SqueakSSL: /usr/lib/libcrypto.so.10: version `libcrypto.so.10' not found (required by ./coglinuxht/lib/squeak/4.0-3253/SqueakSSL) ./coglinuxht/lib/squeak/4.0-3253/SqueakSSL: /usr/lib/libssl.so.10: version `libssl.so.10' not found (required by ./coglinuxht/lib/squeak/4.0-3253/SqueakSSL) linux-gate.so.1 => (0xf57fe000) libcrypto.so.10 => /usr/lib/libcrypto.so.10 (0xb765b000) libssl.so.10 => /usr/lib/libssl.so.10 (0xb760f000) libc.so.6 => /lib/libc.so.6 (0xb74c1000) libdl.so.2 => /lib/libdl.so.2 (0xb74bc000) libz.so.1 => /usr/lib/libz.so.1 (0xb74a8000) /lib/ld-linux.so.2 (0xb77c8000)
This _should_ work until we find a proper workaround, but that's a topic for squeak-dev.
Best -Tobias
box-admins@lists.squeakfoundation.org