[Vm-dev] SqueakVM trunk is broken since late April

David T. Lewis lewis at mail.msen.com
Thu Jan 20 13:32:56 UTC 2011


On Thu, Jan 20, 2011 at 04:25:32AM +0300, Aleksej Saushev wrote:
>  
> "David T. Lewis" <lewis at mail.msen.com> writes:
> 
> > On Tue, Dec 07, 2010 at 10:05:30PM +0300, Aleksej Saushev wrote:
> >>  
> >>   Hello!
> >> 
> >> "David T. Lewis" <lewis at mail.msen.com> writes:
> >> 
> >> > On Tue, Dec 07, 2010 at 08:34:14PM +0300, Aleksej Saushev wrote:
> >> >>  
> >> >>   Hello!
> >> >> 
> >> >> I'm trying to build VM from source and run into this:
> >> >> 
> >> >> Linking C executable squeakvm
> >> >> CMakeFiles/squeakvm.dir/tmp/local/squeak-vm/work/squeak-vm/platforms/Cross/vm/sqVirtualMachine.c.o: In function `sqGetInterpreterProxy':
> >> >> sqVirtualMachine.c:(.text+0x45e): undefined reference to `internalIsImmutable'
> >> >> sqVirtualMachine.c:(.text+0x468): undefined reference to `internalIsMutable'
> >> >> sqVirtualMachine.c:(.text+0x472): undefined reference to `primitiveFailFor'
> >> >> sqVirtualMachine.c:(.text+0x47c): undefined reference to `classAlien'
> >> >> sqVirtualMachine.c:(.text+0x486): undefined reference to `getStackPointer'
> >> >> sqVirtualMachine.c:(.text+0x490): undefined reference to `sendInvokeCallbackStackRegistersJmpbuf'
> >> >> sqVirtualMachine.c:(.text+0x49a): undefined reference to `reestablishContextPriorToCallback'
> >> >> sqVirtualMachine.c:(.text+0x4a4): undefined reference to `classUnsafeAlien'
> >> >> --- squeakvm ---
> >> >> 
> >> >> Going back in past, I've found that this was broken in r2203,
> >> >> which introduced references to these symbols which in turn were never defined.
> >> >> 
> >> >> Could anyone at least shed the light on what is going on?
> >> >
> >> > Possibly you are compiling using the sources in platforms/unix/src. These
> >> > are source files that were automatically generated from a VMMaker image
> >> > at the time of the last official VM distribution. For this reason, they
> >> > are out of date now with respect to the rest of the development platform
> >> > sources. In this case, the platform source code is making references to
> >> > things that are present in the up-to-date VMMaker sources, but that were
> >> > not present at the time the platforms/unix/src/* files were created. This
> >> > is the reason for the unresolved references in your build.
> >> >
> >> > In order to build a VM with the latest sources, please also use the most
> >> > recent VMMaker from SqueakSource, and use this to generate your own source
> >> > files. Usually (though not necessarily always), the most recent version
> >> > of VMMaker will contain the Smalltalk code that matches the most recent
> >> > development sources in Subversion.
> >> >
> >> > Having the generated sources in platforms/unix/src can be confusing, and
> >> > there has been some discussion of moving the saved ./src files out of the
> >> > main ./platforms directory tree in order to reduce confusion about this.
> >> 
> >> Is it possible update source and build instructions in repository?
> >> I think it would be useful in view of upcoming new releases.
> >
> > A new VM build is planned for this month, and I would expect updates
> > to occur at that time.
> 
> This is still not fixed. Is it possible to fix this in tree?

If you want to build the VM from the latest sources in Subversion,
then you *must* use the source code in VMMaker.

> Is there any clear document describing how to get actual source?

Use a Monticello browser to load package VMMaker from www.squeaksource.com.

On Squeak, you can load update-dtl.6.mcm with Monticello to load
VMMaker with other required packages. Once loaded, evaluate
"VMMaker updateFromServer" to ensure that you have the latest
versions.

Open a VMMaker tool (world --> open... --> VMMaker). The "Help"
button on the upper left of the VMMaker window provides additional
instructions.

If you are using Pharo, you can load VMMaker with ConfigurationOfVMMaker
(but be sure to use whatever Metacello command gives you the latest
version of VMMaker, not an earlier labeled version).

Dave



More information about the Vm-dev mailing list