About loading Seaside into Squeak6.0a-17082 ....

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|

About loading Seaside into Squeak6.0a-17082 ....

Hannes Hirzel
Hello

Loading Seaside into Squeak6.0a-17082 .... gives the following error

Character(Object)>>doesNotUnderstand: #greaseInteger

Details [1]

Is there a particular Squeak6.0a version where Seaside loads fine?
http://files.squeak.org/6.0alpha/

Any suggestions how a fix to Grease should look like?

Regards
--Hannes

---------------------------------------------------------------------------------------------
Character(Object)>>doesNotUnderstand: #greaseInteger
        Receiver: Character null
        Arguments and temporary variables:
                aMessage:       greaseInteger
                exception:      MessageNotUnderstood: Character>>greaseInteger
                resumeValue:    nil
        Receiver's instance variables:
Character null

WAUrlEncoder class>>encode:on:
        Receiver: WAUrlEncoder
        Arguments and temporary variables:
                aCharacter:     Character null
                aStream:        a WriteStream
                printer:        a GRNumberPrinter
        Receiver's instance variables:
                superclass:     WATableBasedEncoder
                methodDict:     a MethodDictionary()
                format:         65538
                instanceVariables:      nil
                organization:   ('as yet unclassified')

                subclasses:     nil
                name:   #WAUrlEncoder
                classPool:      nil
                sharedPools:    nil
                environment:    Smalltalk
                category:       #'Seaside-Core-Document'
                table:  #(nil nil nil nil nil nil nil nil nil nil nil
nil nil nil
nil nil nil ni...etc...

WAUrlEncoder class>>initializeTable
        Receiver: WAUrlEncoder
        Arguments and temporary variables:
                stream:         a WriteStream
                characterLimit:         255
                index:  0
                character:      Character null
                value:  nil
        Receiver's instance variables:
                superclass:     WATableBasedEncoder
                methodDict:     a MethodDictionary()
                format:         65538
                instanceVariables:      nil
                organization:   ('as yet unclassified')

                subclasses:     nil
                name:   #WAUrlEncoder
                classPool:      nil
                sharedPools:    nil
                environment:    Smalltalk
                category:       #'Seaside-Core-Document'
                table:  #(nil nil nil nil nil nil nil nil nil nil nil
nil nil nil
nil nil nil ni...etc...

Reply | Threaded
Open this post in threaded view
|

Re: About loading Seaside into Squeak6.0a-17082 ....

Hannes Hirzel
The issue is that

     GRPlatform current


returns nil.

On 4/26/17, H. Hirzel <[hidden email]> wrote:

> After replacing
>
>       #greaseInteger
>
> with
>
>      #asInteger
>
> I get an error in
>
>
> WAKeyGenerator>>initialize
>
> initialize
> super initialize.
> self generator: GRPlatform current newRandom.
> self space:
> 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_-'
>
>
>
> So there are issues with the Grease compatibility layer.
>
> Maybe the configuration map loads the wrong version?
>
>
> Suggestions?
>
>
> On 4/26/17, H. Hirzel <[hidden email]> wrote:
>> Hello
>>
>> Loading Seaside into Squeak6.0a-17082 .... gives the following error
>>
>> Character(Object)>>doesNotUnderstand: #greaseInteger
>>
>> Details [1]
>>
>> Is there a particular Squeak6.0a version where Seaside loads fine?
>> http://files.squeak.org/6.0alpha/
>>
>> Any suggestions how a fix to Grease should look like?
>>
>> Regards
>> --Hannes
>>
>> ---------------------------------------------------------------------------------------------
>> Character(Object)>>doesNotUnderstand: #greaseInteger
>>         Receiver: Character null
>>         Arguments and temporary variables:
>>                 aMessage:       greaseInteger
>>                 exception:      MessageNotUnderstood:
>> Character>>greaseInteger
>>                 resumeValue:    nil
>>         Receiver's instance variables:
>> Character null
>>
>> WAUrlEncoder class>>encode:on:
>>         Receiver: WAUrlEncoder
>>         Arguments and temporary variables:
>>                 aCharacter:     Character null
>>                 aStream:        a WriteStream
>>                 printer:        a GRNumberPrinter
>>         Receiver's instance variables:
>>                 superclass:     WATableBasedEncoder
>>                 methodDict:     a MethodDictionary()
>>                 format:         65538
>>                 instanceVariables:      nil
>>                 organization:   ('as yet unclassified')
>>
>>                 subclasses:     nil
>>                 name:   #WAUrlEncoder
>>                 classPool:      nil
>>                 sharedPools:    nil
>>                 environment:    Smalltalk
>>                 category:       #'Seaside-Core-Document'
>>                 table:  #(nil nil nil nil nil nil nil nil nil nil nil
>> nil nil nil
>> nil nil nil ni...etc...
>>
>> WAUrlEncoder class>>initializeTable
>>         Receiver: WAUrlEncoder
>>         Arguments and temporary variables:
>>                 stream:         a WriteStream
>>                 characterLimit:         255
>>                 index:  0
>>                 character:      Character null
>>                 value:  nil
>>         Receiver's instance variables:
>>                 superclass:     WATableBasedEncoder
>>                 methodDict:     a MethodDictionary()
>>                 format:         65538
>>                 instanceVariables:      nil
>>                 organization:   ('as yet unclassified')
>>
>>                 subclasses:     nil
>>                 name:   #WAUrlEncoder
>>                 classPool:      nil
>>                 sharedPools:    nil
>>                 environment:    Smalltalk
>>                 category:       #'Seaside-Core-Document'
>>                 table:  #(nil nil nil nil nil nil nil nil nil nil nil
>> nil nil nil
>> nil nil nil ni...etc...
>>
>

