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