Setting up a VMMaker image

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

Setting up a VMMaker image

Andreas.Raab
 
Hi -

Since setting up a VMMaker image has become a serious pain I thought I'd
post my process for documentation here. This is what I did:

[ ] Start with a trunk image from http://ftp.squeak.org/trunk
[ ] Load Speech: http://source.squeakfoundation.org/39a
[ ] Load FFI version 3.9.1: Universes (System>>FFI version 3.9.1)
[ ] Load VMMaker: http://squeaksource.com/VMMaker
[ ] Load Balloon3D-Constants: http://squeaksource.com/Balloon3D
[ ] Load Balloon3D-Plugins: http://squeaksource.com/Balloon3D
[ ] Load Freetype: http://squeaksource.com/FreeTypePlus
[ ] Load Freetype-Plugin: http://source.impara.de/freetype

After doing all this I have a healthy current VMMaker image.

Cheers,
   - Andreas
Reply | Threaded
Open this post in threaded view
|

Re: Setting up a VMMaker image

Michael Haupt-3
 
Hi Andreas,

thanks for sharing this.

It almost worked for me (Mac OS X, latest Mac VM), save one thing ...

On Tue, Nov 10, 2009 at 7:59 AM, Andreas Raab <[hidden email]> wrote:
> [ ] Load Freetype: http://squeaksource.com/FreeTypePlus

This complained about FilePath not understanding #asLowercase, which
to implement is easy. I wonder whether the fix should go into the
trunk.

Best,

Michael
Reply | Threaded
Open this post in threaded view
|

Re: Setting up a VMMaker image

Igor Stasenko
 
2009/11/10 Michael Haupt <[hidden email]>:

>
> Hi Andreas,
>
> thanks for sharing this.
>
> It almost worked for me (Mac OS X, latest Mac VM), save one thing ...
>
> On Tue, Nov 10, 2009 at 7:59 AM, Andreas Raab <[hidden email]> wrote:
>> [ ] Load Freetype: http://squeaksource.com/FreeTypePlus
>
> This complained about FilePath not understanding #asLowercase, which
> to implement is easy. I wonder whether the fix should go into the
> trunk.
>
Strange, given the fact that not all file systems are case
insensitive, i wonder where such method is used for.


> Best,
>
> Michael
>



--
Best regards,
Igor Stasenko AKA sig.
Reply | Threaded
Open this post in threaded view
|

Re: Setting up a VMMaker image

johnmci
 
Yes, well the default os-x setup is not case sensitive, but if you  
refer to NFS or external volumes they could be.
Also os-x server is by default case sensitive, and you *could* reset  
an HFS+ volume to be case sensitive.
So I agree sending asLowercase to a file path should be viewed as  
suspect.


On 2009-11-10, at 11:36 AM, Igor Stasenko wrote:

>
> 2009/11/10 Michael Haupt <[hidden email]>:
>>
>> Hi Andreas,
>>
>> thanks for sharing this.
>>
>> It almost worked for me (Mac OS X, latest Mac VM), save one thing ...
>>
>> On Tue, Nov 10, 2009 at 7:59 AM, Andreas Raab <[hidden email]>  
>> wrote:
>>> [ ] Load Freetype: http://squeaksource.com/FreeTypePlus
>>
>> This complained about FilePath not understanding #asLowercase, which
>> to implement is easy. I wonder whether the fix should go into the
>> trunk.
>>
> Strange, given the fact that not all file systems are case
> insensitive, i wonder where such method is used for.
>
>
>> Best,
>>
>> Michael
>>
>
>
>
> --
> Best regards,
> Igor Stasenko AKA sig.

--
=
=
=
========================================================================
John M. McIntosh <[hidden email]>   Twitter:  
squeaker68882
Corporate Smalltalk Consulting Ltd.  http://www.smalltalkconsulting.com
=
=
=
========================================================================




Reply | Threaded
Open this post in threaded view
|

Re: Setting up a VMMaker image

Michael Haupt-3
 
Hi John,

On Tue, Nov 10, 2009 at 8:48 PM, John M McIntosh
<[hidden email]> wrote:
> So I agree sending asLowercase to a file path should be viewed as suspect.

precisely my feelings.

The (minor) issue is in FreeTypePlus, then, right?

Best,

Michael
Reply | Threaded
Open this post in threaded view
|

Re: Setting up a VMMaker image

David T. Lewis
In reply to this post by Andreas.Raab
 
On Mon, Nov 09, 2009 at 10:59:14PM -0800, Andreas Raab wrote:

