[Vm-dev] SqueakSSL and libtool

gettimothy gettimothy at zoho.com
Wed Apr 9 19:40:17 UTC 2014


Howdy all.



Building SqueakSSL compiles just fine, but fails at the libtool stage when compiled as an internal plugin.    (formatted for easier reading below. I replace full path with [......] where it helps clean up things)




/bin/sh
[......]/debugCogSqueakSSL/unixbuild/bld/libtool --mode=link gcc -m32 -g -Og -msse2 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -DNDEBUG -DITIMER_HEARTBEAT=1 -DCOGMTVM=0 -DDEBUGVM=0 -DLSB_FIRST=1 -Wl,-z,now -export-dynamic -o squeak vm/vm.a AsynchFilePlugin/AsynchFilePlugin.a B2DPlugin/B2DPlugin.a BitBltPlugin/BitBltPlugin.a FilePlugin/FilePlugin.a SocketPlugin/SocketPlugin.a SqueakSSL/SqueakSSL.a MiscPrimitivePlugin/MiscPrimitivePlugin.a disabledPlugins.o version.o -lutil -ldl -lpthread -lm -lnsl -lpthread vm/vm.a

gcc -m32 -g -Og -msse2 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -DNDEBUG -DITIMER_HEARTBEAT=1 -DCOGMTVM=0 -DDEBUGVM=0 -DLSB_FIRST=1 -Wl,-z -Wl,now -o squeak disabledPlugins.o version.o -Wl,--export-dynamic vm/vm.a AsynchFilePlugin/AsynchFilePlugin.a B2DPlugin/B2DPlugin.a BitBltPlugin/BitBltPlugin.a FilePlugin/FilePlugin.a SocketPlugin/SocketPlugin.a SqueakSSL/SqueakSSL.a MiscPrimitivePlugin/MiscPrimitivePlugin.a -lutil -ldl -lpthread -lm -lnsl -lpthread vm/vm.a



SqueakSSL/SqueakSSL.a(sqUnixOpenSSL.o): In function `sqCopyBioSSL':
[......]/debugCogSqueakSSL/platforms/unix/plugins/SqueakSSL/sqUnixOpenSSL.c:37: undefined reference to `BIO_ctrl_pending'


(more errors omitted for brevity. all of them are unresolved references to stuff in /usr/include/openssl/ssl.h   . these errors do not happen at compile time, only libtool ing )

 



Here is what I think is going on with SqueakSSL on linux.
SqueakSSL is normally built as an external plugin. My guess external plugins are loaded and linked at load time. Since the thing compiles fine, we don't find the link error and we just get a primitive fail.


However, when I moved it from plugins.ext to plugins.int, I get the link failure above.


Since discovering this, I have tried two things 
1. compile on my pure 64 bit partition...this failed for obvious reasons--we don't have 64 bit Cog yet (: but hey...a guy can hope!
2. I installed openssl compat32 libs alongside the 64 bit versions...as show below.
    2.a I made some changes that I kinda-sorta-hoped would work in some strings in the script that had the substring "/lib64  " but that did not work.


bash-4.2$ ls lib/*ssl*
lib/libssl.so.0 lib/libssl.so.0.9.8 lib/libssl.so.1 lib/libssl.so.1.0.0
bash-4.2$ ls lib64/*ssl*
lib64/libssl.so.0 lib64/libssl.so.0.9.8 lib64/libssl.so.1 lib64/libssl.so.1.0.0


 I will have to think about this a bit, but I just wanted to post this update in case I am missing something glaringly obvious 



thx.


tty



-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/vm-dev/attachments/20140409/2ca5a3bc/attachment.htm


More information about the Vm-dev mailing list