Reply | Threaded
Open this post in threaded view
|

Re: [Seaside] About loading Seaside into Squeak6.0a-17082 ....

Edgar De Cleene
So you are saying 5.1 could load Seaside with Grease loaded first ?
If this works, I could load it in the in the works FunSqueakRos5dot1 and then fix the references to BlockContext an MethodContext , put the relevant .mcz into Ladrillos repository we at using in squeak source with Hannes.

And we could have a Squeak loadable Seaside in 6.0.


On Apr 26, 2017, at 18:26, Tobias Pape <[hidden email]> wrote:

Hi
On 26.04.2017, at 22:31, Dale Henrichs <[hidden email]> wrote:


On 04/26/2017 11:08 AM, Tobias Pape wrote:
Hi,
(cc squeak-dev)

On 26.04.2017, at 19:52, Esteban A. Maringolo <[hidden email]> wrote:

You should have a GRSqueakPlatform as subclass, and then evaluate
"GRSqueakPlatform select", this will create and assign the new
instance as GRPlatform singleton.

Sadly, in his image won't be a GRSqueakPlatform.
Why? because (SystemVersion current version asString) returns 'Squeak6.0alpha', but
MetacelloSqueakPlatform>>defaultPlatformAttributes does not know about that.
And ConfigurationOfGrease>>baseline117: only has an idea of #'squeak4.x' and #'squeak5.x'.

I've no good idea how to fix that yet.
submit a pull request for the Metacello project on github[1] and update the method MetacelloSqueakPlatform>>defaultPlatformAttributes[2] with your new Squeak versions added to the list ...

If you want to avoid having to update Metacello for each new Squeak release, add something along the lines of what pharo has been doing for a few years[3] ... then you only need to remember to update that method ... but at least it will be part of the base image ...

For GemStone I've included code to generate the default attributes for GemStone based on the GemStone version number ...


Hey Dale, those are good ideas and I've thought about that, too.
However, that does not help on its own. because even if this brought us, eg, #'squeak6.x' or #'squeak6alpha', Grease would pick none of them.

So, this could work:
1. have an extraction like gemstone below, but
2. ALSO identify as #'squeakTrunk' if version string ends in 'alpha', and
3. Change grease baseline 117 (or push number here?) the specific line from #'squeak5.x' to
 a. either #( 'squeak5.x' 'squeak6.x')
 b. or #( 'squeak5.x' 'squeakTrunk')
 c. or have #'squeak6.x' separate.

@squeak-dev: hoping you are ok with (1), are you ok with (2)?
@seaside-dev: would you rather like (3a), (3b), or (3c)?

Best regards
-Tobias



Dale

[1] https://github.com/dalehenrich/metacello-work
[2] https://github.com/dalehenrich/metacello-work/blob/master/repository/Metacello-Platform.squeak.package/MetacelloSqueakPlatform.class/instance/defaultPlatformAttributes.st#L11-L19
[3] https://github.com/dalehenrich/metacello-work/blob/master/repository/Metacello-PharoCommonPlatform.package/MetacelloPharoCommonPlatform.class/instance/defaultPlatformAttributes.st#L4-L5
[4] https://github.com/dalehenrich/metacello-work/blob/master/repository/Metacello-Platform.gemstone.package/MetacelloGemStonePlatform.class/instance/extractAtrributesFrom..st

