Squeak
  links to this page:    
View this PageEdit this PageUploads to this PageHistory of this PageTop of the SwikiRecent ChangesSearch the SwikiHelp Guide
Etoys on Sugar on a stick (Soas)
Last updated at 5:45 pm UTC on 13 June 2018
Soas is a Fedora spin
https://wiki.sugarlabs.org/go/Sugar_on_a_Stick

It includes Etoys.

This page is intended to give information on maintaining Etoys to run on this platform.

Packages needed

The "etoys" and "squeak-vm" packages.


Check

Please try running Etoys using the command line - the command should simply be
 etoys

Please reply with the error message if that does not work.

Sugar activity

The Sugar activity (Etoys-113.xo or Etoys-116.xo, there is no difference I think) uses the system-installed "etoys" package, so you have to get that working first.

http://wiki.laptop.org/go/Etoys

User

http://paraguayeduca.org/en/



Details



Yes, I give you more details than I tried.

I have installed Sugar on a notebook, I installed it mediately SoaS Live 25

(http://archive.fedoraproject.org/pub/fedora/linux/releases/25/Spins/i386/iso/Fedora-SoaS-Live-i386-25-1.3.iso).

The SoaS 25 brings installed Sugar 0.108.1

I also have the following packages installed:

squeak-vm-4.10.2.2614-14.fc24.i686
squeak-image-4.5.13680-4.fc24.noarch
etoys-5.0.2408-10.fc24.noarch
etoys-sugar-5.0.2408-10.fc24.noarch
sugar-presence-service-0.90.2-7.fc24.noarch

Etoys add-ons:
Etoys-113.xo https://activities.sugarlabs.org/es-ES/sugar/addon/4030
Etoys-116.xo http://tinlizzie.org/olpc/sugar/xo/

When starting the main error is:

"Can not find image file: squeak, did you run 'inisqueak -m'?" ...
click on yes and then
"Error: Improper store into idexable object"

Attached the log. Any other test that is needed I can do it.


Exited with status 0, pid 2028 data (None, <open file '<fdopen>', mode 'w' at 0xb1d16078>, '6b303e2813ac0c4cd3ce2ba75f458d97148ffd63')
kImage
Image: etoys5.0 [latest update: #2408]

SecurityManager state:
Restricted: false
FileAccess: true
SocketAccess: true
Working Dir /home/sugar/.sugar/default/org.vpri.EtoysActivity/data/MyEtoys
Trusted Dir /home/sugar/.sugar/default/org.vpri.EtoysActivity/data/private
Untrusted Dir /home/sugar/.sugar/default/org.vpri.EtoysActivity/data/MyEtoys

Bitmap(Object)>>error:
	Receiver: a Bitmap of length 2
	Arguments and temporary variables: 
		aString: 	'Improper store into indexable object'
	Receiver's instance variables: 
a Bitmap of length 2

Bitmap(Object)>>errorImproperStore
	Receiver: a Bitmap of length 2
	Arguments and temporary variables: 

	Receiver's instance variables: 
a Bitmap of length 2

Bitmap(Object)>>at:put:
	Receiver: a Bitmap of length 2
	Arguments and temporary variables: 
		index: 	1
		value: 	-589505316
	Receiver's instance variables: 
a Bitmap of length 2

Bitmap class(ArrayedCollection class)>>with:with:
	Receiver: Bitmap
	Arguments and temporary variables: 
		firstObject: 	-589505316
		secondObject: 	-589505316
		newCollection: 	a Bitmap of length 2
	Receiver's instance variables: 
		superclass: 	ArrayedCollection
		methodDict: 	a MethodDictionary(#asByteArray->a CompiledMethod (3064) #atAllPut:...etc...
		format: 	33538
		instanceVariables: 	nil
		organization: 	('initialize-release' fromByteStream:)
('filing' compress:toByteA...etc...
		subclasses: 	nil
		name: 	#Bitmap
		classPool: 	a Dictionary()
		sharedPools: 	nil
		environment: 	nil
		category: 	nil


--- The full stack ---
Bitmap(Object)>>error:
Bitmap(Object)>>errorImproperStore
Bitmap(Object)>>at:put:
Bitmap class(ArrayedCollection class)>>with:with:
 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Color>>balancedPatternForDepth:
Form>>balancedPatternFor:
FormCanvas>>setFillColor:
FormCanvas>>frameAndFillRectangle:fillColor:borderWidth:borderColor:
FormCanvas(Canvas)>>fillRectangle:color:
FormCanvas>>fillRectangle:fillStyle:
FormCanvas(Canvas)>>fillRectangle:fillStyle:borderStyle:
KedamaTurtleMorph(Morph)>>drawOn:
FormCanvas(Canvas)>>draw:
FormCanvas(Canvas)>>drawMorph:
[] in KedamaTurtleMorph(Morph)>>fullDrawOn: {[(aCanvas isVisible: self bounds)   ifTrue: [aCanvas drawMorph: self].  self...]}
FormCanvas>>roundCornersOf:in:during:
FormCanvas(Canvas)>>roundCornersOf:during:
KedamaTurtleMorph(Morph)>>fullDrawOn:
FormCanvas(Canvas)>>fullDraw:
FormCanvas(Canvas)>>fullDrawMorph:
[] in SelectionMorph>>drawOn: {[:m | tempCanvas fullDrawMorph: m]}
Array(SequenceableCollection)>>do:
[] in SelectionMorph>>drawOn: {[:tempCanvas | selectedItems   do: [:m | tempCanvas fullDrawMorph: m]]}
FormCanvas>>translateBy:during:
SelectionMorph>>drawOn:
FormCanvas(Canvas)>>draw:
FormCanvas(Canvas)>>drawMorph:
[] in SelectionMorph(Morph)>>fullDrawOn: {[(aCanvas isVisible: self bounds)   ifTrue: [aCanvas drawMorph: self].  self...]}
FormCanvas>>roundCornersOf:in:during:
FormCanvas(Canvas)>>roundCornersOf:during:
SelectionMorph(Morph)>>fullDrawOn:
FormCanvas(Canvas)>>fullDraw:
FormCanvas(Canvas)>>fullDrawMorph:
[] in SelectionMorph(Morph)>>imageForm:backgroundColor:forRectangle: {[:tempCanvas |  tempCanvas fillRectangle: rect color: aColor.  tempCanvas fu...]}
FormCanvas>>translateBy:during:
SelectionMorph(Morph)>>imageForm:backgroundColor:forRectangle:
PartsBin class>>thumbnailForQuad:color:
[] in PartsBin>>listDirection:quadList:withPreviousEntries: {[:tuple |  aClass := Smalltalk at: tuple first.  aButton := oldDict     at: ...]}
SortedCollection(OrderedCollection)>>do:
PartsBin>>listDirection:quadList:withPreviousEntries:
PartsBin>>listDirection:quadList:
ObjectsTool>>installQuads:fromButton:
[] in ObjectsTool>>showCategory:fromButton: {[quads := OrderedCollection new.  Morph withAllSubclasses   do: [:aClass | a...]}
BlockContext>>ensure:
CursorWithMask(Cursor)>>showWhile:
ObjectsTool>>showCategory:fromButton:
SimpleButtonMorph>>doButtonAction
ObjectsTool>>showCategories:
ObjectsTool>>showCategories
ObjectsTool>>initializeToStandAlone:
ObjectsTool>>initializeToStandAlone
ObjectsTool class(Morph class)>>newStandAlone
PartsBin class>>thumbnailForQuad:color:
[] in PartsBin>>listDirection:quadList:withPreviousEntries: {[:tuple |  aClass := Smalltalk at: tuple first.  aButton := oldDict     at: ...]}
OrderedCollection>>do:
PartsBin>>listDirection:quadList:withPreviousEntries:
PartsBin class>>newPartsBinWithOrientation:andColor:from:withPreviousEntries:
...etc...=========== SqueakDebug.log END  ==========
=========== SqueakDebug.log START ==========
Error: Improper store into indexable object
8 June 2018 4:28:01 pm

VM: unix - a SmalltalkImage
Image: etoys5.0 [latest update: #2408]

SecurityManager state:
Restricted: false
FileAccess: true
SocketAccess: true
Working Dir /home/sugar/.sugar/default/org.vpri.EtoysActivity/data/MyEtoys
Trusted Dir /home/sugar/.sugar/default/org.vpri.EtoysActivity/data/private
Untrusted Dir /home/sugar/.sugar/default/org.vpri.EtoysActivity/data/MyEtoys

Bitmap(Object)>>error:
	Receiver: a Bitmap of length 2
	Arguments and temporary variables: 
		aString: 	'Improper store into indexable object'
	Receiver's instance variables: 
a Bitmap of length 2

Bitmap(Object)>>errorImproperStore
	Receiver: a Bitmap of length 2
	Arguments and temporary variables: 

	Receiver's instance variables: 
a Bitmap of length 2

Bitmap(Object)>>at:put:
	Receiver: a Bitmap of length 2
	Arguments and temporary variables: 
		index: 	1
		value: 	-589505316
	Receiver's instance variables: 
a Bitmap of length 2

Bitmap class(ArrayedCollection class)>>with:with:
	Receiver: Bitmap
	Arguments and temporary variables: 
		firstObject: 	-589505316
		secondObject: 	-589505316
		newCollection: 	a Bitmap of length 2
	Receiver's instance variables: 
		superclass: 	ArrayedCollection
		methodDict: 	a MethodDictionary(#asByteArray->a CompiledMethod (3064) #atAllPut:...etc...
		format: 	33538
		instanceVariables: 	nil
		organization: 	('initialize-release' fromByteStream:)
('filing' compress:toByteA...etc...
		subclasses: 	nil
		name: 	#Bitmap
		classPool: 	a Dictionary()
		sharedPools: 	nil
		environment: 	nil
		category: 	nil


--- The full stack ---
Bitmap(Object)>>error:
Bitmap(Object)>>errorImproperStore
Bitmap(Object)>>at:put:
Bitmap class(ArrayedCollection class)>>with:with:
 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Color>>balancedPatternForDepth:
Form>>balancedPatternFor:
FormCanvas>>setFillColor:
FormCanvas>>frameAndFillRectangle:fillColor:borderWidth:borderColor:
FormCanvas(Canvas)>>fillRectangle:color:
FormCanvas>>fillRectangle:fillStyle:
FormCanvas(Canvas)>>fillRectangle:fillStyle:borderStyle:
KedamaTurtleMorph(Morph)>>drawOn:
FormCanvas(Canvas)>>draw:
FormCanvas(Canvas)>>drawMorph:
[] in KedamaTurtleMorph(Morph)>>fullDrawOn: {[(aCanvas isVisible: self bounds)   ifTrue: [aCanvas drawMorph: self].  self...]}
FormCanvas>>roundCornersOf:in:during:
FormCanvas(Canvas)>>roundCornersOf:during:
KedamaTurtleMorph(Morph)>>fullDrawOn:
FormCanvas(Canvas)>>fullDraw:
FormCanvas(Canvas)>>fullDrawMorph:
[] in SelectionMorph>>drawOn: {[:m | tempCanvas fullDrawMorph: m]}
Array(SequenceableCollection)>>do:
[] in SelectionMorph>>drawOn: {[:tempCanvas | selectedItems   do: [:m | tempCanvas fullDrawMorph: m]]}
FormCanvas>>translateBy:during:
SelectionMorph>>drawOn:
FormCanvas(Canvas)>>draw:
FormCanvas(Canvas)>>drawMorph:
[] in SelectionMorph(Morph)>>fullDrawOn: {[(aCanvas isVisible: self bounds)   ifTrue: [aCanvas drawMorph: self].  self...]}
FormCanvas>>roundCornersOf:in:during:
FormCanvas(Canvas)>>roundCornersOf:during:
SelectionMorph(Morph)>>fullDrawOn:
FormCanvas(Canvas)>>fullDraw:
FormCanvas(Canvas)>>fullDrawMorph:
[] in SelectionMorph(Morph)>>imageForm:backgroundColor:forRectangle: {[:tempCanvas |  tempCanvas fillRectangle: rect color: aColor.  tempCanvas fu...]}
FormCanvas>>translateBy:during:
SelectionMorph(Morph)>>imageForm:backgroundColor:forRectangle:
PartsBin class>>thumbnailForQuad:color:
[] in PartsBin>>listDirection:quadList:withPreviousEntries: {[:tuple |  aClass := Smalltalk at: tuple first.  aButton := oldDict     at: ...]}
SortedCollection(OrderedCollection)>>do:
PartsBin>>listDirection:quadList:withPreviousEntries:
PartsBin>>listDirection:quadList:
ObjectsTool>>installQuads:fromButton:
[] in ObjectsTool>>showCategory:fromButton: {[quads := OrderedCollection new.  Morph withAllSubclasses   do: [:aClass | a...]}
BlockContext>>ensure:
CursorWithMask(Cursor)>>showWhile:
ObjectsTool>>showCategory:fromButton:
SimpleButtonMorph>>doButtonAction
ObjectsTool>>showCategories:
ObjectsTool>>showCategories
ObjectsTool>>initializeToStandAlone:
ObjectsTool>>initializeToStandAlone
ObjectsTool class(Morph class)>>newStandAlone
PartsBin class>>thumbnailForQuad:color:
[] in PartsBin>>listDirection:quadList:withPreviousEntries: {[:tuple |  aClass := Smalltalk at: tuple first.  aButton := oldDict     at: ...]}
OrderedCollection>>do:
PartsBin>>listDirection:quadList:withPreviousEntries:
PartsBin class>>newPartsBinWithOrientation:andColor:from:withPreviousEntries:
...etc...=========== SqueakDebug.log END  ==========
=========== SqueakDebug.log START ==========
Error: Improper store into indexable object
8 June 2018 12:00:00 am

VM: unix - a SmalltalkImage
Image: etoys5.0 [latest update: #2408]

SecurityManager state:
Restricted: false
FileAccess: true
SocketAccess: true
Working Dir /home/sugar/.sugar/default/org.vpri.EtoysActivity/data/MyEtoys
Trusted Dir /home/sugar/.sugar/default/org.vpri.EtoysActivity/data/private
Untrusted Dir /home/sugar/.sugar/default/org.vpri.EtoysActivity/data/MyEtoys

Bitmap(Object)>>error:
	Receiver: a Bitmap of length 2
	Arguments and temporary variables: 
		aString: 	'Improper store into indexable object'
	Receiver's instance variables: 
a Bitmap of length 2

Bitmap(Object)>>errorImproperStore
	Receiver: a Bitmap of length 2
	Arguments and temporary variables: 

	Receiver's instance variables: 
a Bitmap of length 2

Bitmap(Object)>>at:put:
	Receiver: a Bitmap of length 2
	Arguments and temporary variables: 
		index: 	1
		value: 	-589505316
	Receiver's instance variables: 
a Bitmap of length 2

Bitmap class(ArrayedCollection class)>>with:with:
	Receiver: Bitmap
	Arguments and temporary variables: 
		firstObject: 	-589505316
		secondObject: 	-589505316
		newCollection: 	a Bitmap of length 2
	Receiver's instance variables: 
		superclass: 	ArrayedCollection
		methodDict: 	a MethodDictionary(#asByteArray->a CompiledMethod (3064) #atAllPut:...etc...
		format: 	33538
		instanceVariables: 	nil
		organization: 	('initialize-release' fromByteStream:)
('filing' compress:toByteA...etc...
		subclasses: 	nil
		name: 	#Bitmap
		classPool: 	a Dictionary()
		sharedPools: 	nil
		environment: 	nil
		category: 	nil


--- The full stack ---
Bitmap(Object)>>error:
Bitmap(Object)>>errorImproperStore
Bitmap(Object)>>at:put:
Bitmap class(ArrayedCollection class)>>with:with:
 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Color>>balancedPatternForDepth:
Form>>balancedPatternFor:
FormCanvas>>setFillColor:
FormCanvas>>frameAndFillRectangle:fillColor:borderWidth:borderColor:
FormCanvas(Canvas)>>fillRectangle:color:
FormCanvas>>fillRectangle:fillStyle:
FormCanvas(Canvas)>>fillRectangle:fillStyle:borderStyle:
KedamaTurtleMorph(Morph)>>drawOn:
FormCanvas(Canvas)>>draw:
FormCanvas(Canvas)>>drawMorph:
[] in KedamaTurtleMorph(Morph)>>fullDrawOn: {[(aCanvas isVisible: self bounds)   ifTrue: [aCanvas drawMorph: self].  self...]}
FormCanvas>>roundCornersOf:in:during:
FormCanvas(Canvas)>>roundCornersOf:during:
KedamaTurtleMorph(Morph)>>fullDrawOn:
FormCanvas(Canvas)>>fullDraw:
FormCanvas(Canvas)>>fullDrawMorph:
[] in SelectionMorph>>drawOn: {[:m | tempCanvas fullDrawMorph: m]}
Array(SequenceableCollection)>>do:
[] in SelectionMorph>>drawOn: {[:tempCanvas | selectedItems   do: [:m | tempCanvas fullDrawMorph: m]]}
FormCanvas>>translateBy:during:
SelectionMorph>>drawOn:
FormCanvas(Canvas)>>draw:
FormCanvas(Canvas)>>drawMorph:
[] in SelectionMorph(Morph)>>fullDrawOn: {[(aCanvas isVisible: self bounds)   ifTrue: [aCanvas drawMorph: self].  self...]}
FormCanvas>>roundCornersOf:in:during:
FormCanvas(Canvas)>>roundCornersOf:during:
SelectionMorph(Morph)>>fullDrawOn:
FormCanvas(Canvas)>>fullDraw:
FormCanvas(Canvas)>>fullDrawMorph:
[] in SelectionMorph(Morph)>>imageForm:backgroundColor:forRectangle: {[:tempCanvas |  tempCanvas fillRectangle: rect color: aColor.  tempCanvas fu...]}
FormCanvas>>translateBy:during:
SelectionMorph(Morph)>>imageForm:backgroundColor:forRectangle:
PartsBin class>>thumbnailForQuad:color:
[] in PartsBin>>listDirection:quadList:withPreviousEntries: {[:tuple |  aClass := Smalltalk at: tuple first.  aButton := oldDict     at: ...]}
SortedCollection(OrderedCollection)>>do:
PartsBin>>listDirection:quadList:withPreviousEntries:
PartsBin>>listDirection:quadList:
ObjectsTool>>installQuads:fromButton:
[] in ObjectsTool>>showCategory:fromButton: {[quads := OrderedCollection new.  Morph withAllSubclasses   do: [:aClass | a...]}
BlockContext>>ensure:
CursorWithMask(Cursor)>>showWhile:
ObjectsTool>>showCategory:fromButton:
SimpleButtonMorph>>doButtonAction
ObjectsTool>>showCategories:
ObjectsTool>>showCategories
ObjectsTool>>initializeToStandAlone:
ObjectsTool>>initializeToStandAlone
ObjectsTool class(Morph class)>>newStandAlone
PartsBin class>>thumbnailForQuad:color:
[] in PartsBin>>listDirection:quadList:withPreviousEntries: {[:tuple |  aClass := Smalltalk at: tuple first.  aButton := oldDict     at: ...]}
OrderedCollection>>do:
PartsBin>>listDirection:quadList:withPreviousEntries:
PartsBin class>>newPartsBinWithOrientation:andColor:from:withPreviousEntries:
...etc...=========== SqueakDebug.log END  ==========