Re: [Pharo-project] Issue with gofer/metacello
The latest Gofer API is not backward compatible with the earlier versions of the Gofer API. This means that I need to have different versions of Metacello to use with the different versions of Gofer. Unfortunately, I can't use Gofer to detect which version of Gofer is loaded because of the API changes. So I will have to write more code than I'd like to detect which version of Gofer is pre-installed. The API changes also impact the bootstrapping code. Solving these problems are a larger project than I can undertake on a Sunday and I _am_ on vacation the coming week as well. So until further notice, if you want to use Metacello 1.0-beta.17 (or earlier) in Pharo you will have to manually ensure Gofer-lr.83 (or earlier) is loaded into your image before attempting to load any Metacello configurations. I'm not sure that you use Gofer to load an earlier version of itself (I'll be finding out in the next few days)... Metacello 1.0-beta.18 works with Gofer-lr.107 (in pharo 1.0-10502). If you want to use Metacello 1.0-beta.18 (currently in development, so it's subject to change). You will have to manually bootstrap Metacello by executing: Gofer new gemsource: 'metacello'; package: 'ConfigurationOfMetacello'; load. (Smalltalk at: #ConfigurationOfMetacello) perform: #ensureMetacello18. ((Smalltalk at: #ConfigurationOfMetacello) project version: '1.0-beta.18') load: 'ALL'. before loading your configuration. I won't release 1.0-beta.18 until I've resolved the bootstrapping problem. I'm pretty sure that there is a technical solution, but it will take several days for me to get it implemented. Dale ----- "Dale Henrichs" <dale.henrichs@gemstone.com> wrote: | Version 1.0-beta.18 (development) should have fixes for the latest | Gofer. 1.0-beta.18 is currently in #development so it is automatically | loaded. When I get the chance to test the Metacello fixes with 10502, | I'll #release 1.0-beta.18 (and will be automatically loaded). | | Dale | ----- "Alexandre Bergel" <alexandre@bergel.eu> wrote: | | | Hi Lukas, | | | | In a fresh 10502 I evaluated: | | -=-=-=-=-=-=-=-=-= | | [ Gofer gofer load ] | | on: Error | | do: [ :err | err retry ]. | | Gofer gofer recompile. | | Gofer new | | squeaksource: 'Mondrian'; | | addPackage: 'ConfigurationOfMondrian'; | | load. | | (Smalltalk at: #ConfigurationOfMondrian) perform: #loadLastStable. | | -=-=-=-=-=-=-=-=-= | | | | I have the same error. | | The error comes from: | | | | -=-=-=-=-=-=-=-=-= | | MetacelloMCProject>>updateProject | | "load the latest version of the configuration package" | | | | | mcLoader | | | (mcLoader := self loader) == nil | | ifTrue: [ mcLoader := self project loaderClass on: nil ]. | | mcLoader doingLoads: [ | | | gofer | | | gofer := Gofer new. | | MCWorkingCopy | | managersForClass: self configuration class | | do: [:mgr | | | gofer add: (GoferPackageReference name: mgr packageName | | repository: mgr repositoryGroup) versionReference. | | Transcript cr; show: 'Loading -> ', mgr packageName, ' <-' ]. | | gofer load ]. | | ^true | | -=-=-=-=-=-=-=-=-= | | | | Cheers, | | Alexandre | | | | On 27 Dec 2009, at 17:27, Lukas Renggli wrote: | | | | >> After proceeding these warnings, I have a rollback: MNU | | >> GoferPackageReference class>>name:repository: | | > | | > Can you evaluate | | > | | > [ Gofer gofer load ] | | > on: Error | | > do: [ :err | err retry ]. | | > Gofer gofer recompile. | | > | | > ? I don't have any senders of #name:repository: to | | > GoferPackageReference. | | > | | > Lukas | | > | | > -- | | > Lukas Renggli | | > http://www.lukas-renggli.ch | | > | | > _______________________________________________ | | > Pharo-project mailing list | | > Pharo-project@lists.gforge.inria.fr | | > | http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project | | > | | | | -- | | _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: | | Alexandre Bergel http://www.bergel.eu | | ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;. | | | | | | | | | | | | | | _______________________________________________ | | Pharo-project mailing list | | Pharo-project@lists.gforge.inria.fr | | http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project | | _______________________________________________ | Pharo-project mailing list | Pharo-project@lists.gforge.inria.fr | http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
argh! lukas is it possible to lower the pain of dale? Stef On Dec 27, 2009, at 10:27 PM, Dale Henrichs wrote:
The latest Gofer API is not backward compatible with the earlier versions of the Gofer API. This means that I need to have different versions of Metacello to use with the different versions of Gofer. Unfortunately, I can't use Gofer to detect which version of Gofer is loaded because of the API changes. So I will have to write more code than I'd like to detect which version of Gofer is pre-installed. The API changes also impact the bootstrapping code.
Solving these problems are a larger project than I can undertake on a Sunday and I _am_ on vacation the coming week as well.
So until further notice, if you want to use Metacello 1.0-beta.17 (or earlier) in Pharo you will have to manually ensure Gofer-lr.83 (or earlier) is loaded into your image before attempting to load any Metacello configurations. I'm not sure that you use Gofer to load an earlier version of itself (I'll be finding out in the next few days)...
Metacello 1.0-beta.18 works with Gofer-lr.107 (in pharo 1.0-10502). If you want to use Metacello 1.0-beta.18 (currently in development, so it's subject to change). You will have to manually bootstrap Metacello by executing:
Gofer new gemsource: 'metacello'; package: 'ConfigurationOfMetacello'; load. (Smalltalk at: #ConfigurationOfMetacello) perform: #ensureMetacello18. ((Smalltalk at: #ConfigurationOfMetacello) project version: '1.0-beta.18') load: 'ALL'.
before loading your configuration.
I won't release 1.0-beta.18 until I've resolved the bootstrapping problem. I'm pretty sure that there is a technical solution, but it will take several days for me to get it implemented.
Dale
----- "Dale Henrichs" <dale.henrichs@gemstone.com> wrote:
| Version 1.0-beta.18 (development) should have fixes for the latest | Gofer. 1.0-beta.18 is currently in #development so it is automatically | loaded. When I get the chance to test the Metacello fixes with 10502, | I'll #release 1.0-beta.18 (and will be automatically loaded). | | Dale | ----- "Alexandre Bergel" <alexandre@bergel.eu> wrote: | | | Hi Lukas, | | | | In a fresh 10502 I evaluated: | | -=-=-=-=-=-=-=-=-= | | [ Gofer gofer load ] | | on: Error | | do: [ :err | err retry ]. | | Gofer gofer recompile. | | Gofer new | | squeaksource: 'Mondrian'; | | addPackage: 'ConfigurationOfMondrian'; | | load. | | (Smalltalk at: #ConfigurationOfMondrian) perform: #loadLastStable. | | -=-=-=-=-=-=-=-=-= | | | | I have the same error. | | The error comes from: | | | | -=-=-=-=-=-=-=-=-= | | MetacelloMCProject>>updateProject | | "load the latest version of the configuration package" | | | | | mcLoader | | | (mcLoader := self loader) == nil | | ifTrue: [ mcLoader := self project loaderClass on: nil ]. | | mcLoader doingLoads: [ | | | gofer | | | gofer := Gofer new. | | MCWorkingCopy | | managersForClass: self configuration class | | do: [:mgr | | | gofer add: (GoferPackageReference name: mgr packageName | | repository: mgr repositoryGroup) versionReference. | | Transcript cr; show: 'Loading -> ', mgr packageName, ' <-' ]. | | gofer load ]. | | ^true | | -=-=-=-=-=-=-=-=-= | | | | Cheers, | | Alexandre | | | | On 27 Dec 2009, at 17:27, Lukas Renggli wrote: | | | | >> After proceeding these warnings, I have a rollback: MNU | | >> GoferPackageReference class>>name:repository: | | > | | > Can you evaluate | | > | | > [ Gofer gofer load ] | | > on: Error | | > do: [ :err | err retry ]. | | > Gofer gofer recompile. | | > | | > ? I don't have any senders of #name:repository: to | | > GoferPackageReference. | | > | | > Lukas | | > | | > -- | | > Lukas Renggli | | > http://www.lukas-renggli.ch | | > | | > _______________________________________________ | | > Pharo-project mailing list | | > Pharo-project@lists.gforge.inria.fr | | > | http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project | | > | | | | -- | | _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: | | Alexandre Bergel http://www.bergel.eu | | ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;. | | | | | | | | | | | | | | _______________________________________________ | | Pharo-project mailing list | | Pharo-project@lists.gforge.inria.fr | | http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project | | _______________________________________________ | Pharo-project mailing list | Pharo-project@lists.gforge.inria.fr | http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
| | >> After proceeding these warnings, I have a rollback: MNU | | >> GoferPackageReference class>>name:repository: | | > | | > Can you evaluate | | > | | > Â [ Gofer gofer load ] | | > Â Â Â on: Error | | > Â Â Â do: [ :err | err retry ]. | | > Â Gofer gofer recompile. | | > | | > ? I don't have any senders of #name:repository: to | | > GoferPackageReference.
We can remove the deprecated warnings, but that will not solve the real problem. Metacello is using some internal parts of Gofer that had to be changed to properly support fetch/push operations on multiple repositories. People have to stick with an old version of Gofer/Monticello. That's the same as with Pharo 1.1: Do not use the latest one. Lukas -- Lukas Renggli http://www.lukas-renggli.ch
participants (3)
-
Dale Henrichs -
Lukas Renggli -
Stéphane Ducasse