Any takers?

best regards
-Tobias


Regards.
Esteban A. Maringolo


2017-04-26 14:27 GMT-03:00 H. Hirzel <[hidden email]>:
The issue is that

   GRPlatform current


returns nil.

On 4/26/17, H. Hirzel <[hidden email]> wrote:
After replacing

    #greaseInteger

with

   #asInteger

I get an error in


WAKeyGenerator>>initialize

initialize
    super initialize.
    self generator: GRPlatform current newRandom.
    self space:
'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_-'



So there are issues with the Grease compatibility layer.

Maybe the configuration map loads the wrong version?


Suggestions?


On 4/26/17, H. Hirzel <[hidden email]> wrote:
Hello

Loading Seaside into Squeak6.0a-17082 .... gives the following error

Character(Object)>>doesNotUnderstand: #greaseInteger

Details [1]

Is there a particular Squeak6.0a version where Seaside loads fine?
http://files.squeak.org/6.0alpha/

Any suggestions how a fix to Grease should look like?

Regards
--Hannes

---------------------------------------------------------------------------------------------
Character(Object)>>doesNotUnderstand: #greaseInteger
      Receiver: Character null
      Arguments and temporary variables:
              aMessage:       greaseInteger
              exception:      MessageNotUnderstood:
Character>>greaseInteger
              resumeValue:    nil
      Receiver's instance variables:
Character null

WAUrlEncoder class>>encode:on:
      Receiver: WAUrlEncoder
      Arguments and temporary variables:
              aCharacter:     Character null
              aStream:        a WriteStream
              printer:        a GRNumberPrinter
      Receiver's instance variables:
              superclass:     WATableBasedEncoder
              methodDict:     a MethodDictionary()
              format:         65538
              instanceVariables:      nil
              organization:   ('as yet unclassified')

              subclasses:     nil
              name:   #WAUrlEncoder
              classPool:      nil
              sharedPools:    nil
              environment:    Smalltalk
              category:       #'Seaside-Core-Document'
              table:  #(nil nil nil nil nil nil nil nil nil nil nil
nil nil nil
nil nil nil ni...etc...

WAUrlEncoder class>>initializeTable
      Receiver: WAUrlEncoder
      Arguments and temporary variables:
              stream:         a WriteStream
              characterLimit:         255
              index:  0
              character:      Character null
              value:  nil
      Receiver's instance variables:
              superclass:     WATableBasedEncoder
              methodDict:     a MethodDictionary()
              format:         65538
              instanceVariables:      nil
              organization:   ('as yet unclassified')

              subclasses:     nil
              name:   #WAUrlEncoder
              classPool:      nil
              sharedPools:    nil
              environment:    Smalltalk
              category:       #'Seaside-Core-Document'
              table:  #(nil nil nil nil nil nil nil nil nil nil nil
nil nil nil
nil nil nil ni...etc...

_______________________________________________
seaside mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
_______________________________________________
seaside mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
_______________________________________________
seaside mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside

_______________________________________________
seaside mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside



Reply | Threaded
Open this post in threaded view
|

Re: [Seaside] About loading Seaside into Squeak6.0a-17082 ....

Tobias Pape

> On 27.04.2017, at 00:23, Edgar De Cleene <[hidden email]> wrote:
>
> So you are saying 5.1 could load Seaside with Grease loaded first ?

Should work out of the box (grease would be loaded nevertheless with Seaside)

> If this works, I could load it in the in the works FunSqueakRos5dot1 and then fix the references to BlockContext an MethodContext , put the relevant .mcz into Ladrillos repository we at using in squeak source with Hannes.
>
> And we could have a Squeak loadable Seaside in 6.0.

Sorry, I don't understand what process you are proposing…

Best regards
        -Tobias


