[Vm-dev] SqueakVM trunk is broken since late April
David T. Lewis
lewis at mail.msen.com
Tue Dec 7 21:31:48 UTC 2010
On Tue, Dec 07, 2010 at 10:05:30PM +0300, Aleksej Saushev wrote:
> "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?
> > Hi Aleksej,
> > 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.
> Is Cog source up-to-date?
Yes. It is currently in its own branch of Subversion, so it may have
some differences compared to the trunk. But as long as you follow
the documentation in that branch, it should be fine.
More information about the Vm-dev