>
> Since setting up a VMMaker image has become a serious pain I thought I'd
> post my process for documentation here. This is what I did:
>
> [ ] Start with a trunk image from http://ftp.squeak.org/trunk
> [ ] Load Speech: http://source.squeakfoundation.org/39a
> [ ] Load FFI version 3.9.1: Universes (System>>FFI version 3.9.1)
> [ ] Load VMMaker: http://squeaksource.com/VMMaker
> [ ] Load Balloon3D-Constants: http://squeaksource.com/Balloon3D
> [ ] Load Balloon3D-Plugins: http://squeaksource.com/Balloon3D
> [ ] Load Freetype: http://squeaksource.com/FreeTypePlus
> [ ] Load Freetype-Plugin: http://source.impara.de/freetype
>
> After doing all this I have a healthy current VMMaker image.

I baked some of this recipe into a "VMMaker updateFromServer", patterned
after the Squeak trunk update process. I do not yet have Speech and FFI
in the configuration and I'm sure there are other plugins that need to
be added, but it's a start.

To do an initial load:
  MCMcmUpdater updateFromRepositories: #('http://squeaksource.com/VMMaker' )

Thereafter, evaluate "VMMaker updateFromServer" to get updates.

In addition to Andreas' list, I included OSProcessPlugin, AioPlugin,
XDisplayControlPlugin, SlangBrowser, and MemoryAccess.

Please add your favorite plugins to the configuration map in VMMaker
on SqueakSource.

Dave

Reply | Threaded
Open this post in threaded view
|

Re: Setting up a VMMaker image

Henrik Sperre Johansen

Hi David!
I tried this on latest Pharo 1.1 core (11050), ran into a couple of problems, posting them here for information.

- One package contained method definitions :
  CanvasCharacterScanner>>cr
  CanvasCharacterScanner>>paddedSpace
  CanvasCharacterScanner>>tab
This class is in MorphicExtras, which is not in Pharo-core anymore. I assume it's safe for those using it to hit proceed.
 

- B3DEnginePlugin class>>translateInDirectory: directory doInlining: inlineFlag
        contains:
inject: 0 into: [:tS :cl |
                tS := tS max: cl timeStamp]

Raises a Syntax error in Pharo, since you can't store into blockArgs, and either way that store should be unnecessary, right?

This might be an Pharo-specific MC bug. but after fixing the source in the popup and hitting ctrl-s, loading proceeds, but when MCMultiPackageLoader tries to install the method, selector and compiledMethod is nil, as if the modifed source had not been accepted...
To fix, you can change method source in debugger manually, then remake the MethodAddition and make it become the failed one before proceeding, but it's a lot less convenient.
Might be a good idea to check if the same happens when encountering a syntax error while loading in Squeak as well :)

Finally, I get a warning when initializing SlangBrowser, since CodeHolder does not respond to addEditContentsOption:.  (I assume this just means some menu-options won't be accessible in Pharo?)

Other than that, after fixing a bug in CrLfStream and loading the Sound package from Pharo repository (+ fixing a loading intialization issue with that...)) it seemed to generate sources just fine for all plugins! :D

Cheers,
Henry


On Nov 15, 2009, at 3:21 26AM, David T. Lewis wrote:

>
> On Mon, Nov 09, 2009 at 10:59:14PM -0800, Andreas Raab wrote:
>>
>> Since setting up a VMMaker image has become a serious pain I thought I'd
>> post my process for documentation here. This is what I did:
>>
>> [ ] Start with a trunk image from http://ftp.squeak.org/trunk
>> [ ] Load Speech: http://source.squeakfoundation.org/39a
>> [ ] Load FFI version 3.9.1: Universes (System>>FFI version 3.9.1)
>> [ ] Load VMMaker: http://squeaksource.com/VMMaker
>> [ ] Load Balloon3D-Constants: http://squeaksource.com/Balloon3D
>> [ ] Load Balloon3D-Plugins: http://squeaksource.com/Balloon3D
>> [ ] Load Freetype: http://squeaksource.com/FreeTypePlus
>> [ ] Load Freetype-Plugin: http://source.impara.de/freetype
>>
>> After doing all this I have a healthy current VMMaker image.
>
> I baked some of this recipe into a "VMMaker updateFromServer", patterned
> after the Squeak trunk update process. I do not yet have Speech and FFI
> in the configuration and I'm sure there are other plugins that need to
> be added, but it's a start.
>
> To do an initial load:
>  MCMcmUpdater updateFromRepositories: #('http://squeaksource.com/VMMaker' )
>
> Thereafter, evaluate "VMMaker updateFromServer" to get updates.
>
> In addition to Andreas' list, I included OSProcessPlugin, AioPlugin,
> XDisplayControlPlugin, SlangBrowser, and MemoryAccess.
>
> Please add your favorite plugins to the configuration map in VMMaker
> on SqueakSource.
>
> Dave
>
>

Reply | Threaded
Open this post in threaded view
|

Re: Setting up a VMMaker image

David T. Lewis
 
On Fri, Nov 20, 2009 at 03:23:46PM +0100, Henrik Johansen wrote:

>
> Hi David!
> I tried this on latest Pharo 1.1 core (11050), ran into a couple of problems, posting them here for information.
>
> - One package contained method definitions :
>   CanvasCharacterScanner>>cr
>   CanvasCharacterScanner>>paddedSpace
>   CanvasCharacterScanner>>tab
> This class is in MorphicExtras, which is not in Pharo-core anymore. I assume it's safe for those using it to hit proceed.
>  

Probably this is safe, but it's worth checking to see which class is making that reference
to be sure.

> - B3DEnginePlugin class>>translateInDirectory: directory doInlining: inlineFlag
> contains:
> inject: 0 into: [:tS :cl |
> tS := tS max: cl timeStamp]
>
> Raises a Syntax error in Pharo, since you can't store into blockArgs, and either way that store should be unnecessary, right?
>

This needs to be fixed in VMMaker, thanks.


> This might be an Pharo-specific MC bug. but after fixing the source in the popup and hitting ctrl-s, loading proceeds, but when MCMultiPackageLoader tries to install the method, selector and compiledMethod is nil, as if the modifed source had not been accepted...
> To fix, you can change method source in debugger manually, then remake the MethodAddition and make it become the failed one before proceeding, but it's a lot less convenient.
> Might be a good idea to check if the same happens when encountering a syntax error while loading in Squeak as well :)
>
> Finally, I get a warning when initializing SlangBrowser, since CodeHolder does not respond to addEditContentsOption:.  (I assume this just means some menu-options won't be accessible in Pharo?)
>

Just take SlangBrowser out of your configuration. It is not needed for VM building.

> Other than that, after fixing a bug in CrLfStream and loading the Sound package from Pharo repository (+ fixing a loading intialization issue with that...)) it seemed to generate sources just fine for all plugins! :D
>

Good! Thanks for the updates.

Reply | Threaded
Open this post in threaded view
|

B3DEnginePlugin update needed (was: Setting up a VMMaker image)

David T. Lewis
 
On Fri, Nov 20, 2009 at 01:58:51PM -0500, David T. Lewis wrote:

> On Fri, Nov 20, 2009 at 03:23:46PM +0100, Henrik Johansen wrote:
> >
> > - B3DEnginePlugin class>>translateInDirectory: directory doInlining: inlineFlag
> > contains:
> > inject: 0 into: [:tS :cl |
> > tS := tS max: cl timeStamp]
> >
> > Raises a Syntax error in Pharo, since you can't store into blockArgs, and
> > either way that store should be unnecessary, right?
>
> This needs to be fixed in VMMaker, thanks.

Oops, actually this is a plugin from http://www.squeaksource.com/Balloon3D.

Can someone (Andreas, Bert, Diego) please make this update?

Thanks,
Dave

Reply | Threaded
Open this post in threaded view
|

Re: B3DEnginePlugin update needed (was: Setting up a VMMaker image)

Jean Baptiste Arnaud
 
Hi,
My name is Arnaud Jean Baptiste.
Currently, i try to make a clean install of VMMaker on a Pharo Image.
I building a loader to load all the missing stuff (Sound package for example) and correct the possible issue (like that issue ), on Pharo image.
If i can help i will be glad to join you.

On Nov 21, 2009, at 11:21 PM, David T. Lewis wrote:

On Fri, Nov 20, 2009 at 01:58:51PM -0500, David T. Lewis wrote:
On Fri, Nov 20, 2009 at 03:23:46PM +0100, Henrik Johansen wrote:
- B3DEnginePlugin class>>translateInDirectory: directory doInlining: inlineFlag
contains:
inject: 0 into: [:tS :cl |
tS := tS max: cl timeStamp]

Raises a Syntax error in Pharo, since you can't store into blockArgs, and
either way that store should be unnecessary, right?

This needs to be fixed in VMMaker, thanks.

Oops, actually this is a plugin from http://www.squeaksource.com/Balloon3D.

Can someone (Andreas, Bert, Diego) please make this update?

Thanks,
Dave

Reply | Threaded
Open this post in threaded view
|

Re: B3DEnginePlugin update needed (was: Setting up a VMMaker image)

Bert Freudenberg
In reply to this post by David T. Lewis

On 21.11.2009, at 23:21, David T. Lewis wrote:

>
>
> On Fri, Nov 20, 2009 at 01:58:51PM -0500, David T. Lewis wrote:
>> On Fri, Nov 20, 2009 at 03:23:46PM +0100, Henrik Johansen wrote:
>>>
>>> - B3DEnginePlugin class>>translateInDirectory: directory doInlining: inlineFlag
>>> contains:
>>> inject: 0 into: [:tS :cl |
>>> tS := tS max: cl timeStamp]
>>>
>>> Raises a Syntax error in Pharo, since you can't store into blockArgs, and
>>> either way that store should be unnecessary, right?
>>
>> This needs to be fixed in VMMaker, thanks.
>
> Oops, actually this is a plugin from http://www.squeaksource.com/Balloon3D.
>
> Can someone (Andreas, Bert, Diego) please make this update?

Done.

- Bert -