>
>
>> On Apr 26, 2017, at 18:26, Tobias Pape <[hidden email]> wrote:
>>
>> Hi
>>> On 26.04.2017, at 22:31, Dale Henrichs <[hidden email]> wrote:
>>>
>>>
>>> On 04/26/2017 11:08 AM, Tobias Pape wrote:
>>>> Hi,
>>>> (cc squeak-dev)
>>>>
>>>>> On 26.04.2017, at 19:52, Esteban A. Maringolo <[hidden email]> wrote:
>>>>>
>>>>> You should have a GRSqueakPlatform as subclass, and then evaluate
>>>>> "GRSqueakPlatform select", this will create and assign the new
>>>>> instance as GRPlatform singleton.
>>>>>
>>>> Sadly, in his image won't be a GRSqueakPlatform.
>>>> Why? because (SystemVersion current version asString) returns 'Squeak6.0alpha', but
>>>> MetacelloSqueakPlatform>>defaultPlatformAttributes does not know about that.
>>>> And ConfigurationOfGrease>>baseline117: only has an idea of #'squeak4.x' and #'squeak5.x'.
>>>>
>>>> I've no good idea how to fix that yet.
>>> submit a pull request for the Metacello project on github[1] and update the method MetacelloSqueakPlatform>>defaultPlatformAttributes[2] with your new Squeak versions added to the list ...
>>>
>>> If you want to avoid having to update Metacello for each new Squeak release, add something along the lines of what pharo has been doing for a few years[3] ... then you only need to remember to update that method ... but at least it will be part of the base image ...
>>>
>>> For GemStone I've included code to generate the default attributes for GemStone based on the GemStone version number ...
>>>
>>
>> Hey Dale, those are good ideas and I've thought about that, too.
>> However, that does not help on its own. because even if this brought us, eg, #'squeak6.x' or #'squeak6alpha', Grease would pick none of them.
>>
>> So, this could work:
>> 1. have an extraction like gemstone below, but
>> 2. ALSO identify as #'squeakTrunk' if version string ends in 'alpha', and
>> 3. Change grease baseline 117 (or push number here?) the specific line from #'squeak5.x' to
>>  a. either #( 'squeak5.x' 'squeak6.x')
>>  b. or #( 'squeak5.x' 'squeakTrunk')
>>  c. or have #'squeak6.x' separate.
>>
>> @squeak-dev: hoping you are ok with (1), are you ok with (2)?
>> @seaside-dev: would you rather like (3a), (3b), or (3c)?
>>
>> Best regards
>> -Tobias
>>
>>
>>
>>> Dale
>>>
>>> [1] https://github.com/dalehenrich/metacello-work
>>> [2] https://github.com/dalehenrich/metacello-work/blob/master/repository/Metacello-Platform.squeak.package/MetacelloSqueakPlatform.class/instance/defaultPlatformAttributes.st#L11-L19
>>> [3] https://github.com/dalehenrich/metacello-work/blob/master/repository/Metacello-PharoCommonPlatform.package/MetacelloPharoCommonPlatform.class/instance/defaultPlatformAttributes.st#L4-L5
>>> [4] https://github.com/dalehenrich/metacello-work/blob/master/repository/Metacello-Platform.gemstone.package/MetacelloGemStonePlatform.class/instance/extractAtrributesFrom..st
>>>>
>>>> Any takers?
>>>>
>>>> best regards
>>>> -Tobias
>>>>
>>>>
>>>>> Regards.
>>>>> Esteban A. Maringolo
>>>>>
>>>>>
>>>>> 2017-04-26 14:27 GMT-03:00 H. Hirzel <[hidden email]>:
>>>>>> The issue is that
>>>>>>
>>>>>>    GRPlatform current
>>>>>>
>>>>>>
>>>>>> returns nil.
>>>>>>
>>>>>> On 4/26/17, H. Hirzel <[hidden email]> wrote:
>>>>>>> After replacing
>>>>>>>
>>>>>>>     #greaseInteger
>>>>>>>
>>>>>>> with
>>>>>>>
>>>>>>>    #asInteger
>>>>>>>
>>>>>>> I get an error in
>>>>>>>
>>>>>>>
>>>>>>> WAKeyGenerator>>initialize
>>>>>>>
>>>>>>> initialize
>>>>>>>     super initialize.
>>>>>>>     self generator: GRPlatform current newRandom.
>>>>>>>     self space:
>>>>>>> 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_-'
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> So there are issues with the Grease compatibility layer.
>>>>>>>
>>>>>>> Maybe the configuration map loads the wrong version?
>>>>>>>
>>>>>>>
>>>>>>> Suggestions?
>>>>>>>
>>>>>>>
>>>>>>> On 4/26/17, H. Hirzel <[hidden email]> wrote:
>>>>>>>> Hello
>>>>>>>>
>>>>>>>> Loading Seaside into Squeak6.0a-17082 .... gives the following error
>>>>>>>>
>>>>>>>> Character(Object)>>doesNotUnderstand: #greaseInteger
>>>>>>>>
>>>>>>>> Details [1]
>>>>>>>>
>>>>>>>> Is there a particular Squeak6.0a version where Seaside loads fine?
>>>>>>>> http://files.squeak.org/6.0alpha/
>>>>>>>>
>>>>>>>> Any suggestions how a fix to Grease should look like?
>>>>>>>>
>>>>>>>> Regards
>>>>>>>> --Hannes
>>>>>>>>
>>>>>>>> ---------------------------------------------------------------------------------------------
>>>>>>>> Character(Object)>>doesNotUnderstand: #greaseInteger
>>>>>>>>       Receiver: Character null
>>>>>>>>       Arguments and temporary variables:
>>>>>>>>               aMessage:       greaseInteger
>>>>>>>>               exception:      MessageNotUnderstood:
>>>>>>>> Character>>greaseInteger
>>>>>>>>               resumeValue:    nil
>>>>>>>>       Receiver's instance variables:
>>>>>>>> Character null
>>>>>>>>
>>>>>>>> WAUrlEncoder class>>encode:on:
>>>>>>>>       Receiver: WAUrlEncoder
>>>>>>>>       Arguments and temporary variables:
>>>>>>>>               aCharacter:     Character null
>>>>>>>>               aStream:        a WriteStream
>>>>>>>>               printer:        a GRNumberPrinter
>>>>>>>>       Receiver's instance variables:
>>>>>>>>               superclass:     WATableBasedEncoder
>>>>>>>>               methodDict:     a MethodDictionary()
>>>>>>>>               format:         65538
>>>>>>>>               instanceVariables:      nil
>>>>>>>>               organization:   ('as yet unclassified')
>>>>>>>>
>>>>>>>>               subclasses:     nil
>>>>>>>>               name:   #WAUrlEncoder
>>>>>>>>               classPool:      nil
>>>>>>>>               sharedPools:    nil
>>>>>>>>               environment:    Smalltalk
>>>>>>>>               category:       #'Seaside-Core-Document'
>>>>>>>>               table:  #(nil nil nil nil nil nil nil nil nil nil nil
>>>>>>>> nil nil nil
>>>>>>>> nil nil nil ni...etc...
>>>>>>>>
>>>>>>>> WAUrlEncoder class>>initializeTable
>>>>>>>>       Receiver: WAUrlEncoder
>>>>>>>>       Arguments and temporary variables:
>>>>>>>>               stream:         a WriteStream
>>>>>>>>               characterLimit:         255
>>>>>>>>               index:  0
>>>>>>>>               character:      Character null
>>>>>>>>               value:  nil
>>>>>>>>       Receiver's instance variables:
>>>>>>>>               superclass:     WATableBasedEncoder
>>>>>>>>               methodDict:     a MethodDictionary()
>>>>>>>>               format:         65538
>>>>>>>>               instanceVariables:      nil
>>>>>>>>               organization:   ('as yet unclassified')
>>>>>>>>
>>>>>>>>               subclasses:     nil
>>>>>>>>               name:   #WAUrlEncoder
>>>>>>>>               classPool:      nil
>>>>>>>>               sharedPools:    nil
>>>>>>>>               environment:    Smalltalk
>>>>>>>>               category:       #'Seaside-Core-Document'
>>>>>>>>               table:  #(nil nil nil nil nil nil nil nil nil nil nil
>>>>>>>> nil nil nil
>>>>>>>> nil nil nil ni...etc...
>>>>>>>>
>>>>>> _______________________________________________
>>>>>> seaside mailing list
>>>>>> [hidden email]
>>>>>> http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
>>>>> _______________________________________________
>>>>> seaside mailing list
>>>>> [hidden email]
>>>>> http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
>>>> _______________________________________________
>>>> seaside mailing list
>>>> [hidden email]
>>>> http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
>>>
>>> _______________________________________________
>>> seaside mailing list
>>> [hidden email]
>>> http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
>
>


