[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