Hi,
this is the first unkempt attempt to produce SqueakCore image from Squeak4.4-12324. It generates 3 MB dirty image (3.2 with Unicode tables). Some overrides have only logging purpose. Cheers, -- Pavel |
On 12/30/12, Pavel Krivanek <[hidden email]> wrote:
> Hi, > > this is the first unkempt attempt to produce SqueakCore image from > Squeak4.4-12324. It generates 3 MB dirty image (3.2 with Unicode > tables). Some overrides have only logging purpose. > > Cheers, > -- Pavel > Hello Pavel and others Thank you for your first attempt. I assume I have to file in first patch001.st as it contains various dummy classes and fixes to existing classes. (DummyProject, DummyUIManager, ,.... ClassOrganizer, PointerFinder, ScriptLauncher, ...) However the attached error comes up and a debugger in method primWrite: id from: stringOrByteArray startingAt: startIndex count: count of MultiByteFileStream This is on a Windows 7 machine with a recent VM. Could anybody else check the file-in of Pavel's patch001.st as well? The the info.st file is copied in below [1]. It refers to the class FileSystem, a class which is not (yet) in Squeak. The Squeak equivalent would be FSFileSystem. A minimal installation for the Filesystem in Squeak is (Installer wiresong project: 'mc') addPackage: 'FS-Core'; addPackage: 'FS-Disk'; addPackage: 'FS-Tests-Core'; addPackage: 'FS-Tests-Disk'; install. So we need to adapt info.st and patch001.st and besides FSFilesystem maybe other artefacts have to be loaded into http://www.squeakci.org/job/SqueakTrunk/ Regards Hannes Note: In Squeak we have for example root := FSFilesystem onDisk root. whereas in Pharo it is root := FileSystem disk root. besides this I have not found any other differences yet. [1] Pavel's info.st file [ | info lines dict unimplemented sends unsent o printWithReferences printedObjects | info := "(((Smalltalk vm getSystemAttribute: 3) ifNil: [FileSystem disk workingDirectory] ifNotNilDo: [:path | FileSystem disk workingDirectory resolve: path])" FileStream forceNewFileNamed: 'info.txt'. Undeclared removeUnreferencedKeys. info nextPutAll: 'Project: ', Project current ; cr; cr. info nextPutAll: 'Processes: ' ; cr; cr. Process allInstances do: [:p | info nextPutAll: ' - ', p asString; cr]. info nextPutAll: Project uiProcess asString; cr. " TextConstants associationsDo: [:a | info nextPutAll: a key, ' -> ', ([a value asString] ifError: ['ERROR']); cr.]. " info cr. info nextPutAll: 'globals:', ((Smalltalk globals associations select: [:a | a value isBehavior not]) collect: [:a | a key ] )asString; cr. info nextPutAll: 'Obsolete:'; cr. info nextPutAll: SystemNavigation default obsoleteClasses asString; cr; cr. printedObjects := IdentitySet new. printWithReferences := [:object :depth | depth <= 3 ifTrue: [ depth timesRepeat: [info tab]. (printedObjects includes: object) ifTrue: ["info nextPutAll: '*****'; cr"] ifFalse: [ printedObjects add: object. [info nextPutAll: object asString; cr.] ifError: [info nextPutAll: '--- PRINT ERRROR ---'; cr]. (PointerFinder pointersTo: object) do: [:ref | printWithReferences value: ref value: depth+1].] ]]. o := SystemNavigation default obsoleteClasses select: [:oc | oc allInstances size > 0]. info nextPutAll: o asString; cr. o := nil. Smalltalk garbageCollect. info cr. "printWithReferences value: (SystemNavigation default obsoleteClasses at: 1) value: 1." info cr. info nextPutAll: 'Behaviors count:'; cr. info nextPutAll: Smalltalk allClassesAndTraits size asString; cr; cr. info nextPutAll: 'Undeclared:'; cr. info nextPutAll: Undeclared asString; cr; cr. info nextPutAll: 'Undeclared sorted by name:'; cr. dict := IdentityDictionary new. Smalltalk allClassesAndTraits do: [:c | c localSelectors do: [:sel | dict at: (c compiledMethodAt: sel) put: (c -> sel)]. c isTrait ifFalse: [ c class localSelectors do: [:sel | dict at: (c class compiledMethodAt: sel) put: (c class -> sel)]]]. lines := SortedCollection new. Undeclared associations do: [:assoc | info nextPutAll: assoc key; cr. [ ((PointerFinder pointersTo: assoc) select: [:ref | ref class = CompiledMethod]) do: [:cm | info nextPutAll: ' - ', (dict at: cm ifAbsent: ['method not found']) asString; cr. lines add: (dict at: cm) key asString, ' >> ', (dict at: cm) value asString, ' (', assoc key asString, ')'. ] ] ifError: [:e | info nextPutAll: '--error-- ', e asString; cr.]]. info cr; nextPutAll: 'Undeclared sorted by class:'; cr. lines do: [:l | info nextPutAll: l asString; cr.]. info cr. info nextPutAll: 'Unimplemented calls size:'; space. info nextPutAll: SystemNavigation default allUnimplementedCalls size asString. info cr; cr. info nextPutAll: 'Unimplemented calls:'; cr; cr. unimplemented := SystemNavigation default allUnimplementedCalls asSortedCollection. sends := OrderedCollection new. unimplemented do: [:call | | pos | pos := (call findString: ' calls: '). ((call allButFirst: (pos + 7)) findTokens: ' ') do: [:send | sends add: (send asString, ' calledBy: ', (call first: pos))]. info nextPutAll: call asString; cr.]. info cr. sends asSortedCollection do: [:call | info nextPutAll: call asString; cr.]. " unsent := SystemNavigation default allUnsentMessages. info cr; nextPutAll: 'Unsent messages size: '; nextPutAll: unsent size asString; cr; cr. info cr; nextPutAll: 'Unsent messages:'; cr. unsent asSortedCollection do: [:message | info nextPutAll: message; cr. ]. " info cr; nextPutAll: 'allClassesAndTraits:'. Smalltalk allClassesAndTraits do: [:c | info nextPutAll: c name asString; space]. info cr. info cr; nextPutAll: 'finished...'. info close. SmalltalkImage current snapshot: false andQuit: true. ] ifError: [:e | | rep | rep := FileStream forceNewFileNamed: 'PharoDebug.log'. rep nextPutAll: 'info.st'; cr. rep nextPutAll: 'Error:'; cr. rep nextPutAll: e asString; cr. rep nextPutAll: thisContext stack size asString. thisContext stack copy withIndexDo: [:stck :i | [rep nextPutAll: i asString; space; nextPutAll: stck asString; cr] ifError: []]. rep close. Smalltalk exitFailure] TestSqueak4.4-12324-Failure-Loading-PavelK-patch001-for-minimal-image.gif (70K) Download Attachment |
On Sun, Dec 30, 2012 at 2:35 PM, H. Hirzel <[hidden email]> wrote:
> On 12/30/12, Pavel Krivanek <[hidden email]> wrote: >> Hi, >> >> this is the first unkempt attempt to produce SqueakCore image from >> Squeak4.4-12324. It generates 3 MB dirty image (3.2 with Unicode >> tables). Some overrides have only logging purpose. >> >> Cheers, >> -- Pavel >> > > Hello Pavel and others > > Thank you for your first attempt. > > I assume I have to file in first > patch001.st this file makes it all, the name is a little bit confusing. Tt should be passed as command line argument to a fresh image. It was tested only on Linux. > as it contains various dummy classes and fixes to existing classes. > (DummyProject, DummyUIManager, ,.... ClassOrganizer, PointerFinder, > ScriptLauncher, ...) this is the list of rewrites: AutoStart class>>startUp: - this method must be rewriten to make network and plugin usage optional ReadOnlyVariableBinding>>value: - ad hoc patch for writes of Undelclared, I guess it can be solved with propper exception handling without modifying of this method SmalltalkImage>>snapshot:andQuit:embedded: - some minor things like "Project current wakeUpTopWindow." should be delegated to UIManager SmalltalkImage>>send:toClassesNamedIn:with: - only logging to stdout added, can be removed SmalltalkImage>>setPlatformPreferences - SoundPlayer direct usage must be removed Encoder>>undeclared: - only logging to stdout added, can be removed Behavior>>compileAllFrom: - only logging to stdout added, can be removed DisplayScreen>>newDepthNoRestore: - delegation to UIManager, MorphicUIManager implementation should be added String>>translated - need some nice refactoring to make GetText package dependency optional > > However the attached error comes up and a debugger in method > primWrite: id from: stringOrByteArray startingAt: startIndex count: count > > of MultiByteFileStream > > This is on a Windows 7 machine with a recent VM. > > Could anybody else check the file-in of Pavel's patch001.st as well? > > The the info.st file is copied in below [1]. > > It refers to the class FileSystem, a class which is not (yet) in > Squeak. The Squeak equivalent would be FSFileSystem. This part of the script can be removed or rewriten for Squeak, it was used by CI server in the past. > > A minimal installation for the Filesystem in Squeak is > > (Installer wiresong project: 'mc') > addPackage: 'FS-Core'; > addPackage: 'FS-Disk'; > addPackage: 'FS-Tests-Core'; > addPackage: 'FS-Tests-Disk'; > install. > > So we need to adapt info.st and patch001.st > > and besides FSFilesystem maybe other artefacts have to be loaded into > > http://www.squeakci.org/job/SqueakTrunk/ > > > > Regards > > Hannes > > > > Note: > In Squeak we have for example > > root := FSFilesystem onDisk root. > > whereas in Pharo it is > > root := FileSystem disk root. > > besides this I have not found any other differences yet. > > > > > > > > > [1] Pavel's info.st file > > > > [ > > | info lines dict unimplemented sends unsent o printWithReferences > printedObjects | > > info := "(((Smalltalk vm getSystemAttribute: 3) ifNil: [FileSystem > disk workingDirectory] ifNotNilDo: [:path | FileSystem disk > workingDirectory resolve: path])" > FileStream forceNewFileNamed: 'info.txt'. > > > Undeclared removeUnreferencedKeys. > > info nextPutAll: 'Project: ', Project current ; cr; cr. > > info nextPutAll: 'Processes: ' ; cr; cr. > Process allInstances do: [:p | > info nextPutAll: ' - ', p asString; cr]. > > > info nextPutAll: Project uiProcess asString; cr. > > " > TextConstants associationsDo: [:a | > info nextPutAll: a key, ' -> ', ([a value asString] ifError: ['ERROR']); cr.]. > " > > > info cr. > > > info nextPutAll: 'globals:', ((Smalltalk globals associations select: > [:a | a value isBehavior not]) collect: [:a | a key ] )asString; cr. > > > > > info nextPutAll: 'Obsolete:'; cr. > info nextPutAll: SystemNavigation default obsoleteClasses asString; cr; cr. > > printedObjects := IdentitySet new. > > printWithReferences := [:object :depth | > depth <= 3 ifTrue: [ > depth timesRepeat: [info tab]. > (printedObjects includes: object) > ifTrue: ["info nextPutAll: '*****'; cr"] > ifFalse: [ > printedObjects add: object. > [info nextPutAll: object asString; cr.] ifError: [info nextPutAll: > '--- PRINT ERRROR ---'; cr]. > (PointerFinder pointersTo: object) do: [:ref | > printWithReferences value: ref value: depth+1].] > ]]. > > o := SystemNavigation default obsoleteClasses select: [:oc | oc > allInstances size > 0]. > info nextPutAll: o asString; cr. > o := nil. > > Smalltalk garbageCollect. > > info cr. > > "printWithReferences value: (SystemNavigation default obsoleteClasses > at: 1) value: 1." > > > > info cr. > > info nextPutAll: 'Behaviors count:'; cr. > info nextPutAll: Smalltalk allClassesAndTraits size asString; cr; cr. > > info nextPutAll: 'Undeclared:'; cr. > info nextPutAll: Undeclared asString; cr; cr. > > info nextPutAll: 'Undeclared sorted by name:'; cr. > > dict := IdentityDictionary new. > Smalltalk allClassesAndTraits do: [:c | > c localSelectors do: [:sel | > dict at: (c compiledMethodAt: sel) put: (c -> sel)]. > c isTrait ifFalse: [ > c class localSelectors do: [:sel | > dict at: (c class compiledMethodAt: sel) put: > (c class -> sel)]]]. > > lines := SortedCollection new. > > Undeclared associations do: [:assoc | > info nextPutAll: assoc key; cr. > [ > ((PointerFinder pointersTo: assoc) select: [:ref | ref class = > CompiledMethod]) do: [:cm | > info nextPutAll: ' - ', (dict at: cm ifAbsent: ['method not > found']) asString; cr. > lines add: (dict at: cm) key asString, ' >> ', (dict at: cm) > value asString, ' (', assoc key asString, ')'. ] > ] ifError: [:e | info nextPutAll: '--error-- ', e asString; cr.]]. > > info cr; nextPutAll: 'Undeclared sorted by class:'; cr. > lines do: [:l | info nextPutAll: l asString; cr.]. > > info cr. > > > > info nextPutAll: 'Unimplemented calls size:'; space. > info nextPutAll: SystemNavigation default allUnimplementedCalls size asString. > info cr; cr. > info nextPutAll: 'Unimplemented calls:'; cr; cr. > unimplemented := SystemNavigation default allUnimplementedCalls > asSortedCollection. > sends := OrderedCollection new. > unimplemented do: [:call | > | pos | > pos := (call findString: ' calls: '). > ((call allButFirst: (pos + 7)) findTokens: ' ') do: [:send | > sends add: (send asString, ' calledBy: ', (call first: pos))]. > info nextPutAll: call asString; cr.]. > info cr. > sends asSortedCollection do: [:call | > info nextPutAll: call asString; cr.]. > > " > unsent := SystemNavigation default allUnsentMessages. > > info cr; nextPutAll: 'Unsent messages size: '; nextPutAll: unsent size > asString; cr; cr. > info cr; nextPutAll: 'Unsent messages:'; cr. > unsent asSortedCollection do: [:message | info nextPutAll: message; cr. ]. > " > > info cr; nextPutAll: 'allClassesAndTraits:'. > Smalltalk allClassesAndTraits do: [:c | info nextPutAll: c name > asString; space]. info cr. > > info cr; nextPutAll: 'finished...'. > > info close. > > SmalltalkImage current snapshot: false andQuit: true. > > > ] ifError: [:e | > | rep | > rep := FileStream forceNewFileNamed: 'PharoDebug.log'. > rep nextPutAll: 'info.st'; cr. > rep nextPutAll: 'Error:'; cr. > rep nextPutAll: e asString; cr. > rep nextPutAll: thisContext stack size asString. > thisContext stack copy withIndexDo: [:stck :i | > [rep nextPutAll: i asString; space; nextPutAll: stck > asString; cr] > ifError: []]. > rep close. > Smalltalk exitFailure] > > > |
In reply to this post by Pavel Krivanek
Required refactorings to be able to reload Monticello to SqueakCore:
PackageInfo and Network package cannot have preambule. Because preambule definition in .st files is dependent on PackageInfo MailComposition class>>initialize - MailSender dependency must be removed. HTTPSocket class >> initialize - ExternalSettings dependency must be removed. ServerDirectory class >> initialize - ExternalSettings dependency must be removed. UUIDGenerator class >> initialize - bad startup list placement - Smalltalk addToStartUpList: self PackageList class >> initialize - TheWorldMenu dependency must be removed. System category "Monticello-UI" must be in own package Monticello extension methods to classes in System-FilePackage category must be removed MCVersionReader class >> initialize - FileList dependencies must be removed. MCRepository class >> initialize - ExternalSettings dependency must be removed. |
In reply to this post by Hannes Hirzel
On 12/30/12 10:35 AM, "H. Hirzel" <[hidden email]> wrote: > On 12/30/12, Pavel Krivanek <[hidden email]> wrote: >> Hi, >> >> this is the first unkempt attempt to produce SqueakCore image from >> Squeak4.4-12324. It generates 3 MB dirty image (3.2 with Unicode >> tables). Some overrides have only logging purpose. >> >> Cheers, >> -- Pavel >> > > Hello Pavel and others > > Thank you for your first attempt. > > I assume I have to file in first > patch001.st > > as it contains various dummy classes and fixes to existing classes. > (DummyProject, DummyUIManager, ,.... ClassOrganizer, PointerFinder, > ScriptLauncher, ...) > > > However the attached error comes up and a debugger in method > primWrite: id from: stringOrByteArray startingAt: startIndex count: count > > of MultiByteFileStream > > This is on a Windows 7 machine with a recent VM. > > Could anybody else check the file-in of Pavel's patch001.st as well? Sorry by the late answer, but only now have time to this. With older Squeak 4.2.5beta1U do not run in Terminal, but if you change stdout ^Stdout ifNil: [ Stdout := self newFileNamed: 'stdout'] See here: http://squeakros.org/stdout And run with UI, finish with a 3.3 Mb .image If as in my case you do: > /Applications/Cog.app/Contents/MacOS/Croquet -headless > /Users/edgar/AtlantisSqueak/imagesZip/Squeak4.4/Squeak4.4-12386.image > \/Users/edgar/AtlantisSqueak/imagesZip/Squeak4.4/patch001.st > Atlantis:~ edgar$ > Atlantis:~ edgar$ > Atlantis:~ edgar$ > Atlantis:~ edgar$ /Applications/Cog.app/Contents/MacOS/Croquet -headless > /Users/edgar/AtlantisSqueak/imagesZip/Squeak4.4/Squeak4.4-12386.image > \/Users/edgar/AtlantisSqueak/imagesZip/Squeak4.4/patch001.st > 2013-01-20 09:07:48.604 Croquet[789:903] Incompatible applications: > app=com.squeak.Cog, targetApp=com.apple.Safari > undeclared: DummyUIManager put: DummyUIManager > undeclared: ScriptLauncher put: ScriptLauncher > undeclared: ScriptLauncher put: ScriptLauncher > undeclared: DummySystemProgressItem put: DummySystemProgressItem > undeclared: DummySystemProgressItem put: DummySystemProgressItem > 1 > 2 > 3 > 4 Stops with Enviroments DNU removeKey: But if you not use the last update /Applications/Cog.app/Contents/MacOS/Croquet -headless /Users/edgar/AtlantisSqueak/imagesZip/Squeak4.4/Squeak4.4-12327\ copy.image \/Users/edgar/AtlantisSqueak/imagesZip/Squeak4.4/patch001.st Happily gives you a 3.1 Mb image. So we start to have a very valuable thing. I try to made Pavel suggested changes and invite to all wishing a SqueakKernel to share experiences and push our Board to have some. I have plenty of confidence in Spoon, but life is short and fragile as we learn the hard way. In the time we wait for a Perfect Solution, we could have a Good Solution Edgar |
Hi Edgar-- > Sorry by the late answer, but only now have time to this. > > ... > > I have plenty of confidence in Spoon, but life is short and fragile > as we learn the hard way. It certainly is! We are all extremely fortunate to be here; every moment is precious. From grief I draw strength to honor those no longer with us, by living as fully as I can, in community with others. Like you, and all of us, I give time as I am able, and I'm grateful for the time that others spend with me. I've been working with others on Spoon, and I encourage everyone who has time to give to participate. > In the time we wait for a Perfect Solution, we could have a Good > Solution I agree what's happening now is good. I envision something better, I've gotten much of the way there with the help of many, and perfection is not a goal. While I do have a desired design in mind, I don't think perfection is necessary, or even a healthy pursuit. My design came from a large amount of first-hand experience, reflection on practical tradeoffs, and discussions with actual and potential users. Regardless, one need not wait: I would love to see more Spoon issues recorded on Mantis, more use cases discussed on #squeak and #spoon on IRC, more comments on Spoon-related blog postings, etc. For the entire time I've been working with Smalltalk, I've viewed anything which clarifies the structural boundaries between bodies of code as a good thing. That includes every module system and shrinking approach applied to every Smalltalk system I've used. We can use the knowledge gained from each of them to make every one of them better. In the case of Squeak, I would like to use what we've learned from SqueakMap, Universes, and other artifacts from Squeak 1 through 4 to compose modules with Naiad, Spoon's module system. I maintain my intention to coordinate the creation of Squeak 5 this way. I like what's happening in Squeak 4 in the meantime. thanks again, -C -- Craig Latta www.netjam.org/resume +31 6 2757 7177 (SMS ok) + 1 415 287 3547 (no SMS) |
p.s. blog: http://thiscontext.wordpress.com website: http://netjam.org/spoon -- Craig Latta www.netjam.org/resume +31 6 2757 7177 (SMS ok) + 1 415 287 3547 (no SMS) |
In reply to this post by ccrraaiigg
On 1/21/13 10:08 PM, "Craig Latta" <[hidden email]> wrote: > > Hi Edgar-- > >> Sorry by the late answer, but only now have time to this. >> >> ... >> >> I have plenty of confidence in Spoon, but life is short and fragile >> as we learn the hard way. > > It certainly is! We are all extremely fortunate to be here; every > moment is precious. From grief I draw strength to honor those no longer > with us, by living as fully as I can, in community with others. > > Like you, and all of us, I give time as I am able, and I'm grateful > for the time that others spend with me. I've been working with others on > Spoon, and I encourage everyone who has time to give to participate. > >> In the time we wait for a Perfect Solution, we could have a Good >> Solution > > I agree what's happening now is good. I envision something better, > I've gotten much of the way there with the help of many, and perfection > is not a goal. > > While I do have a desired design in mind, I don't think perfection > is necessary, or even a healthy pursuit. My design came from a large > amount of first-hand experience, reflection on practical tradeoffs, and > discussions with actual and potential users. Regardless, one need not > wait: I would love to see more Spoon issues recorded on Mantis, more use > cases discussed on #squeak and #spoon on IRC, more comments on > Spoon-related blog postings, etc. > > For the entire time I've been working with Smalltalk, I've viewed > anything which clarifies the structural boundaries between bodies of > code as a good thing. That includes every module system and shrinking > approach applied to every Smalltalk system I've used. We can use the > knowledge gained from each of them to make every one of them better. > > In the case of Squeak, I would like to use what we've learned from > SqueakMap, Universes, and other artifacts from Squeak 1 through 4 to > compose modules with Naiad, Spoon's module system. I maintain my > intention to coordinate the creation of Squeak 5 this way. I like what's > happening in Squeak 4 in the meantime. > > > thanks again, You know I try Spoon each time you give us something, don't you? And like the way Spoon show progress. But like Cuis, the wonder made by Juan, I see this as long way of work to the day we have some we take Squeak or Pharo 1.4 packages and feed without too much trouble. I'm 62 and don't know as long as my lifetime is, but chances is against the medium Squeaker (around 40 years) So choose by now follow the Pavel Krivanek way, try any you do and learn from Cuis Edgar |
In reply to this post by Edgar De Cleene
Pavel
I assume your recommendation you wrote today in the other thread http://lists.squeakfoundation.org/pipermail/squeak-dev/2013-February/168741.html means to continue with the work in this thread? Right? --Hannes On 1/20/13, Edgar J. De Cleene <[hidden email]> wrote: > > > > On 12/30/12 10:35 AM, "H. Hirzel" <[hidden email]> wrote: > >> On 12/30/12, Pavel Krivanek <[hidden email]> wrote: >>> Hi, >>> >>> this is the first unkempt attempt to produce SqueakCore image from >>> Squeak4.4-12324. It generates 3 MB dirty image (3.2 with Unicode >>> tables). Some overrides have only logging purpose. >>> >>> Cheers, >>> -- Pavel >>> >> >> Hello Pavel and others >> >> Thank you for your first attempt. >> >> I assume I have to file in first >> patch001.st >> >> as it contains various dummy classes and fixes to existing classes. >> (DummyProject, DummyUIManager, ,.... ClassOrganizer, PointerFinder, >> ScriptLauncher, ...) >> >> >> However the attached error comes up and a debugger in method >> primWrite: id from: stringOrByteArray startingAt: startIndex count: >> count >> >> of MultiByteFileStream >> >> This is on a Windows 7 machine with a recent VM. >> >> Could anybody else check the file-in of Pavel's patch001.st as well? > > Sorry by the late answer, but only now have time to this. > With older Squeak 4.2.5beta1U do not run in Terminal, but if you change > > stdout > ^Stdout ifNil: [ Stdout := self newFileNamed: 'stdout'] > > > > See here: > > http://squeakros.org/stdout > > And run with UI, finish with a 3.3 Mb .image > > If as in my case you do: > >> /Applications/Cog.app/Contents/MacOS/Croquet -headless >> /Users/edgar/AtlantisSqueak/imagesZip/Squeak4.4/Squeak4.4-12386.image >> \/Users/edgar/AtlantisSqueak/imagesZip/Squeak4.4/patch001.st >> Atlantis:~ edgar$ >> Atlantis:~ edgar$ >> Atlantis:~ edgar$ >> Atlantis:~ edgar$ /Applications/Cog.app/Contents/MacOS/Croquet -headless >> /Users/edgar/AtlantisSqueak/imagesZip/Squeak4.4/Squeak4.4-12386.image >> \/Users/edgar/AtlantisSqueak/imagesZip/Squeak4.4/patch001.st >> 2013-01-20 09:07:48.604 Croquet[789:903] Incompatible applications: >> app=com.squeak.Cog, targetApp=com.apple.Safari >> undeclared: DummyUIManager put: DummyUIManager >> undeclared: ScriptLauncher put: ScriptLauncher >> undeclared: ScriptLauncher put: ScriptLauncher >> undeclared: DummySystemProgressItem put: DummySystemProgressItem >> undeclared: DummySystemProgressItem put: DummySystemProgressItem >> 1 >> 2 >> 3 >> 4 > > Stops with Enviroments DNU removeKey: > > But if you not use the last update > > /Applications/Cog.app/Contents/MacOS/Croquet -headless > /Users/edgar/AtlantisSqueak/imagesZip/Squeak4.4/Squeak4.4-12327\ copy.image > \/Users/edgar/AtlantisSqueak/imagesZip/Squeak4.4/patch001.st > > Happily gives you a 3.1 Mb image. > > So we start to have a very valuable thing. > > I try to made Pavel suggested changes and invite to all wishing a > SqueakKernel to share experiences and push our Board to have some. > > I have plenty of confidence in Spoon, but life is short and fragile as we > learn the hard way. > > In the time we wait for a Perfect Solution, we could have a Good Solution > > Edgar > > > > > |
No matter where :-) But it would be nice is someone will start to
review the changes and integrate them. Cheers -- Pavel On Mon, Feb 11, 2013 at 1:12 PM, H. Hirzel <[hidden email]> wrote: > Pavel > > I assume your recommendation you wrote today in the other thread > http://lists.squeakfoundation.org/pipermail/squeak-dev/2013-February/168741.html > > means to continue with the work in this thread? > > Right? > > --Hannes > > On 1/20/13, Edgar J. De Cleene <[hidden email]> wrote: >> >> >> >> On 12/30/12 10:35 AM, "H. Hirzel" <[hidden email]> wrote: >> >>> On 12/30/12, Pavel Krivanek <[hidden email]> wrote: >>>> Hi, >>>> >>>> this is the first unkempt attempt to produce SqueakCore image from >>>> Squeak4.4-12324. It generates 3 MB dirty image (3.2 with Unicode >>>> tables). Some overrides have only logging purpose. >>>> >>>> Cheers, >>>> -- Pavel >>>> >>> >>> Hello Pavel and others >>> >>> Thank you for your first attempt. >>> >>> I assume I have to file in first >>> patch001.st >>> >>> as it contains various dummy classes and fixes to existing classes. >>> (DummyProject, DummyUIManager, ,.... ClassOrganizer, PointerFinder, >>> ScriptLauncher, ...) >>> >>> >>> However the attached error comes up and a debugger in method >>> primWrite: id from: stringOrByteArray startingAt: startIndex count: >>> count >>> >>> of MultiByteFileStream >>> >>> This is on a Windows 7 machine with a recent VM. >>> >>> Could anybody else check the file-in of Pavel's patch001.st as well? >> >> Sorry by the late answer, but only now have time to this. >> With older Squeak 4.2.5beta1U do not run in Terminal, but if you change >> >> stdout >> ^Stdout ifNil: [ Stdout := self newFileNamed: 'stdout'] >> >> >> >> See here: >> >> http://squeakros.org/stdout >> >> And run with UI, finish with a 3.3 Mb .image >> >> If as in my case you do: >> >>> /Applications/Cog.app/Contents/MacOS/Croquet -headless >>> /Users/edgar/AtlantisSqueak/imagesZip/Squeak4.4/Squeak4.4-12386.image >>> \/Users/edgar/AtlantisSqueak/imagesZip/Squeak4.4/patch001.st >>> Atlantis:~ edgar$ >>> Atlantis:~ edgar$ >>> Atlantis:~ edgar$ >>> Atlantis:~ edgar$ /Applications/Cog.app/Contents/MacOS/Croquet -headless >>> /Users/edgar/AtlantisSqueak/imagesZip/Squeak4.4/Squeak4.4-12386.image >>> \/Users/edgar/AtlantisSqueak/imagesZip/Squeak4.4/patch001.st >>> 2013-01-20 09:07:48.604 Croquet[789:903] Incompatible applications: >>> app=com.squeak.Cog, targetApp=com.apple.Safari >>> undeclared: DummyUIManager put: DummyUIManager >>> undeclared: ScriptLauncher put: ScriptLauncher >>> undeclared: ScriptLauncher put: ScriptLauncher >>> undeclared: DummySystemProgressItem put: DummySystemProgressItem >>> undeclared: DummySystemProgressItem put: DummySystemProgressItem >>> 1 >>> 2 >>> 3 >>> 4 >> >> Stops with Enviroments DNU removeKey: >> >> But if you not use the last update >> >> /Applications/Cog.app/Contents/MacOS/Croquet -headless >> /Users/edgar/AtlantisSqueak/imagesZip/Squeak4.4/Squeak4.4-12327\ copy.image >> \/Users/edgar/AtlantisSqueak/imagesZip/Squeak4.4/patch001.st >> >> Happily gives you a 3.1 Mb image. >> >> So we start to have a very valuable thing. >> >> I try to made Pavel suggested changes and invite to all wishing a >> SqueakKernel to share experiences and push our Board to have some. >> >> I have plenty of confidence in Spoon, but life is short and fragile as we >> learn the hard way. >> >> In the time we wait for a Perfect Solution, we could have a Good Solution >> >> Edgar >> >> >> >> >> > |
OK, this just serves as a reminder that this thread contains the
original script file by Pavel to create a 3 MB dirty image. This is the initial post http://lists.squeakfoundation.org/pipermail/squeak-dev/2012-December/167367.html I did not manage to execute the script file, but Edgar did. Maybe I should try again. In any case we need more detailed instructions how to do it or even better just a Jenkins job to do it with an informative log file. As I understand the purpose of it is to find out where the modularity problems are. --Hannes On 2/11/13, Pavel Krivanek <[hidden email]> wrote: > No matter where :-) But it would be nice is someone will start to > review the changes and integrate them. > > Cheers > -- Pavel > > On Mon, Feb 11, 2013 at 1:12 PM, H. Hirzel <[hidden email]> wrote: >> Pavel >> >> I assume your recommendation you wrote today in the other thread >> >> http://lists.squeakfoundation.org/pipermail/squeak-dev/2013-February/168741.html >> >> means to continue with the work in this thread? >> >> Right? >> >> --Hannes >> >> On 1/20/13, Edgar J. De Cleene <[hidden email]> wrote: >>> >>> >>> >>> On 12/30/12 10:35 AM, "H. Hirzel" <[hidden email]> wrote: >>> >>>> On 12/30/12, Pavel Krivanek <[hidden email]> wrote: >>>>> Hi, >>>>> >>>>> this is the first unkempt attempt to produce SqueakCore image from >>>>> Squeak4.4-12324. It generates 3 MB dirty image (3.2 with Unicode >>>>> tables). Some overrides have only logging purpose. >>>>> >>>>> Cheers, >>>>> -- Pavel >>>>> >>>> >>>> Hello Pavel and others >>>> >>>> Thank you for your first attempt. >>>> >>>> I assume I have to file in first >>>> patch001.st >>>> >>>> as it contains various dummy classes and fixes to existing classes. >>>> (DummyProject, DummyUIManager, ,.... ClassOrganizer, PointerFinder, >>>> ScriptLauncher, ...) >>>> >>>> >>>> However the attached error comes up and a debugger in method >>>> primWrite: id from: stringOrByteArray startingAt: startIndex count: >>>> count >>>> >>>> of MultiByteFileStream >>>> >>>> This is on a Windows 7 machine with a recent VM. >>>> >>>> Could anybody else check the file-in of Pavel's patch001.st as well? >>> >>> Sorry by the late answer, but only now have time to this. >>> With older Squeak 4.2.5beta1U do not run in Terminal, but if you change >>> >>> stdout >>> ^Stdout ifNil: [ Stdout := self newFileNamed: 'stdout'] >>> >>> >>> >>> See here: >>> >>> http://squeakros.org/stdout >>> >>> And run with UI, finish with a 3.3 Mb .image >>> >>> If as in my case you do: >>> >>>> /Applications/Cog.app/Contents/MacOS/Croquet -headless >>>> /Users/edgar/AtlantisSqueak/imagesZip/Squeak4.4/Squeak4.4-12386.image >>>> \/Users/edgar/AtlantisSqueak/imagesZip/Squeak4.4/patch001.st >>>> Atlantis:~ edgar$ >>>> Atlantis:~ edgar$ >>>> Atlantis:~ edgar$ >>>> Atlantis:~ edgar$ /Applications/Cog.app/Contents/MacOS/Croquet >>>> -headless >>>> /Users/edgar/AtlantisSqueak/imagesZip/Squeak4.4/Squeak4.4-12386.image >>>> \/Users/edgar/AtlantisSqueak/imagesZip/Squeak4.4/patch001.st >>>> 2013-01-20 09:07:48.604 Croquet[789:903] Incompatible applications: >>>> app=com.squeak.Cog, targetApp=com.apple.Safari >>>> undeclared: DummyUIManager put: DummyUIManager >>>> undeclared: ScriptLauncher put: ScriptLauncher >>>> undeclared: ScriptLauncher put: ScriptLauncher >>>> undeclared: DummySystemProgressItem put: DummySystemProgressItem >>>> undeclared: DummySystemProgressItem put: DummySystemProgressItem >>>> 1 >>>> 2 >>>> 3 >>>> 4 >>> >>> Stops with Enviroments DNU removeKey: >>> >>> But if you not use the last update >>> >>> /Applications/Cog.app/Contents/MacOS/Croquet -headless >>> /Users/edgar/AtlantisSqueak/imagesZip/Squeak4.4/Squeak4.4-12327\ >>> copy.image >>> \/Users/edgar/AtlantisSqueak/imagesZip/Squeak4.4/patch001.st >>> >>> Happily gives you a 3.1 Mb image. >>> >>> So we start to have a very valuable thing. >>> >>> I try to made Pavel suggested changes and invite to all wishing a >>> SqueakKernel to share experiences and push our Board to have some. >>> >>> I have plenty of confidence in Spoon, but life is short and fragile as >>> we >>> learn the hard way. >>> >>> In the time we wait for a Perfect Solution, we could have a Good >>> Solution >>> >>> Edgar >>> >>> >>> >>> >>> >> > > |
Free forum by Nabble | Edit this page |