Magma on 3.10

Esteban Lorenzano estebanlm at gmail.com
Fri Feb 8 18:13:33 UTC 2008


Hi,
Thanks for the answers... I'm "rollbacked" my changes and started form 
zero againg... with 3.10 image but without damien's pre-builts (I don't 
need Rio or other things, so... I did an image from scratch). And 
voila! no more problems... so, my wrong hack is not alive anymore.
I'm sorry, I did not send an stack trace because I don't know how to get it :(

Cheers,
Esteban

On 2008-02-08 02:00:49 -0200, "Chris Muller" <asqueaker at gmail.com> said:

>> Hi,
>> I just installed magma on a squeak-dev image (from Damien Cassou) based
>> on build 7159 (latest 3.10 image)
> 
> My, that image sure is gettin' pretty these days..
> 
>> I load packages "magma client 1.0 (r40)", "magma server 1.0 (r40)" and
> 
> You don't need to load them all.  Server includes client.  Tester
> includes server includes client.
> 
>> "magma tester 1.0 (r40)" from universes and executed first "getting
>> started" code, with a very simple modification:
>> 
>> MagmaRepositoryController
>> create: (FileDirectory default directoryNamed: 'repository') fullName
>> root: Dictionary new
> 
> Great, thanks for the code.
> 
>> executing this code throws a doesNotUnderstood: #open on ByteString.
>> The message call comes from MaFileStreamPool>>renewAccess:
> 
> Note for the future, stack traces are useful.
> 
>> Same code executed on a 3.9 image (from Damien Cassou, too) works fine.
>> Is there a possible solution for this? i really need to run magma on
>> 3.10 images.
> 
> Well, the problem is caused by the Rio package overriding Object>>#in:
> with Stream>>#in:.  I recommend deleting Stream>>#in: from Rio
> because:
> 
>   - It violates Smalltalk best-practices by overriding #in: with
> something of different semantics.
>   - The semantics are different because it answers the FILENAME
> string, of all things, instead of the value of the block.  So it is
> less useful too.
>   - Further, closing the file with such basic method as #in: is too
> presumtious.  We already have FileStream>>#detectFile:do: to serve the
> intended purpose, but with even more power and flexibility.
> 
> The #yourself you added is an incorrect fix, since it will leave the
> file closed instead of open.  It probably only worked for you out of
> luck and the resilience of the surrounding code..
> 
> Regards,
>  Chris





More information about the Magma mailing list