[V3dot10] Loading packages in 3.10beta 7143

Keith Hodges keith_hodges at yahoo.co.uk
Sun Sep 23 00:56:34 UTC 2007


Chris Muller wrote:
> I am having trouble with all of the three types of large-grained
> packages known to Squeak in a freshly downloaded 3.10beta 7143 image.
>
> First I tried SqueakMap:
>
> - I just want to load OSProcess.  When I try to open SqueakMap I get
> MNU: String class>>numbers.  See stack trace below.
>
>   
See Edgar's comment, I dont know about SqueakMap.
> Monticello Configurations:
>
> - 3.10 does not come configured to work with Monticello
> Configurations, one of the best configuration tools available that
> stays within the realm of Monticello instead of introducing yet
> another packaging system (like Universes).  Oh well, I'll just load up
> the impara-improved versions of Monticello on which Monticello
> Configurations can be loaded.  Tried to load this version:
>   
> Name: Monticello-SR.315
> Author: SR
> Time: 10 September 2006, 9:55:13 pm
> UUID: 9eb78ac0-b0c2-48ee-8f89-ee1586d53d62
> Ancestors: Monticello-SR.314
>
>   
The Monticello included in 3.10 is unable to load any other versions of 
Monticello (neither is it able to use MonticelloConfigurations)

This is because the load code becomes self modifying, and gets modified 
as you load the new version. In doing so it breaks itself. It is 
possible with a lot of careful thought and a fair bit of luck to make 
this work, and I tried to do this in order to make MC1.5 load able by 
other MC's However the version in 3.10 is "impossible" (tm) to work 
around in this respect. The ONLY reliable solution for loading a 
different version of MC into 3.10 is to do a source code file in.

So... MC1.5 is available from Universes in a bootstrap (i.e. load a .st 
fileout) for the first time you load it. From then on it can load itself 
from the repo.


> but unfortunately it wouldn't load (see second stack trace, below).
>
> Package Universes:
>
> Ok, I know there's been some strong "suggestions" from the 3.10 team
> to use Universes.  Ok, I'll give it a chance.  Let's see,
>   
Ah... at this point your Monticello is already broken beyond repair, due 
to your attempt to load another MC. That is why you get the stack trace 
below. The method has been removed by the incoming package, but the 
loading function is still the new implementation which wants that method.
> open...|Package Universe Browser.  Ok, where is OSProcess?  I see no
> Find function like in SqueakMap.  I have to look at all categories and
>   
I use the view all tab to get an alphabetical listing, this is slightly 
easier to find things.
> guess which one it is under.  "System"?  Ah, there it is.  
> left-click "OSProcess version V4-3-3".  I then left-click the "Select
> Package" button, then "Install Selections".
>
> Another debugger appears.  MCOrganization>>addMethodAdditionTo:.  See
> the third stack trace, below.
>
> ---------
>
> I realize 3.10 is still a beta, but the first thing any Squeak image
> must be able to do for me is upgrade itself; so I can configure it to
> what I need.
>
> I'm look forward to moving to an image more stable than 3.9.
> Unfortunately, in the base 3.10beta 7143, all roads led to debuggers
> for me.
>
>  - Chris
>   
I recommend that you do the following...

With a fresh 3.10 image.

1. Open Universes Browser.
2. In --persistence-- category find Magma 1.0 tester (r40) and install.

This should realize dependency on Monticello Configurations, and load 
that in first, but this should require the loading of Monticello 1.5 
which will require the loading of the the MC1.5 bootstrap version.

Having done this you will have a fully mcm friendly MC1.5 version of 3.10.

We have two outstanding bugs in MC1.5, loading a new version of a 
package which changes instvars radically needs a package recompile. 
(MC1.0 might not have even attempted to load a package like that). The 
second is something to do with method categories getting lost. I need to 
look into it further. I myself havent seen that bug.

any how... best of luck with this one click install. Let me know how it 
goes.

Keith






More information about the V3dot10 mailing list