[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