SqueakVM trunk is broken since late April

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
6 messages Options
Reply | Threaded
Open this post in threaded view
|

SqueakVM trunk is broken since late April

Aleksej Saushev-2
 
  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?


--
HE CE3OH...
Reply | Threaded
Open this post in threaded view
|

Re: SqueakVM trunk is broken since late April

David T. Lewis
 
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.

Dave

Reply | Threaded
Open this post in threaded view
|

Re: SqueakVM trunk is broken since late April

Aleksej Saushev-2
 
  Hello!

"David T. Lewis" <[hidden email]> 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.

Is Cog source up-to-date?


--
HE CE3OH...
Reply | Threaded
Open this post in threaded view
|

Re: SqueakVM trunk is broken since late April

David T. Lewis
 
On Tue, Dec 07, 2010 at 10:05:30PM +0300, Aleksej Saushev wrote:

>  
>   Hello!
>
> "David T. Lewis" <[hidden email]> 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.

Dave

Reply | Threaded
Open this post in threaded view
|

Re: SqueakVM trunk is broken since late April

Aleksej Saushev-2
 
"David T. Lewis" <[hidden email]> writes:

> On Tue, Dec 07, 2010 at 10:05:30PM +0300, Aleksej Saushev wrote:
>>  
>>   Hello!
>>
>> "David T. Lewis" <[hidden email]> 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?
Is there any clear document describing how to get actual source?


--
HE CE3OH...
Reply | Threaded
Open this post in threaded view
|

Re: SqueakVM trunk is broken since late April

David T. Lewis
 
On Thu, Jan 20, 2011 at 04:25:32AM +0300, Aleksej Saushev wrote:

>  
> "David T. Lewis" <[hidden email]> writes:
>
> > On Tue, Dec 07, 2010 at 10:05:30PM +0300, Aleksej Saushev wrote:
> >>  
> >>   Hello!
> >>
> >> "David T. Lewis" <[hidden email]> 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