Hi-
I created an issue in the tracker:
https://code.google.com/p/pharo/issues/detail?id=2697

Some packages that were created with and load fine into Pharo 1.1 release do not load into Gemstone because of the use of WideStrings while creating the mcz files. I don't know how to dissect the mcz files at this time but in describing my issue on the GLASS list, Dale Henrichs was able to reproduce the problem and diagnose it. His diagnosis is pasted below.

To recreate my issue you must be using Gemstone 2.4.4.1, Glass 1.0-beta8.2, and GemTools for Gemstone 2.4.4. First load the ConfigurationOfJQueryWidgetBox package from the Metacello Repository on SqueakSource. Then run:

(ConfigurationOfJQueryWidgetBox project latestVersion)
        load: #('JQWidgetBox-FullCalendar-Core').

It will attempt to load the package but complain that a dependency for the JQFullCalendar Class is not met. The JQFullCalendar class is provided by the JQWidgetBox-FullCalendar-Core package.

Our entire discussion leading up to his diagnosis is here: http://forum.world.st/aFilePackage-cannot-perform-the-selector-preamble-with-the-arguments-in-anArray-aChangeRecord-td2291748.html#a2294376



Is there a way to write the mcz files using something other than WideStrings that will allow me to attempt to load them into Gemstone and perhaps get a different result?

Thanks

Paul

Paul,

Okay, it looks to me like your mcz file(s) are "corrupted" ... probably
due to a bug in Pharo 1.2 (that's the version you're using right?).

In an mcz file the snapshot of the definitions are serialized using two
formats:

    1. a DataStream on an ordered collection of MCDefintions
    2. a chunk-file formatted string.

It appears that for the DataStream, the entire(?) stream is written as a
WideString ... WideString is Squeak/Pharo dependent and is not portable
at all ... this is new. When GemStone hits the widestring an error is
thrown and Monticello tries to use the chunk-file format (which is why
you ran into the preamble probelm ... chunk file format is normally hit
(nor is it desirable to hit it)...

The chunk file-file is partially written as a WideString again...because
   the WideString is not portable it breaks the parsing algorithms for
GemStone ... interestingly enough the chunk-file string looks to be a
WideString for the first hundred characters or so ...

One of three things is happening:

    1. someone in Pharo land decided it was a "good idea" to create mcz
       files using WideString
    2. The that you used to create the class had a WideString in it
    3. there is a bug somewhere in the pharo/monticello implementation

I can't guess which of those 3 the problem is and I can't guess what the
solution might be either.

If you bring up this bug on the Pharo list, I'll monitor the list and if
I can step in and help, I will.

Dale
_______________________________________________
Pharo-project mailing list
[email protected]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project

Reply via email to