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

Eliot Miranda eliot.miranda at gmail.com
Mon Aug 31 17:49:37 UTC 2009


Hi Ian,

On Mon, Aug 31, 2009 at 2:08 AM, Ian Piumarta <piumarta at speakeasy.net>wrote:

>
> 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!
>

Does the build still create symbolic links, i.e.
    plugins -> lib/squeak/3.9-7/
    squeak -> bin/squeak
    bin/squeak -> ../lib/squeak/3.9-7/squeak

If so, can I suggest trying to do without these?  The rationale is svn on
Windows, which is horribly broken by symbolic links.

At Qwaq we build Linux, Mac OS X and Win32 VMs that live in a single svn
tree for the release VMs (the "binary" tree).  Because of the symbolic links
in the unix build we have to keep the Unix vm in a gzipped tar file to avoid
including symbolic links in a check-out of the build tree on Win32.  That
means that checking whether a component such as an external plugin is
up-to-date involves unpacking the tar, and doing a diff -r, which is
tedious.

Maybe the creation of these symbolic links could be deferred until "make
install" time so that doing a simple "make" produces somethign Win32 can
live with.

cheers
Eliot


> 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.
>

Woo hoo!



> 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
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/vm-dev/attachments/20090831/1f6fc5e9/attachment.htm


More information about the Vm-dev mailing list