[Vm-dev] CogDroid VMMaker issues

Igor Stasenko siguctua at gmail.com
Tue May 15 02:35:33 UTC 2012


On 15 May 2012 00:51, Phil (list) <pbpublist at gmail.com> wrote:
>
> In trying to generate sources from VMMaker per the instructions at http://code.google.com/p/squeakvm-tablet/wiki/CogNotes, I ran into a couple of issues.  The first one was a syntax error when loading CMakeVMMaker-golubovsky.136.mcz in StackEvtUnixConfig>>platformSources
> "answer the same set of source files except that sqUnixMain.c is replaced with sqUnixEvtMain.c,
> sqUnixHeartbeat.c is replaced with sqUnixEvtBeat.c"
>
>   ^ super platformSources collect: [ :file | (file = 'sqUnixMain.c')
> ifTrue: 'sqUnixEvtMain.c'
> ifFalse: [(file = 'sqUnixHeartbeat.c')
> ifTrue: 'sqUnixEvtBeat.c'
> ifFalse: file]
> ].
>

this code smells a bit.
Dmirty, can you please change it to use exact list of files,
like that it will be much easier for readers to comprehend and
maintain, for example:

platformSources
	^ #(
	'aio.c'
	'debug.c'
	'osExports.c'
	'sqUnixCharConv.c'
	'sqUnixExternalPrims.c'
	'sqUnixHeartbeat.c'
	'sqUnixMain.c'
	'sqUnixMemory.c'
	'sqUnixThreads.c'
	'sqUnixVMProfile.c'
	)

> this was easy enough to fix (I had the same issue with version 141):
>
> platformSources
> "answer the same set of source files except that sqUnixMain.c is replaced with sqUnixEvtMain.c,
> sqUnixHeartbeat.c is replaced with sqUnixEvtBeat.c"
>
>   ^ super platformSources collect: [ :file | (file = 'sqUnixMain.c')
> ifTrue: ['sqUnixEvtMain.c']
> ifFalse: [(file = 'sqUnixHeartbeat.c')
> ifTrue: ['sqUnixEvtBeat.c']
> ifFalse: file]
> ].
>
> After everything was loaded without errors, I ran:
>
> StackEvtAndroidConfig new
> generateSources;
> generate.
>
> with CMakeVMMaker-golubovsky.136.mcz/VMMaker-oscog-golubovsky.111.mcz I get:
>
> 'MessageNotUnderstood: CMakeAndroidPluginGenerator>>append:with:'
>
> so I tried the latest CMakeVMMaker-golubovsky.141.mcz/VMMaker-oscog-golubovsky.130.mcz I get:
>
> 'Error: Sets cannot meaningfully contain nil' in CCodeGeneratorGlobalStructure(CCodeGenerator)>>emitCConstantsOn: in the literalsDo: block which appears to be due to literal8 being set to nil->VMClass class.
>
> Any suggestions on how to proceed? (i.e. which version of the packages should I be trying to get working based on the versions of Pharo/VMMaker specified in Mariano's post?)
>

I see that if you take latest version of CMakeVMMaker, you will find
all changes made by Dmirty.
But i'm not sure about VMMaker.

As for how to proceed: just download an image from jenkins server.
This is most painless
and time saving way.
https://ci.lille.inria.fr/pharo/view/Cog/job/Cog%20Git%20Tracker/
see vmmaker-image.zip

if you use those images, at least you will know that its working.
it may not contain the latest versions of packages, because it using
metacello configs.
And we produce new metacello configs after changes accumulated, or if
there is a critical bug..
but not for every new package commit.

> Thanks,
> Phil
>



-- 
Best regards,
Igor Stasenko.


More information about the Vm-dev mailing list