Reply | Threaded
Open this post in threaded view
|

Re: [Seaside] About loading Seaside into Squeak6.0a-17082 ....

Hannes Hirzel
Hello Tobias

Your hint [1] and the remarks by Esteban and Dale allowed me to load
Seaside into a Squeak6.0alpha-17082 image (points a and b below) and
the most recent Squeak6.0alpha-17227 (point c below) with some
workarounds.


a) I had to patch [2]

      MetacelloSqueakPlatform>>defaultPlatformAttributes

    in a way so that it gives the same result as in Squeak 5.1 where
everything works fine [3]


b)  Before opening the Seaside control panel (World menu / open) I had
to call the following
     initialisation code manually.

         WAServerManager initialize.
         WAKeyGenerator initialize.
         WAResponse initialize.

     With this the initial Seaside screen came up and I could create a
component
     and browse the examples.

    Maybe there are more objects to initialize, however the tests (see
point c) seem to
    indicate that it is probably sufficient.

    It seems that some startup / initialisation code does not get
registered / called after loading.



c) Points a) and b) are for Squeak6.0alpha-17082 and for Squeak
6.0alpha-17227 (= the most
   recent one).
   So this point is about what you have to do in addition to make
Seaside load in
   Squeak 6.0alpha-17227.


   In Squeak6.0alpha-17082 we still have the class BlockContext.

   In the more recent versions (current is 17227)
   the classes BlockContext and ContextPart are no longer in the
