HI Colin, The VM is a 32 bit binary and is looking for the 32 bit versions of those libraries. You need to install these. For Debian, I think you need to do something like:
sudo dpkg --add-architecture i386 sudo apt-get update sudo apt-get install libc6:i386 libncurses5:i386 libstdc++6:i386 libx11-6:i386 libxext6:i386
But I haven’t tried this particular magic incantation for a while.
I don’t have the time at the moment, but someone should do this up as a docker image.
Best Russell
On 17 Jul 2021, at 5:23 pm, Colin Sare-Soar colin.saresoar@terrashape.co.uk wrote:
I have downloaded the linux version and installed it on my Debian 10 64bit box. This is a Xeon HP420 with 32gb and plenty of available disk space etc.
When I try to run Self -s core.self, or any of the other snapshots, I get the following message: ./Self: error while loading shared libraries: libX11.so.6: cannot open shared object file: No such file or directory I do have a link libX11.so.6 linked to libX11.so.6.3.0 (used by another program). The link is in /usr/lib/x86_64-linx-gnu and this directory is on my $PATH. Can someone tell me where Self expects to find this file?
I really only know C++ with a bit of C# and Python and no Java/Javascript at all. I have dabbled a bit with Smalltalk, Pharo and Cincom and am interested in learning about true OOP principles Thanks Colin _______________________________________________ Self-interest mailing list Self-interest@lists.selflanguage.org http://lists.selflanguage.org/mailman/listinfo/self-interest
Hi Colin,
When you are at the command line and do
Self -s core.snap
or your equivalent, what does your terminal show?
From the terminal you can quit without saving by ‘quitNoSave’ or ‘_Quit’
Cheers Russell
On 18 Jul 2021, at 3:35 pm, Colin Sare-Soar colin.saresoar@terrashape.co.uk wrote:
Hi Russell, Those commands did the trick, in fact I found them in handbook once I started reading it. I started the VM but used the 'core.snap' file and not much seemed to happen. I tried to follow some instructions in a blog but things like help or desktop open had no effect and just produced an error message. I also could not find any way to shutdown the VM, short of closing the terminal. I see that the graphical images have a 'quit' menu item but how do you close the core VM?
I will start one of the other images and hopefully things will start to make more sense.
Colin
On 17/07/2021 09:13 Russell Allen <mail@russell-allen.com mailto:mail@russell-allen.com> wrote:
HI Colin, The VM is a 32 bit binary and is looking for the 32 bit versions of those libraries. You need to install these. For Debian, I think you need to do something like:
sudo dpkg --add-architecture i386 sudo apt-get update sudo apt-get install libc6:i386 libncurses5:i386 libstdc++6:i386 libx11-6:i386 libxext6:i386
But I haven’t tried this particular magic incantation for a while.
I don’t have the time at the moment, but someone should do this up as a docker image.
Best Russell
Hi Russell, The terminal goes through a list of actions up to No. #29 (<postRead Snapshot>:1): and the cursor sits there showing VM#. quitNoSave produces 11 errors and still leaves me at the VM# prompt. _Quit works fine. Other commands like 'help' or 'desktop open' (all without quotes) also produce 11 error messages.
I haven't found any documentation yet that says what commands should be available in the core.snapshot but working through some material in either morphic or kitchensink seems to all work fine. it's rather a steep learning curve at the moment.
Colin
On 18/07/2021 12:51 Russell Allen mail@russell-allen.com wrote:
Hi Colin,
When you are at the command line and do
Self -s core.snap
or your equivalent, what does your terminal show?
From the terminal you can quit without saving by ‘quitNoSave’ or ‘_Quit’
Cheers Russell
On 18 Jul 2021, at 3:35 pm, Colin Sare-Soar colin.saresoar@terrashape.co.uk wrote:
Hi Russell,
Those commands did the trick, in fact I found them in handbook once I started reading it.
I started the VM but used the 'core.snap' file and not much seemed to happen. I tried to follow some instructions in a blog but things like help or desktop open had no effect and just produced an error message. I also could not find any way to shutdown the VM, short of closing the terminal.
I see that the graphical images have a 'quit' menu item but how do you close the core VM?
I will start one of the other images and hopefully things will start to make more sense.
Colin
On 17/07/2021 09:13 Russell Allen mail@russell-allen.com wrote:
HI Colin, The VM is a 32 bit binary and is looking for the 32 bit versions of those libraries. You need to install these. For Debian, I think you need to do something like:
sudo dpkg --add-architecture i386 sudo apt-get update sudo apt-get install libc6:i386 libncurses5:i386 libstdc++6:i386 libx11-6:i386 libxext6:i386
But I haven’t tried this particular magic incantation for a while.
I don’t have the time at the moment, but someone should do this up as a docker image.
Best Russell
Hi, Something is stopping Self from booting into its prompt (the VM# indicates you are still in the underlying VM prompt), that is why ‘help’ and ‘desktop open’ etc don’t work.
_Quit works because it is a primitive (primitive methods start with an underscore)
Can you cut and paste everything from your shell command up to the VM# prompt? The error messages might tell me what is going on
Cheers Russell
On 18 Jul 2021, at 7:47 pm, Colin Sare-Soar colin.saresoar@terrashape.co.uk wrote:
Hi Russell, The terminal goes through a list of actions up to No. #29 (<postRead Snapshot>:1): and the cursor sits there showing VM#. quitNoSave produces 11 errors and still leaves me at the VM# prompt. _Quit works fine. Other commands like 'help' or 'desktop open' (all without quotes) also produce 11 error messages.
I haven't found any documentation yet that says what commands should be available in the core.snapshot but working through some material in either morphic or kitchensink seems to all work fine. it's rather a steep learning curve at the moment.
Colin
On 18/07/2021 12:51 Russell Allen mail@russell-allen.com wrote:
Hi Colin,
When you are at the command line and do
Self -s core.snap
or your equivalent, what does your terminal show?
From the terminal you can quit without saving by ‘quitNoSave’ or ‘_Quit’
Cheers Russell
On 18 Jul 2021, at 3:35 pm, Colin Sare-Soar colin.saresoar@terrashape.co.uk wrote:
Hi Russell,
Those commands did the trick, in fact I found them in handbook once I started reading it.
I started the VM but used the 'core.snap' file and not much seemed to happen. I tried to follow some instructions in a blog but things like help or desktop open had no effect and just produced an error message. I also could not find any way to shutdown the VM, short of closing the terminal.
I see that the graphical images have a 'quit' menu item but how do you close the core VM?
I will start one of the other images and hopefully things will start to make more sense.
Colin
On 17/07/2021 09:13 Russell Allen mail@russell-allen.com wrote:
HI Colin, The VM is a 32 bit binary and is looking for the 32 bit versions of those libraries. You need to install these. For Debian, I think you need to do something like:
sudo dpkg --add-architecture i386 sudo apt-get update sudo apt-get install libc6:i386 libncurses5:i386 libstdc++6:i386 libx11-6:i386 libxext6:i386
But I haven’t tried this particular magic incantation for a while.
I don’t have the time at the moment, but someone should do this up as a docker image.
Best Russell
Hi, Attached is the output from starting core.snap.
Cheers Colin
On 20/07/2021 14:20 Russell Allen mail@russell-allen.com wrote:
Hi, Something is stopping Self from booting into its prompt (the VM# indicates you are still in the underlying VM prompt), that is why ‘help’ and ‘desktop open’ etc don’t work.
_Quit works because it is a primitive (primitive methods start with an underscore)
Can you cut and paste everything from your shell command up to the VM# prompt? The error messages might tell me what is going on
Cheers Russell
On 18 Jul 2021, at 7:47 pm, Colin Sare-Soar colin.saresoar@terrashape.co.uk wrote:
Hi Russell, The terminal goes through a list of actions up to No. #29 (<postRead Snapshot>:1): and the cursor sits there showing VM#. quitNoSave produces 11 errors and still leaves me at the VM# prompt. _Quit works fine. Other commands like 'help' or 'desktop open' (all without quotes) also produce 11 error messages.
I haven't found any documentation yet that says what commands should be available in the core.snapshot but working through some material in either morphic or kitchensink seems to all work fine. it's rather a steep learning curve at the moment.
Colin
On 18/07/2021 12:51 Russell Allen mail@russell-allen.com wrote:
Hi Colin,
When you are at the command line and do
Self -s core.snap
or your equivalent, what does your terminal show?
From the terminal you can quit without saving by ‘quitNoSave’ or ‘_Quit’
Cheers Russell
On 18 Jul 2021, at 3:35 pm, Colin Sare-Soar colin.saresoar@terrashape.co.uk wrote:
Hi Russell,
Those commands did the trick, in fact I found them in handbook once I started reading it.
I started the VM but used the 'core.snap' file and not much seemed to happen. I tried to follow some instructions in a blog but things like help or desktop open had no effect and just produced an error message. I also could not find any way to shutdown the VM, short of closing the terminal.
I see that the graphical images have a 'quit' menu item but how do you close the core VM?
I will start one of the other images and hopefully things will start to make more sense.
Colin
On 17/07/2021 09:13 Russell Allen mail@russell-allen.com wrote:
HI Colin, The VM is a 32 bit binary and is looking for the 32 bit versions of those libraries. You need to install these. For Debian, I think you need to do something like:
sudo dpkg --add-architecture i386 sudo apt-get update sudo apt-get install libc6:i386 libncurses5:i386 libstdc++6:i386 libx11-6:i386 libxext6:i386
But I haven’t tried this particular magic incantation for a while.
I don’t have the time at the moment, but someone should do this up as a docker image.
Best Russell
2nd attempt with attachment self-error-msg.txt
On 20/07/2021 14:20 Russell Allen mail@russell-allen.com wrote:
Hi, Something is stopping Self from booting into its prompt (the VM# indicates you are still in the underlying VM prompt), that is why ‘help’ and ‘desktop open’ etc don’t work.
_Quit works because it is a primitive (primitive methods start with an underscore)
Can you cut and paste everything from your shell command up to the VM# prompt? The error messages might tell me what is going on
Cheers Russell
Hi Russell,
Apologies for all these posts, I misread your message and tried to add an attachment. Here is the text copied from terminal:
Colin
(base) colins2@HPZ420-Debian:~/Self-Release-2017.1$ ./Self -s core.snap Self VM warning: cannot tell for sure about byte-order; guessing OK for I386: LogVMMessages = true for I386: PrintScriptName = true for I386: Inline = true for I386: SICDeferUncommonBranches = false (not implemented) for I386: SICReplaceOnStack = false (not implemented) for I386: SaveOutgoingArgumentsOfPatchedFrames = true
Welcome to the Self system! (2017.1/2)
Copyright 1992-2016 AUTHORS. See the legal/LICENSE file for license information and legal/AUTHORS for authors.
Type _Credits for full credits.
#0 (../objects/core/scheduler.self:1184): value = [ "This is not a scheduled process--either it's the scheduler itself or the scheduler isn't running. p = schedulerProcess = _ThisProcess" p _PrintProcessStack. errorLevel: 0. p causeOfError reportError: p ForceStackTrace: false. p primitiveAbortProcess. ^ self. "won't actually reach here" ]
#1 (../objects/core/boolean.self:170): ifTrue:False: = ( | self* = true. :b1 = <0>. :b2 = nil. | b1 value )
#2 (../objects/core/boolean.self:237): ifTrue: = ( | self* = true. :b = <0>. | ifTrue: b False: nil )
#3 (../objects/core/scheduler.self:1179): suspendAndTrace: = ( | self* = <1>. :p = <2>. maxRecursiveErrors = 1. | errorLevel: errorLevel succ. p = schedulerProcess ifTrue: [ "This is not a scheduled process--either it's the scheduler itself or the scheduler isn't running. p = schedulerProcess = _ThisProcess" p _PrintProcessStack. errorLevel: 0. p causeOfError reportError: p ForceStackTrace: false. p primitiveAbortProcess. ^ self. "won't actually reach here" ]. errorLevel > maxRecursiveErrors ifTrue: [ "Too many errors occurred in trying to handle the original error. Just safely print the stack." p _PrintProcessStack. errorLevel: 0. ^ self. ]. suspend: p.
(debug: p) ifTrue: [ ('** suspendAndTrace: ', p objectID) printLine. ].
p causeOfError reportError: p ForceStackTrace: false. p birthEvent ifNotNil: [ selfProcessModel debugProcess: p. ] IfNil: [| id <- ''. | id: p objectIDNumber printString. p stderr write: 'To debug in ui2, type: selfProcessModel debugProcess: ', id, ' as\n', 'to debug in console, type: attach: ', id, '\n', 'to dump stack, type: ', id, ' as printError.\n'. ]. errorLevel: 0. self )
#4 (../objects/core/process.self:1403): value = [ scheduler suspendAndTrace: self ]
#5 (../objects/core/boolean.self:170): ifTrue:False: = ( | self* = true. :b1 = <3>. :b2 = <4>. | b1 value )
#6 (../objects/core/process.self:239): performInScheduler:IfInside: = ( | self* = <2>. :action = <5>. :blk = <3>. | scheduler inScheduler ifTrue: blk False: [_Yield: action] )
#7 (../objects/core/process.self:1401): suspendAndTrace: = ( | self* = <2>. :error = <6>. | causeOfError: error. performInScheduler: suspendAndTraceAction IfInside: [scheduler suspendAndTrace: self]. self )
#8 (../objects/core/errorHandling.self:317): undefinedSelector:Receiver:Type:Delegatee:MethodHolder:Arguments: = ( | self* = <2>. :sel = 'x11Globals'. :rec = <7>. :msgType = 'implicitSelf'. :del = nil. :mh = nil. :args = <8>. | forwardSend: 'undefined' Selector: sel Receiver: rec Type: msgType Delegatee: del MethodHolder: mh Arguments: args IfSucceed: [|:res| ^res ]. suspendAndTrace: (((((processErrors undefinedSelector copy receiver: rec) selector: sel) type: msgType) delegatee: del) methodHolder: mh) arguments: args. errorContinueValue )
#9 (<error>:1): x11Globals = ( | self* = <7>. delegatee = nil. selector = 'x11Globals'. | "undefined selector error; this method was automatically generated by the VM." )
#10 (../objects/core/hosts.self:1097): graphicsSystemGlobals = ( | self* = <7>. | x11Globals )
#11 (../objects/core/hosts.self:1417): setGraphicsDependentGlobals = ( | self* = <9>. mir <- <10> "nil". | mir: (reflect: globals). "Use frozenDefine to keep module cache clean." [graphicsDependentGlobals]. "browsing" mir frozenDefine: (mir copyAt: 'graphicsDependentGlobals' PutContents: reflect: osForThisHost graphicsSystemGlobals. ). self )
#12 (../objects/core/sending.self:104): sendTo: = ( | self* = 'setGraphicsDependentGlobals'. :receiver = <9>. | receiver _Perform: canonicalize )
#13 (../objects/core/sending.self:365): value = [ ^ sendTo: receiver ]
#14 (../objects/core/boolean.self:170): ifTrue:False: = ( | self* = true. :b1 = <11>. :b2 = nil. | b1 value )
#15 (../objects/core/boolean.self:237): ifTrue: = ( | self* = true. :b = <11>. | ifTrue: b False: nil )
#16 (../objects/core/sending.self:365): sendTo:WithArguments: = ( | self* = 'setGraphicsDependentGlobals'. :receiver = <9>. :a = <12>. | 0 = a size ifTrue: [ ^ sendTo: receiver ]. 1 = a size ifTrue: [ ^ sendTo: receiver With: a at: 0 ]. 2 = a size ifTrue: [ ^ sendTo: receiver With: (a at: 0) With: (a at: 1) ]. 3 = a size ifTrue: [ ^ sendTo: receiver With: (a at: 0) With: (a at: 1) With: (a at: 2) ]. 4 = a size ifTrue: [ ^ sendTo: receiver With: (a at: 0) With: (a at: 1) With: (a at: 2) With: (a at: 3) ]. 5 = a size ifTrue: [ ^ sendTo: receiver With: (a at: 0) With: (a at: 1) With: (a at: 2) With: (a at: 3) With: (a at: 4) ]. 6 = a size ifTrue: [ ^ sendTo: receiver With: (a at: 0) With: (a at: 1) With: (a at: 2) With: (a at: 3) With: (a at: 4) With: (a at: 5) ]. 7 = a size ifTrue: [ ^ sendTo: receiver With: (a at: 0) With: (a at: 1) With: (a at: 2) With: (a at: 3) With: (a at: 4) With: (a at: 5) With: (a at: 6) ]. 8 = a size ifTrue: [ ^ sendTo: receiver With: (a at: 0) With: (a at: 1) With: (a at: 2) With: (a at: 3) With: (a at: 4) With: (a at: 5) With: (a at: 6) With: (a at: 7) ]. 9 = a size ifTrue: [ ^ sendTo: receiver With: (a at: 0) With: (a at: 1) With: (a at: 2) With: (a at: 3) With: (a at: 4) With: (a at: 5) With: (a at: 6) With: (a at: 7) With: (a at: 8) ]. 10 = a size ifTrue: [ ^ sendTo: receiver With: (a at: 0) With: (a at: 1) With: (a at: 2) With: (a at: 3) With: (a at: 4) With: (a at: 5) With: (a at: 6) With: (a at: 7) With: (a at: 8) With: (a at: 9) ]. 11 = a size ifTrue: [ ^ sendTo: receiver With: (a at: 0) With: (a at: 1) With: (a at: 2) With: (a at: 3) With: (a at: 4) With: (a at: 5) With: (a at: 6) With: (a at: 7) With: (a at: 8) With: (a at: 9) With: (a at: 10)]. 12 = a size ifTrue: [ ^ sendTo: receiver With: (a at: 0) With: (a at: 1) With: (a at: 2) With: (a at: 3) With: (a at: 4) With: (a at: 5) With: (a at: 6) With: (a at: 7) With: (a at: 8) With: (a at: 9) With: (a at: 10) With: (a at: 11) ]. error: 'need more cases' )
#17 (../objects/core/message.self:302): send = ( | self* = <13>. | selector sendTo: receiver WithArguments: arguments )
#18 (../objects/core/snapshotAction.self:328): value: = [ | :msg = <13>. | msg send ]
#19 (../objects/core/defaultBehavior.self:419): value:With: = ( | self* = <14>. :a = <13>. :b = <13>. | value: a )
#20 (../objects/core/list.self:486): value: = [ | :lnk = <15>. | block value: lnk value With: lnk value ]
#21 (../objects/core/list.self:200): value = [ | saveNextToPermitRemoving <- <16> "nil". | saveNextToPermitRemoving: lnk next. b value: lnk. lnk: saveNextToPermitRemoving. ]
#22 (../objects/core/block.self:586): value = [ value ifTrue: [ ^ nil ]. b value. ]
#23 (../objects/core/block.self:258): loop = ( | self* = <17>. | value. _Restart )
#24 (../objects/core/block.self:586): whileFalse: = ( | self* = <18>. :b = <19>. | [ value ifTrue: [ ^ nil ]. b value. ] loop )
#25 (../objects/core/list.self:197): doLinks: = ( | self* = <20>. :b = <21>. head <- <20> "nil". lnk <- <15> "nil". | head: next prev. lnk: next. [head == lnk] whileFalse: [ | saveNextToPermitRemoving | saveNextToPermitRemoving: lnk next. b value: lnk. lnk: saveNextToPermitRemoving. ]. self )
#26 (../objects/core/list.self:486): do: = ( | self* = <22>. :block = <14>. | rep doLinks: [|:lnk| block value: lnk value With: lnk value]. self )
#27 (../objects/core/snapshotAction.self:328): sendMessages: = ( | self* = <23>. :msgs = <22>. | msgs do: [|:msg| msg send ] )
#28 (../objects/core/snapshotAction.self:234): postRead = ( | self* = <23>. | sendMessages: postReadMessages. scheduler start. self )
#29 (<postRead Snapshot>:1): <top level expr> = ( | self* = lobby. | snapshotAction postRea )
VM# <<************************************************************
On 20/07/2021 14:20 Russell Allen mail@russell-allen.com wrote:
Hi, Something is stopping Self from booting into its prompt (the VM# indicates you are still in the underlying VM prompt), that is why ‘help’ and ‘desktop open’ etc don’t work.
_Quit works because it is a primitive (primitive methods start with an underscore)
Can you cut and paste everything from your shell command up to the VM# prompt? The error messages might tell me what is going on
Cheers Russell
self-interest@lists.selflanguage.org