trying to build VM for Win32

Andrew Tween amtween at hotmail.com
Sun Sep 17 19:47:46 UTC 2006


Hi Bryce,
> So far no-one has successfully built Exupery on Win 32.

Excellent, that means I am not wasting time by attempting it ;)

>
> You'll also need to replace the call to mmap in the .c files
> with a call to VirtualAlloc.
>
> That's all the changes that I know you will have to make. There
> may be more.

ok, thanks.

>
>  > Question 2. - I get this error when compiling -
>  >
>  > gnu-interp.c: In function `exuperySetupMessageSend':
>  > gnu-interp.c:4567: `foo' undeclared (first use in this function)
>  >
>  > Looking at the corresponding method in Interpreter, I see...
>  >
>  >    [(receiverClass < youngStart and: [picPosition ~= 0]) ifTrue:
>  >     [self cCode: '*(int *) (picPosition + 12) = foo->receiverClass'
>
> The short answer was I was careless when I wrote that.
>
> The longer answer is foo is a structure used to hold the interpreters
> variables to speed up accessing them. This is an optimisation done by
> VMMaker that provides quicker variable access on RISCs but not on x86.
> Linux is a Unix so it chooses to compile to suit a RISC.
>
> The simple solution is to just delete the references to foo in my
> cCode:. Send me the mcz and I'll try to clean it up so it works on
> both platforms.

Yep. Knocking out the 'foo->' solves the problem.
(I have already sent a message to the list exupery@ ..  re: this; but it didn't
make it. I think it needs moderator authorisation ?. For now, I will post to
gmane)

Building a Win32 VM from a 3.8 image is problematic. I tried this in the past
when builiding the subpixel/freetype image/plugins, and after many failures,
gave up, and moved to a 3.9 image + VMMaker-tpr.58.mcz + revision 1513 from the
svn sources.  I also built successfully from a 3.7 image. I (optimistically)
hoped that that your VMMaker-wbk.35 package might solve the build problems with
3.8, but unfortunately they are still present.

So, I propose to port the changes from VMMaker-wbk.35 to VMMaker-tpr.58.mcz. And
then to attempt to build the vm using revision 1513, from a 3.9 image. Does that
sound sensible?

Cheers,
Andy





More information about the Exupery mailing list