[Vm-dev] RFC: Unix 3.11.3-2116 VM

Andreas Wacknitz A.Wacknitz at gmx.de
Tue Sep 1 18:50:04 UTC 2009


Hello Ian,

Am 31.08.2009 um 11:08 schrieb Ian Piumarta:

> Unix VM hackers,
>
> I've published a preview of the 3.11.3 Unix VM for the amusement of  
> alpha testers everywhere.  Lots of things are bound to be broken and/ 
> or forgotten and/or incomplete and/or begging for improvement.  I'm  
> not quite finished tweaking but comments and suggestions are  
> definitely welcome at this stage!
>
> Grab sources from the trunk of Subversion, or look in
>
>  http://squeakvm.org/unix/alpha
>
> for archives of sources and binaries for i386 (Linux, NetBSD,  
> FreeBSD and Solaris) and powerpc (Darwin).  (Files ending in '.sh'  
> are self-extracting archives; run as shell script and follow  
> instructions.)
>
> The noticeable changes since 3.10 are:
>
> 0. Plugins have been regenerated from latest releases
>
> At least for those on squeaksource.  Any hiding in more obscure  
> places might still be stale.
>
> 1. New build process based on CMake
>
> See README in the source archive or platforms/unix/README.CMake in  
> the repository.
>
> 2. Different plugin and FFI library search strategy
>
> The default plugin directory is now the VM binary directory.  This  
> is correct for installed VMs where the binary lives alongside the  
> plugins in /usr/.../lib/squeak/version/squeakvm.  A launcher script  
> installed as /usr/.../bin/squeak figures out where the VM is (either  
> installed or running from a build directory) and adds a -plugins  
> option appropriately.  The script also does the pulse audio OSS  
> kludge if necessary.  (Another script, squeak.sh, is intended to  
> launch Squeak from a menu.  It's begging for improvement.)
>
> SQUEAK_PLUGINS (or the argument to -plugins) can be set to a colon- 
> separated list of places to look for plugins.  (Dave can debug one  
> plugin at a time using 'squeakvm -plugins bld/%n:/usr/lib/squeak/ 
> <version>'.)
>
> Libraries are searched only by whatever mechanisms dlopen() uses.   
> Applications that used to rely on the VM searching every nook and  
> cranny for FFI callouts may have to set LD_LIBRARY_PATH, or whatever  
> local equivalent is provided, to ensure their external functions'  
> libraries are found.
>
> 3. New numbering scheme
>
> The VM is now numbered X.Y.Z-R where X.Y.Z are the version of  
> VMMaker used to generate the Interpreter and plugins, and R is the  
> Subversion repository revision of the Unix support code.  (The  
> archives are named X.Y.Z.R, just because rpmbuild is grumpy  
> otherwise.)
>
> Cheers,
> Ian

I have compiled the actual sources (2123) for Solaris SPARC today. I  
had two things to fix in order to compile under Solaris 10:
   1. unix/plugins/PseudoTTYPlugin/sqUnixPseudoTTYPlugin.c includes  
"sqUnixAsynchFile.h" but this file is not in the search path.
   2. unix/plugins/UUIDPlugin/sqUnixUUID.c includes <uuid.h>. I needed  
to change it to include <uuid/uuid.h>.

The next thing is that "gmake install" installs the plugins under .../ 
lib/squeak/3.10-6/. Shouldn't that be 3.11.3?
At the moment the squeak executable cannot find the plugins and dumps  
core. But that has nothing to do with the version number.

Regards
Andreas



More information about the Vm-dev mailing list