image. Only Context.




   To load MetaCello you need to add a (temporary) subclass to context

   Context variableSubclass: #BlockContext
        instanceVariableNames: ''
        classVariableNames: ''
        poolDictionaries: ''
        category: 'Kernel-Methods'

   And for Seaside to load

      Context variableSubclass: #ContextPart
        instanceVariableNames: ''
        classVariableNames: ''
        poolDictionaries: ''
        category: 'Kernel-Methods'

With this workaround Seaside loads fine and when I run all tests in
categories starting with 'Seaside-Tests-'  then I get 914 passes out
ot 915. [4]



Conclusion:
----------------

It seems that there are no  changes in Squeak6.0a so far which are
show stoppers for Seaside.

The current result is fine for me at the moment and I will look into
this issue later in the release cycle of Squeak 6.0a. The remarks by
Dale will be helpful to do so.

Esteban, Dale and Tobias, thank you for your help.


Regards

--Hannes





////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

[1]  defaultPlatformAttributes

On 4/26/17, Tobias Pape <[hidden email]> wrote:
[snip]
>
> Hannes, since I have not much time atm for Seaside, can you try out a bit
> yourself?
> You should get things loaded at least if you make
> `MetacelloSqueakPlatform>>defaultPlatformAttributes` return #'squeak5.0'
>
> best regards
> -Tobias
>



[2]

      MetacelloSqueakPlatform>>defaultPlatformAttributes


defaultPlatformAttributes
"self new defaultPlatformAttributes"
        | attributes  |
        attributes := OrderedCollection with: #squeakCommon with: #squeak.
        Smalltalk
                at: #SystemVersion
                ifPresent: [:cl | |versionString|
                        versionString := cl current version asString.
                        " Major version "
                        #( 'Squeak3.10' (#'squeak3.10.x' ())
                                'Squeak4' (#'squeak4.x' (
                                        'Squeak4.1' #'squeak4.1.x'
                                        'Squeak4.2' #'squeak4.2.x'
                                        'Squeak4.3' #'squeak4.3.x'
                                        'Squeak4.4' #'squeak4.4.x'
                                        'Squeak4.5' #'squeak4.5.x'
                                        'Squeak4.6' #'squeak4.6.x'))
                                'Squeak5' (#'squeak5.x' (
                                        'Squeak5.0' #'squeak5.0.x')))
                        pairsDo: [:major :allAttributes |
                                (versionString beginsWith: major) ifTrue: [
                                        attributes add: allAttributes first.
                                        allAttributes second ifNotEmpty: [:minorVersions |
                                                minorVersions pairsDo: [:minor :attribute |
                                                        (versionString beginsWith: minor) ifTrue: [
                                                                attributes add: attribute.
                                                                ^ attributes]]]]]].
               

        "HACK HJH to load Seaside into Squeak6.0a"
        attributes add: #'squeak5.x'.
               
        ^ attributes







////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

 [3]  Seaside runs fine in Squeak 5.1 as show here

https://travis-ci.org/SeasideSt/Seaside
Seaside loads fine in Squeak 5.1
https://travis-ci.org/SeasideSt/Seaside/jobs/204692009



////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

[4] The test which fails is


WAGenericCodecTest

testGenericCodecMacRoman
        | codec |
        codec := GRCodec forEncoding: 'mac-roman'.
        self assert: (codec isKindOf: GRPharoGenericCodec).
        self assert: codec name = 'mac-roman'.
        self assert: codec url name = 'utf-8'.
        self assert: (codec url isKindOf: GRPharoUtf8Codec).
        self assert: (codec encode: self latin1String) = self macromanString.
        self assert: (codec url encode: self latin1String) = self utf8String.
        self assert: (codec decode: self macromanString) = self latin1String.
        self assert: (codec url decode: self utf8String) = self latin1String