Hi Ian, Tobias Pape (with others) has done a significant update of the SqueakSSL plugin support code in the opensmalltalk-vm git repository. I have moved his updates into the squeakvm SVN repository. Version history for your original sqUnixOpenSSL.c is preserved with an SVN move to sqUnixOpenSSL.inc, and new files are copied without modification. The config.cmake file is merged and set up to use Tobias' new dynamic lookup mechanism, which handles some issues with inconsistent libraries on some Linux distributions. With these changes, the portable VM (aka interpreter VM) now works with recent images that require https secure connections to servers such as source.squeak.org and squeaksource.org. Cheers, Dave |
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256 I've emailed some patches a while ago to Ian Piumarta but had no response. 01-aio.patch 04-sunproversion.patch 02-sqUnixSoundPulseAudio.patch 05-installdoc.patch 03-sqUnixSoundSun.patch I use those patches to compile with SunPRO cc compiler squeak-4 on Solaris 11. Those are minor patches; anyway it is a good thing that the subversion (SVN) repository remains only for reference how the squeak-4 sources were. Just to be able to compare to the old sources the SVN repo is really nice ... David Stes -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iQEcBAEBCAAGBQJfq87BAAoJEAwpOKXMq1Ma+CoIAIM96azxWsadClIAG7cv2K+O RU542mP8DWeu7T7nEthmL0EpVb/z2tBmug0JteLQrlxTFHSknmoYp2LBh9m7RerE r+irS2Ar2ELP+SKJ8Nb+Ba9vZpRin46bZ64idiJgxi2ak9keyQMnWSzb3bjltrtF Fm1M4ivPIPEeVwTiBOo3Iz9baCGiJaYscqjWWr9aGpsVFKXp6Lh10vBU2tqsdH2A lUK7wRB3/p9zaQES7zUCAmoj4picUYdvXgYR09lEAiDgvcnvukVSyPviLdqZF6if blChKZPkmCaTVHjgQ02OhvnjATygDZZKlbIHfK4KiLmkU6IL1EUyzXOCkvsNlnY= =cnQl -----END PGP SIGNATURE----- |
On Wed, Nov 11, 2020 at 12:47:28PM +0100, [hidden email] wrote: > > I've emailed some patches a while ago to Ian Piumarta but had no response. > > 01-aio.patch 04-sunproversion.patch > 02-sqUnixSoundPulseAudio.patch 05-installdoc.patch > 03-sqUnixSoundSun.patch > > I use those patches to compile with SunPRO cc compiler squeak-4 on Solaris 11. > > Those are minor patches; anyway it is a good thing that the subversion > (SVN) repository remains only for reference how the squeak-4 sources were. > > Just to be able to compare to the old sources the SVN repo is really nice ... > Hi David, Could you please post those five patch files here to the list? I'll see if I can get them applied. I do recall committing one one of your Solaris sound fixes a while ago: http://squeakvm.org/cgi-bin/viewvc.cgi/squeak/trunk/platforms/unix/vm-sound-Sun/sqUnixSoundSun.c?r1=2595&r2=3778 Thanks, Dave |
In reply to this post by stes
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256 You can find the patches for squeak-4 (subversion sources) at: https://github.com/OpenIndiana/oi-userland/tree/oi/hipster/components/runtime/squeak4/patches The patch for pulseaudio would be very useful to apply: 02-sqUnixSoundPulseAudio.patch Also the 01-aio.patch is important because otherwise you can't do much, since the default action on Solaris System V UNIX is to sigkill on SIGIO or SIGPIPE (so without the 01-aio.path the VM runs, but is killed pretty soon). In some sense 01-aio.patch is optional as the VM compiles without it, so 01-aio.patch is perhaps not required to add to the Squeak VM svn repo. The 04-sunproversion.patch is required to compile with SunPRO cc (C compiler). The 05-installdoc.patch is something that I use, but perhaps not required to add to the Squeak VM. All of those patches can be either incorporated in the mainline (upstream) Squeak VM sources OR I can just continue to apply those patches when a package, is built (as external patches, which also works fine). Anyway you get the entire package (manifest + patches) by : git clone https://github.com/OpenIndiana/oi-userland The patches are in components/runtime/squeak4/patches (in the oi-userland, cd). OpenIndiana is an OpenSolaris derived system, which has the squeak-4 and squeak-5 + squeak-5c packages in their repository. The same patches also are used on Solaris 11.4 (the Oracle product). The packages squeak-4 etc. are also available for Oracle Solaris 11.4. By the way the folks at OpenIndiana host the documentation as well: http://docs.openindiana.org/handbook/community/ There are installation instructions at : http://docs.openindiana.org/handbook/community/squeak/index.html Which explains how to use IPS (Image Packet System) to install squeak-4 and/or squeak-5 the stack-spur or squeak-5c the cog-spur VM. Regards, David Stes -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iQEcBAEBCAAGBQJfsTJTAAoJEAwpOKXMq1MaGOMH/AzUQY6Md6PnpAO4rOvq+h/b 9b2kyEi2/Dao/xv9N5MubRNYGBEgfv1ibdDirHA/c41DHGUdYqOkSJPvDPhOjPrK zopmGISImyBhyDxQB30J7dwz8PA4JysBnXquvZuj/UemVL2JVc2ezvJN6juowg38 wEzH362wlP8vwtVEJ3KS1aRsliXsjCeItgiv1U/JeEI3Xla+cD+mb0DNl20fdIpP +lRPe8fIenWtu4KpgK4EgHjUlDO+DjzSregujCCYQ5223gQmY4ugylzvts8P0ZFB SBuM6p9S6Qx6+S6PJok/dsj/s+MoOR7iNnauU01WC42XVveIzAlQ/BLNqRINAcI= =up9Y -----END PGP SIGNATURE----- |
Thanks David, I added/merged your updates into SVN trunk with the following changes: 01-aio.patch: generalized for all platforms because sigaction is portable, so the #ifdef __sun__ is not required. 02-sqUnixSoundPulseAudio.patch: Added, no changes. 03-sqUnixSoundSun.patch: I had applied this already back in May or so, so no new update needed. 04-sunproversion.patch: For the compiler version string fix, use ${CMAKE_C_COMPILER_VERSION} for all compilers. No need for a SunPro variant because cmake does the right thing for all compilers including gnu and llvm. 05-installdoc.patch: I did not include this patch for adding the LICENSE file because I'm worried that it might cause confusion with the various build VM systems, and because it's probably not needed for most users. With these updates, I think that you will be able to use the latest SVN platforms without further patching, except for the LICENSE patch that you will probably want to keep using in your environment. If possible I would suggest that you move forward to latest platform sources because they include recent updates by Tobias Pape that make the SSL connections to source.squeak.org and squeaksource.com work correctly. Thanks, Dave On Sun, Nov 15, 2020 at 02:52:41PM +0100, [hidden email] wrote: > > > -----BEGIN PGP SIGNED MESSAGE----- > Hash: SHA256 > > > You can find the patches for squeak-4 (subversion sources) at: > > https://github.com/OpenIndiana/oi-userland/tree/oi/hipster/components/runtime/squeak4/patches > > The patch for pulseaudio would be very useful to apply: > > 02-sqUnixSoundPulseAudio.patch > > Also the 01-aio.patch is important because otherwise you can't do much, > since the default action on Solaris System V UNIX is to sigkill on SIGIO > or SIGPIPE (so without the 01-aio.path the VM runs, but is killed pretty soon). > > In some sense 01-aio.patch is optional as the VM compiles without it, > so 01-aio.patch is perhaps not required to add to the Squeak VM svn repo. > > The 04-sunproversion.patch is required to compile with SunPRO cc (C compiler). > > The 05-installdoc.patch is something that I use, but perhaps not required to > add to the Squeak VM. > > All of those patches can be either incorporated in the mainline (upstream) > Squeak VM sources OR I can just continue to apply those patches when a package, > is built (as external patches, which also works fine). > > Anyway you get the entire package (manifest + patches) by : > > git clone https://github.com/OpenIndiana/oi-userland > > The patches are in components/runtime/squeak4/patches (in the oi-userland, cd). > > OpenIndiana is an OpenSolaris derived system, which has the squeak-4 > and squeak-5 + squeak-5c packages in their repository. > > The same patches also are used on Solaris 11.4 (the Oracle product). > The packages squeak-4 etc. are also available for Oracle Solaris 11.4. > > By the way the folks at OpenIndiana host the documentation as well: > > http://docs.openindiana.org/handbook/community/ > > There are installation instructions at : > > http://docs.openindiana.org/handbook/community/squeak/index.html > > Which explains how to use IPS (Image Packet System) to install squeak-4 > and/or squeak-5 the stack-spur or squeak-5c the cog-spur VM. > > Regards, > David Stes > > -----BEGIN PGP SIGNATURE----- > Version: GnuPG v2 > > iQEcBAEBCAAGBQJfsTJTAAoJEAwpOKXMq1MaGOMH/AzUQY6Md6PnpAO4rOvq+h/b > 9b2kyEi2/Dao/xv9N5MubRNYGBEgfv1ibdDirHA/c41DHGUdYqOkSJPvDPhOjPrK > zopmGISImyBhyDxQB30J7dwz8PA4JysBnXquvZuj/UemVL2JVc2ezvJN6juowg38 > wEzH362wlP8vwtVEJ3KS1aRsliXsjCeItgiv1U/JeEI3Xla+cD+mb0DNl20fdIpP > +lRPe8fIenWtu4KpgK4EgHjUlDO+DjzSregujCCYQ5223gQmY4ugylzvts8P0ZFB > SBuM6p9S6Qx6+S6PJok/dsj/s+MoOR7iNnauU01WC42XVveIzAlQ/BLNqRINAcI= > =up9Y > -----END PGP SIGNATURE----- |
In reply to this post by stes
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256 Great. For the aio patch where I replaced signal() by sigaction() it's because I think the SIGPOLL (=SIGIO on Solaris) requires to reinstall the handler, which signal() doesn't do on some SVR4 Unix type systems, whereas when using POSIX sigaction() which was designed to address this, the VM does not abort all the time on 'Pollable Event' (which indicates SIGPOLL is not caught by a handler), so that was broken on Solaris in the past. In Squeak5 (Git OpenSmalltalk) somebody implemented a sigaction() based system, so for Squeak5 that was not a problem because it didn't use signal(). I checked out with subversion revision 3790 on Solaris 11.3 and it builds ok. Following the instructions from http://wiki.squeak.org/squeak/6354 The following 'make' compiles both 32bit and 64bit : $ make O=.. S=./src P=./platforms install I can open Squeak4.6-15102.image (format 6504) with that VM and, in the about squeak dialog : Unix built on Nov 16 2020 10:12:41 Compiler: 5.15.0 platform sources revision 3790 VMMaker versionString 4.19.2 When I select from the menu "Update Squeak" it downloads a bunch of updates, and then I save the (updated) image. The SqueakMap catalog browser seems to work. When I go to the Test Runner and select "SqueakSSL-Tests", in the left pane I have one test SqueakSSLTest. It seems to run 14 tests: 14 run, 14 passes, 0 expected failures, 0 failures, 0 errors, 0 unexpected passes That's already good. I suspect to further test Tobias Pape's SSL module (on Solaris 11) with the updated VM I can try to connect with a "Monticello" browser or similar that uses the new/updated SSL code. But it seems fine. I'll update the OpenIndiana and Solaris packages to use subversion revision 3790 instead of revision 3775; it definitely seems not worse than the older squeak4 VM, on the contrary. in revision 3775 : platforms/unix/plugins/SqueakSSL/ config.cmake sqUnixOpenSSL.c in revisision 3790: platforms/unix/plugins/SqueakSSL/ config.cmake sqUnixLibreSSL.inc sqUnixSSL.c openssl_overlay.h sqUnixOpenSSL.inc I had sent a few emails to Ian Piumarta but never had a reply; I'm pretty sure back in the days 1995-1998 Ian (and maybe others) had access to SunOS machines for early version of the Squeak VM (Unix version). Regards, David Stes -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iQEcBAEBCAAGBQJfskuMAAoJEAwpOKXMq1Ma1PsIAJJ8Vm3wDhu8FPp+fco50kHL RlLuWgw5hL2NSu0Pb4eleYRZYL5oRvQgFzjVF7uGVfS9ig4Wb5EQVNnSic/bLD0H PK4BrFKddcrFoW3kQJM+QUiXARj8+XK8z/3IUZVgdf+jrtwrBvdK+7d7tpopyH08 BLelDmWCu8dQe3VrrhWF1CRhamrLTEfKfih/TCy1Yuz2dNy3pCjqBR2aikHdDXTD 3RXKMP/i/WoPr8oiAdijGnexjhzDky5e4y2iGFGvvYepVKrrPtzWNBkPX0/skrLZ Nbal0ZTmeRT2TF6Pa8wLmH3Kad9/gFgNPDJMOdHoC6l2/D7arA+8i15TQJe3xWE= =gvh5 -----END PGP SIGNATURE----- |
Free forum by Nabble | Edit this page |