Okeydokey
In the mvm file in unixbuild/bld/ I thought I would try adding the library directly and it allowed the thing to compile.
LIBS="-lpthread -lssl -lcrypto"\
David, getting the thing to work on production could be as easy as adding those to doo-hickeys.
Running the image and checking built-in modules shows the plugin.
Running the tests shows the module being loaded: SqueakSSL * VMMaker.oscog-eem.667 (i) (woot!)
Throwing a breakpoint in testGooglePopStream gives the response in the Subject line: +OK Gpop ready for requests from 72.250.235.130 dc2mb105720703oab
(SqueakSSLTest selector: #testGooglePopStream) run.
Testrunner shows 14 run, 3 passes, 0 expected failures, 6 failures, 5 errors, 0 unexpected passes.
HOWEVER, I just recently upgraded my openssl packages and modified my ssl_config per this post: http://alien.slackbook.org/blog/securing-remote-root-access/
which means I have an odd port, and am limited to protocol 2 so it could be stuff like that messing up the tests (my bet it is)
I am going to do attempt a rebuild using the 64bit libraries in /lib64 and see what happens, plus debug the errors above.
If anybody has not fudgelated their ssl configuration and has the means to test, please give it a go.
cheers.
tty
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
Eliot Miranda uploaded a new version of Freetype-Plugin to project FT2Plugin for Freetype:
http://www.squeaksource.com/FreetypePlugin/Freetype-Plugin-eem.67.mcz
==================== Summary ====================
Name: Freetype-Plugin-eem.67
Author: eem
Time: 8 April 2014, 9:49:13.238 am
UUID: 2b3bfddf-b8e3-4ca1-b093-529c076215bb
Ancestors: Freetype-Plugin-dtl.66
Eliminate redundant test from ftEncodingValueFromString:
Dave Lewis uploaded a new version of SystemTracing to project SystemTracing:
http://www.squeaksource.com/SystemTracing/SystemTracing-dtl.25.mcz
==================== Summary ====================
Name: SystemTracing-dtl.25
Author: dtl
Time: 4 December 2012, 8:05:17 am
UUID: 84fb9f54-d512-4ef1-83d4-e2944b3239be
Ancestors: SystemTracing-dtl.24
Add SystemTracer64 class>>traceTo64Script to provide an executable start script that documents the process of tracing a 32-bit image to 64-bit format.
Eliot Miranda uploaded a new version of VMConstruction-Plugins-OSProcessPlugin to project OSProcessPlugin:
http://www.squeaksource.com/OSProcessPlugin/VMConstruction-Plugins-OSProces…
==================== Summary ====================
Name: VMConstruction-Plugins-OSProcessPlugin.oscog-eem.41
Author: eem
Time: 14 December 2012, 4:42:40 am
UUID: 0406d3fc-7b8b-4b72-b20a-f254eeb1b893
Ancestors: VMConstruction-Plugins-OSProcessPlugin.oscog-eem.40
Check for needing sigaltstack properly in setSignalNumber:handler:
Eliot Miranda uploaded a new version of VMConstruction-Plugins-OSProcessPlugin to project OSProcessPlugin:
http://www.squeaksource.com/OSProcessPlugin/VMConstruction-Plugins-OSProces…
==================== Summary ====================
Name: VMConstruction-Plugins-OSProcessPlugin.oscog-eem.40
Author: eem
Time: 14 December 2012, 2:00:49 am
UUID: 5f1cbe1c-127c-4582-a629-86dab8269efb
Ancestors: VMConstruction-Plugins-OSProcessPlugin.oscog-eem.39
Put the dang method in the right place...
Eliot Miranda uploaded a new version of VMConstruction-Plugins-AioPlugin to project AioPlugin:
http://www.squeaksource.com/AioPlugin/VMConstruction-Plugins-AioPlugin-eem.…
==================== Summary ====================
Name: VMConstruction-Plugins-AioPlugin-eem.15
Author: eem
Time: 18 April 2013, 11:57:08 am
UUID: 0029df1c-3720-4b61-8579-4851417d24a7
Ancestors: VMConstruction-Plugins-AioPlugin-dtl.14
eliminate a C compiler warning (signed/unsigned comparison)