powerlang / egg

Egg Smalltalk
MIT License
14 stars 2 forks source link

Unable to test on Ubuntu Linux /x86 #20

Closed KenDickey closed 9 months ago

KenDickey commented 9 months ago

x86:Ubuntu:~/egg >>> git pull Already up to date.

x86:Ubuntu:~/egg >>> make js make -C runtime/js all make[1]: Entering directory '/home/kend/egg/runtime/js' cd /home/kend/egg/bootstrap/pharo && ./pharo powerlangjs.image eval "JSTranspiler transpilePowerlangInterpreter" Instance of DirectJSCodeEmitter did not understand #visitThisContextNode: DirectJSCodeEmitter(Object)>>doesNotUnderstand: #visitThisContextNode: ThisContextVariable>>acceptVisitor:node: RBVariableNode>>acceptVisitor: DirectJSCodeEmitter>>basicVisitMessageNode: DirectJSCodeEmitter>>visitMessageNode: RBMessageNode>>acceptVisitor: DirectJSCodeEmitter>>basicVisitMessageNode: DirectJSCodeEmitter>>visitMessageNode: RBMessageNode>>acceptVisitor: DirectJSCodeEmitter>>basicVisitMessageNode: DirectJSCodeEmitter>>visitMessageNode: RBMessageNode>>acceptVisitor: [ :arg | arg acceptVisitor: self ] in DirectJSCodeEmitter>>basicVisitMessageNode: in Block: [ :arg | arg acceptVisitor: self ] OrderedCollection(SequenceableCollection)>>do:separatedBy: DirectJSCodeEmitter>>basicVisitMessageNode: DirectJSCodeEmitter>>visitMessageNode: RBMessageNode>>acceptVisitor: DirectJSCodeEmitter>>visitAssignmentNode: RBAssignmentNode>>acceptVisitor: DirectJSCodeEmitter>>visitBlockStatements:inline: DirectJSCodeEmitter>>visitBlockNode: RBBlockNode>>acceptVisitor: DirectJSCodeEmitter>>basicVisitMessageNode: DirectJSCodeEmitter>>visitMessageNode: RBMessageNode>>acceptVisitor: [ :s | s acceptVisitor: self. stream nextPut: $; ] in DirectJSCodeEmitter>>visitMethodNode: in Block: [ :s | ... OrderedCollection(SequenceableCollection)>>do:separatedBy: DirectJSCodeEmitter>>visitMethodNode: RBMethodNode>>acceptVisitor: DirectJSCodeEmitter>>transpile make[1]: [Makefile:21: interpreter/PowertalkEvaluator.js] Error 1 make[1]: Leaving directory '/home/kend/egg/runtime/js' make: [Makefile:6: js] Error 2

x86:Ubuntu:~/egg >>> uname -a Linux OlIntelLaptop 6.2.0-39-generic #40~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC Thu Nov 16 10:53:04 UTC 2 x86_64 x86_64 x86_64 GNU/Linux

x86:Ubuntu:~/egg >>>

melkyades commented 9 months ago

Hi Ken, this configuration is tested automatically on each merge so I'd suspect there's something odd in your setup.

The transpiler should not be visiting a thisContext node anyway, are you sure your repo is clean?

You might try to make mrproper in your bootstrap/pharo dir (it'll delete almost all changes there, be careful)

KenDickey commented 9 months ago

On 2023-12-17 13:31, Javier Pimas wrote:

Hi Ken, this configuration is tested automatically on each merge so I'd suspect there's something odd in your setup.

Could be. I don't use Intel often, so got ancient Toshiba Satellite laptop out, updated Ubunto, git cloned Egg.

After changing bootstrap/pharo/Makefile ifdef OS to use one less slash in ICEBURG_URL, I get a lot further.

Now dying with False not understanding #orNot:

The transpiler should not be visiting a thisContext node anyway, are you sure your repo is clean?

Tried again w new clone, but same behavior.

You might try to make mrproper in your bootstrap/pharo dir (it'll delete almost all changes there, be careful)

I'll try adding #andNot: and #orNot: and report back ...

melkyades commented 9 months ago

the andNot:, orNot: and friends should be loaded with the Powerlang-compatibility-pharo package that gets loaded automatically by the BaselineOfPowerlang. I don't know how you got a powerlangjs.image without that.

KenDickey commented 9 months ago

Hmmm.. seems to work now in emacs shell (with makefile edit).

How to test?

Thanks much! -KenD

x86:Ubuntu:~ >>> uname -a Linux OlIntelLaptop 6.2.0-39-generic #40~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC Thu Nov 16 10:53:04 UTC 2 x86_64 x86_64 x86_64 GNU/Linux x86:Ubuntu:~ >>> rm -rf Egg x86:Ubuntu:~ >>> git clone https://github.com/powerlang/egg Egg Cloning into 'Egg'... remote: Enumerating objects: 2104, done.
remote: Counting objects: 100% (866/866), done.
remote: Compressing objects: 100% (529/529), done.
remote: Total 2104 (delta 363), reused 753 (delta 303), pack-reused 1238
Receiving objects: 100% (2104/2104), 1.29 MiB | 691.00 KiB/s, done. Resolving deltas: 100% (728/728), done. x86:Ubuntu:~ >>> cd Egg x86:Ubuntu:~/Egg >>> ## Hack ICEBURG_URL x86:Ubuntu:~/Egg >>> make js make -C runtime/js all make[1]: Entering directory '/home/kend/Egg/runtime/js' make -C /home/kend/Egg/bootstrap/pharo bootstrap.image make[2]: Entering directory '/home/kend/Egg/bootstrap/pharo' curl https://get.pharo.org/64/90+vm | bash % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 3054 100 3054 0 0 4615 0 --:--:-- --:--:-- --:--:-- 4613 Downloading the latest 90 Image: http://files.pharo.org/get-files/90/pharoImage-x86_64.zip Pharo.image Downloading the latest pharoVM: http://files.pharo.org/get-files/90/pharo-vm-Linux-x86_64-stable.zip pharo-vm/pharo Creating starter scripts pharo and pharo-ui ./pharo Pharo.image save bootstrap ./pharo bootstrap.image eval --save "(IceRepositoryCreator new url: 'file:///home/kend/Egg'; createRepository) register" IceLibgitRepository(nil) ./pharo bootstrap.image metacello install tonel://. BaselineOfPowerlang --groups=base MetacelloNotification: Fetched -> BaselineOfPowerlang-tonel.1 --- tonel:///home/kend/Egg/bootstrap/pharo --- tonel:///home/kend/Egg/bootstrap/pharo MetacelloNotification: Loading -> BaselineOfPowerlang-tonel.1 --- tonel:///home/kend/Egg/bootstrap/pharo --- tonel:///home/kend/Egg/bootstrap/pharo MetacelloNotification: Loaded -> BaselineOfPowerlang-tonel.1 --- tonel:///home/kend/Egg/bootstrap/pharo --- tonel:///home/kend/Egg/bootstrap/pharo MetacelloNotification: Loading baseline of BaselineOfPowerlang... MetacelloNotification: Fetched -> Powerlang-Compatibility-Pharo-tonel.1 --- tonel:///home/kend/Egg/bootstrap/pharo --- tonel:///home/kend/Egg/bootstrap/pharo MetacelloNotification: Fetched -> Powerlang-SCompiler-tonel.1 --- tonel:///home/kend/Egg/bootstrap/pharo --- tonel:///home/kend/Egg/bootstrap/pharo MetacelloNotification: Fetched -> Powerlang-Core-tonel.1 --- tonel:///home/kend/Egg/bootstrap/pharo --- tonel:///home/kend/Egg/bootstrap/pharo MetacelloNotification: Fetched -> Powerlang-SCompiler-Tests-tonel.1 --- tonel:///home/kend/Egg/bootstrap/pharo --- tonel:///home/kend/Egg/bootstrap/pharo MetacelloNotification: Fetched -> Powerlang-Tests-tonel.1 --- tonel:///home/kend/Egg/bootstrap/pharo --- tonel:///home/kend/Egg/bootstrap/pharo MetacelloNotification: Fetched -> Powerlang-TestsFailing-tonel.1 --- tonel:///home/kend/Egg/bootstrap/pharo --- tonel:///home/kend/Egg/bootstrap/pharo MetacelloNotification: Loading -> Powerlang-Compatibility-Pharo-tonel.1 --- tonel:///home/kend/Egg/bootstrap/pharo --- cache MetacelloNotification: Loaded -> Powerlang-Compatibility-Pharo-tonel.1 --- tonel:///home/kend/Egg/bootstrap/pharo --- cache MetacelloNotification: Loading -> Powerlang-SCompiler-tonel.1 --- tonel:///home/kend/Egg/bootstrap/pharo --- cache NewUndeclaredWarning: SCompiledMethod>>sexpressions (AstcodeDecoder is Undeclared) NewUndeclaredWarning: SCompiledBlock>>newClosure (SClosure is Undeclared) NewUndeclaredWarning: AstcodeEncoder>>encodeLoadRvisitingReceiver (LoadRvisitingReceiverId is Undeclared) MetacelloNotification: Loaded -> Powerlang-SCompiler-tonel.1 --- tonel:///home/kend/Egg/bootstrap/pharo --- cache MetacelloNotification: Loading -> Powerlang-Core-tonel.1 --- tonel:///home/kend/Egg/bootstrap/pharo --- cache MetacelloNotification: Loaded -> Powerlang-Core-tonel.1 --- tonel:///home/kend/Egg/bootstrap/pharo --- cache MetacelloNotification: Loading -> Powerlang-SCompiler-Tests-tonel.1 --- tonel:///home/kend/Egg/bootstrap/pharo --- cache MetacelloNotification: Loaded -> Powerlang-SCompiler-Tests-tonel.1 --- tonel:///home/kend/Egg/bootstrap/pharo --- cache MetacelloNotification: Loading -> Powerlang-Tests-tonel.1 --- tonel:///home/kend/Egg/bootstrap/pharo --- cache MetacelloNotification: Loaded -> Powerlang-Tests-tonel.1 --- tonel:///home/kend/Egg/bootstrap/pharo --- cache MetacelloNotification: Loading -> Powerlang-TestsFailing-tonel.1 --- tonel:///home/kend/Egg/bootstrap/pharo --- cache NewUndeclaredWarning: SExpressionEmulatorTest>>setUp (VirtualImage is Undeclared) NewUndeclaredWarning: SExpressionEmulatorTest>>write (VirtualImage is Undeclared) NewUndeclaredWarning: SExpressionInterpreterTest>>setUp (VirtualImage is Undeclared) NewUndeclaredWarning: SExpressionInterpreterTest>>write (VirtualImage is Undeclared) NewUndeclaredWarning: AstcodeTest>>encode:in: (VirtualImage is Undeclared) NewUndeclaredWarning: AstcodeTest>>test021encodeClassVar (ClassVarId is Undeclared) NewUndeclaredWarning: AstcodeTest>>test021encodeInstVar (InstVarId is Undeclared) NewUndeclaredWarning: AstcodeTest>>test021encodePoolVar (PoolVarId is Undeclared) NewUndeclaredWarning: AstcodeTest>>test023encodeClass (GlobalClassId is Undeclared) NewUndeclaredWarning: AstcodeTest>>test050instVarAssignment (InstVarId is Undeclared) MetacelloNotification: Loaded -> Powerlang-TestsFailing-tonel.1 --- tonel:///home/kend/Egg/bootstrap/pharo --- cache MetacelloNotification: ...finished baseline ./pharo bootstrap.image eval --save "SystemWindow closeTopWindow. GTPlayground openContents: 'first-steps.st' asFileReference contents withSqueakLineEndings" a GTPlayground(id=886532864 title='Playground' pane=a GLMPane(227362816 root))

To open Pharo bootstrap image run:

./pharo-ui bootstrap.image

git remote -v | grep -w pharo-bootstrap || git remote add pharo-bootstrap bootstrap/pharo/pharo-local/iceberg/local/egg/ make[2]: Leaving directory '/home/kend/Egg/bootstrap/pharo' cd /home/kend/Egg/bootstrap/pharo && ./pharo bootstrap.image save powerlangjs cd /home/kend/Egg/bootstrap/pharo && ./pharo powerlangjs.image metacello install tonel://. BaselineOfPowerlang --groups=powerlangjs MetacelloNotification: Fetched -> BaselineOfPowerlang-tonel.1 --- tonel:///home/kend/Egg/bootstrap/pharo --- tonel:///home/kend/Egg/bootstrap/pharo MetacelloNotification: Loading -> BaselineOfPowerlang-tonel.1 --- tonel:///home/kend/Egg/bootstrap/pharo --- tonel:///home/kend/Egg/bootstrap/pharo MetacelloNotification: Loaded -> BaselineOfPowerlang-tonel.1 --- tonel:///home/kend/Egg/bootstrap/pharo --- tonel:///home/kend/Egg/bootstrap/pharo MetacelloNotification: Loading baseline of BaselineOfPowerlang... MetacelloNotification: Fetched -> OCompiler-Pharo-tonel.1 --- tonel:///home/kend/Egg/bootstrap/pharo --- tonel:///home/kend/Egg/bootstrap/pharo MetacelloNotification: Fetched -> OCompiler-Core-tonel.1 --- tonel:///home/kend/Egg/bootstrap/pharo --- tonel:///home/kend/Egg/bootstrap/pharo MetacelloNotification: Fetched -> PowerlangJS-Core-tonel.1 --- tonel:///home/kend/Egg/bootstrap/pharo --- tonel:///home/kend/Egg/bootstrap/pharo MetacelloNotification: Fetched -> PowerlangJS-Tests-tonel.1 --- tonel:///home/kend/Egg/bootstrap/pharo --- tonel:///home/kend/Egg/bootstrap/pharo MetacelloNotification: Fetched -> PowerlangJS-TestsFailing-tonel.1 --- tonel:///home/kend/Egg/bootstrap/pharo --- tonel:///home/kend/Egg/bootstrap/pharo MetacelloNotification: Loading -> OCompiler-Pharo-tonel.1 --- tonel:///home/kend/Egg/bootstrap/pharo --- cache NewUndeclaredWarning: OptimizingRBVisitor>>allActivations (OActivationContext is Undeclared) NewUndeclaredWarning: OptimizingRBVisitor>>defineActivationRecord (OActivationContext is Undeclared) NewUndeclaredWarning: OptimizingRBVisitor>>defineSelf (OLoadImplicit is Undeclared) NewUndeclaredWarning: OptimizingRBVisitor>>initialize (OBasicBlock is Undeclared) NewUndeclaredWarning: OptimizingRBVisitor>>insertReturnSelf (OReturn is Undeclared) NewUndeclaredWarning: OptimizingRBVisitor>>loadArgument: (OLoadOperation is Undeclared) NewUndeclaredWarning: OptimizingRBVisitor>>loadAssociation: (OLoadConstant is Undeclared) NewUndeclaredWarning: OptimizingRBVisitor>>loadAssociation: (OLoadOperation is Undeclared) NewUndeclaredWarning: OptimizingRBVisitor>>loadEnvironment: (OLoadOperation is Undeclared) NewUndeclaredWarning: OptimizingRBVisitor>>loadEnvironmentTemporary:environment: (OLoadOperation is Undeclared) NewUndeclaredWarning: OptimizingRBVisitor>>loadInstance: (OLoadOperation is Undeclared) NewUndeclaredWarning: OptimizingRBVisitor>>loadLiteral: (OLoadConstant is Undeclared) NewUndeclaredWarning: OptimizingRBVisitor>>loadTemporary: (OLoadOperation is Undeclared) NewUndeclaredWarning: OptimizingRBVisitor>>lowerSpecialABI: (OLoadImplicit is Undeclared) NewUndeclaredWarning: OptimizingRBVisitor>>storeAssociation:with: (OLoadConstant is Undeclared) NewUndeclaredWarning: OptimizingRBVisitor>>storeAssociation:with: (OStoreOperation is Undeclared) NewUndeclaredWarning: OptimizingRBVisitor>>storeEnvironmentTemporary:environment:with: (OStoreOperation is Undeclared) NewUndeclaredWarning: OptimizingRBVisitor>>storeInstance:with: (OStoreOperation is Undeclared) NewUndeclaredWarning: OptimizingRBVisitor>>storeTemporary:with: (OStoreOperation is Undeclared) NewUndeclaredWarning: OptimizingRBVisitor>>visitBlockNode: (OBasicBlock is Undeclared) NewUndeclaredWarning: OptimizingRBVisitor>>visitBlockNode: (OBlockClosure is Undeclared) NewUndeclaredWarning: OptimizingRBVisitor>>visitCascadeNode: (OMessageSend is Undeclared) NewUndeclaredWarning: OptimizingRBVisitor>>visitLiteralValueNode: (OLoadConstant is Undeclared) NewUndeclaredWarning: OptimizingRBVisitor>>visitMessageNode: (OMessageSend is Undeclared) NewUndeclaredWarning: OptimizingRBVisitor>>visitReturnNode: (OReturn is Undeclared) MetacelloNotification: Loaded -> OCompiler-Pharo-tonel.1 --- tonel:///home/kend/Egg/bootstrap/pharo --- cache MetacelloNotification: Loading -> OCompiler-Core-tonel.1 --- tonel:///home/kend/Egg/bootstrap/pharo --- cache SystemNotification: OBasicBlock>>dominanceFrontiersUsing:(end is shadowed) SystemNotification: OBasicBlock>>isEmptyPhiBranch(next is shadowed) SystemNotification: OBasicBlock>>movePhisTo:(next is shadowed) SystemNotification: OBasicBlock>>unifyReturns(prev is shadowed) SystemNotification: OBasicBlock>>unifyReturns(end is shadowed) NewUndeclaredWarning: OptimizingBraunAssigner>>allRegistersByPreference (ebp is Undeclared) NewUndeclaredWarning: OptimizingBraunAssigner>>allRegistersByPreference (eax is Undeclared) NewUndeclaredWarning: OptimizingBraunAssigner>>allRegistersByPreference (edx is Undeclared) NewUndeclaredWarning: OptimizingBraunAssigner>>allRegistersByPreference (ecx is Undeclared) NewUndeclaredWarning: OptimizingBraunAssigner>>allRegistersByPreference (esi is Undeclared) NewUndeclaredWarning: OptimizingBraunAssigner>>allRegistersByPreference (rbp is Undeclared) NewUndeclaredWarning: OptimizingBraunAssigner>>allRegistersByPreference (rax is Undeclared) NewUndeclaredWarning: OptimizingBraunAssigner>>allRegistersByPreference (rdx is Undeclared) NewUndeclaredWarning: OptimizingBraunAssigner>>allRegistersByPreference (rcx is Undeclared) NewUndeclaredWarning: OptimizingBraunAssigner>>allRegistersByPreference (rsi is Undeclared) NewUndeclaredWarning: OptimizingBraunAssigner>>allRegistersByPreference (r8 is Undeclared) NewUndeclaredWarning: OptimizingBraunAssigner>>allRegistersByPreference (r9 is Undeclared) NewUndeclaredWarning: OptimizingBraunAssigner>>allRegistersByPreference (r10 is Undeclared) NewUndeclaredWarning: OptimizingBraunAssigner>>allRegistersByPreference (r11 is Undeclared) NewUndeclaredWarning: OptimizingBraunAssigner>>allRegistersByPreference (rbx is Undeclared) NewUndeclaredWarning: OptimizingBraunAssigner>>allRegistersByPreference (r12 is Undeclared) NewUndeclaredWarning: OptimizingBraunAssigner>>allRegistersByPreference (r13 is Undeclared) NewUndeclaredWarning: OptimizingBraunAssigner>>allRegistersByPreference (r14 is Undeclared) NewUndeclaredWarning: OptimizingBraunAssigner>>allRegistersByPreference (r15 is Undeclared) NewUndeclaredWarning: OptimizingBraunAssigner>>getRegisterForSend: (eax is Undeclared) NewUndeclaredWarning: OptimizingBraunAssigner>>getRegisterForSend: (eax is Undeclared) NewUndeclaredWarning: OptimizingCodeEmitter>>assembleExtendedSize: (_ExtendedSize is Undeclared) NewUndeclaredWarning: OptimizingCodeEmitter>>initializeLowLevelAssembler (JITAssembler64 is Undeclared) NewUndeclaredWarning: OptimizingInstructionFragmenter>>fragmentLoadFlags: (_Flags is Undeclared) NewUndeclaredWarning: OptimizingInstructionFragmenter>>fragmentLoadLargeSize: (_ExtendedSize is Undeclared) NewUndeclaredWarning: OptimizingInstructionFragmenter>>fragmentLoadSmallSize: (_SmallSize is Undeclared) NewUndeclaredWarning: OptimizingInstructionFragmenter>>fragmentStoreFlags: (_Flags is Undeclared) NewUndeclaredWarning: OptimizingInstructionFragmenter>>fragmentStoreLargeSize: (_ExtendedSize is Undeclared) NewUndeclaredWarning: OptimizingInstructionFragmenter>>fragmentStoreSmallSize: (_SmallSize is Undeclared) MetacelloNotification: Loaded -> OCompiler-Core-tonel.1 --- tonel:///home/kend/Egg/bootstrap/pharo --- cache MetacelloNotification: Loading -> PowerlangJS-Core-tonel.1 --- tonel:///home/kend/Egg/bootstrap/pharo --- cache MetacelloNotification: Loaded -> PowerlangJS-Core-tonel.1 --- tonel:///home/kend/Egg/bootstrap/pharo --- cache MetacelloNotification: Loading -> PowerlangJS-Tests-tonel.1 --- tonel:///home/kend/Egg/bootstrap/pharo --- cache MetacelloNotification: Loaded -> PowerlangJS-Tests-tonel.1 --- tonel:///home/kend/Egg/bootstrap/pharo --- cache MetacelloNotification: Loading -> PowerlangJS-TestsFailing-tonel.1 --- tonel:///home/kend/Egg/bootstrap/pharo --- cache MetacelloNotification: Loaded -> PowerlangJS-TestsFailing-tonel.1 --- tonel:///home/kend/Egg/bootstrap/pharo --- cache MetacelloNotification: ...finished baseline cd /home/kend/Egg/bootstrap/pharo && ./pharo powerlangjs.image eval "JSTranspiler transpilePowerlangInterpreter" JSTranspiler export IMAGE_SEGMENTS_DIR cd /home/kend/Egg/bootstrap/pharo && ./pharo powerlangjs.image eval "JSTranspiler generateKernelSegment" JSTranspiler make[1]: Leaving directory '/home/kend/Egg/runtime/js' x86:Ubuntu:~/Egg >>> ls bootstrap CODE_OF_CONDUCT.md CONTRIBUTING.md docs LICENSE Makefile modules README.md runtime x86:Ubuntu:~/Egg >>> make js make -C runtime/js all make[1]: Entering directory '/home/kend/Egg/runtime/js' make[1]: Nothing to be done for 'all'. make[1]: Leaving directory '/home/kend/Egg/runtime/js' x86:Ubuntu:~/Egg >>> cd runtime/ x86:Ubuntu:~/Egg/runtime >>> ls js x86:Ubuntu:~/Egg/runtime >>> cd js x86:Ubuntu:~/Egg/runtime/js >>> ls -F bootstrapper.js image-segments/ LICENSE Makefile README.md webside/ ImageSegmentReader.js interpreter/ lmr.js package.json sample-server/

melkyades commented 9 months ago

The make js command should have left a few things in egg/runtime/js. There you'll find a sample-server dir, an interpreter with the transpiled vm and an image-segments folder with kernel.json.

The sample server is a nodejs application that basically reads the kernel.json image and lets you browse it from a web browser. You will need to have node in your system to test it. Egg doesn't come with an IDE written in Smalltalk, but instead has a webside backend.

In order to configure webside, you need two things: (1) to setup the webside server, and (2) to setup the webside backend.

For (1):

git clone git@github.com:guillermoamaral/Webside.git
cd Webside
npm install
npm start

This will start the webside server. You still need to connect to it. For (2): cd /home/kend/Egg/runtime/js/webside npm install

This will install the webside backend dependencies. Finally, start the sample-server:

cd /home/kend/Egg/runtime/js/sample-server
npm start

From your output I also see that our make js isn't generating the compiler.json image segment yet, but still you should be able to do it manually with:

cd /home/kend/Egg/bootstrap/pharo && ./pharo powerlangjs.image eval "JSTranspiler generateCompilerSegment"
melkyades commented 9 months ago

With that setup you'll have:

The image has two main modules and nothing else: Kernel and Compiler. This is in an early alpha stage, so YMMV. We are working on implementing more webside api endpoints to allow doing more stuff, but a this point I think it may even be possible to open a debugger on a doesNotUnderstand message. Code can be changed from the browsers, but it is not possible to save changes back to files yet.

KenDickey commented 9 months ago

No joy. No "start" script found in sample server. Webside brings up browser, but spawns new processes until cursor freezes and system power cycle to reboot. Same result with FireFox, Falkon, and Chromium browsers.

==== x86:Ubuntu:~/Webside >>> npm start

webside2@0.1.0 start react-scripts start

2023-12-18T17_16_51_807Z-debug-0.log

KenDickey commented 9 months ago

OK. Magic incantation for sample-server is (resources/js dir)

node sample-server/index.js

NOT

npm start

melkyades commented 9 months ago

Yes! Sorry about that!

melkyades commented 9 months ago

Were you able to get the "full" thing working?

KenDickey commented 9 months ago

I get the PowerlangJS Web IDE up. I can view class definitions and method defs in some classes (else BackendError). On my old laptop is verrrry sloooow. I don't know how to eval (no workspace).

melkyades commented 9 months ago

Ok great, you are getting into the limits of what is possible right now. Just one detail, if you have a fast computer, you should be able to setup webside server there, open the browser and connect to the remotely running egg endpoint. We have not tested this with egg, but it should work fine, modulo setup of network permissions.

KenDickey commented 9 months ago

Looks like connection, but no access

'String' BackendError: "Cannot get class names from http://192.168.50.238:9005/classes?names=true"

melkyades commented 9 months ago

You can check the requests and responses in the browser inspector to see what's going on. Make sure to open the inspector before performing the action that fails and opening the network tab (I use chrome but I believe ff is the same or very similar).

I'll be out of reach for a couple of days, hope you can move a little bit forward with this in the meantime. Merry Christmas! šŸŽ„šŸŽ„šŸŽ„

KenDickey commented 9 months ago

Pharo does not run on an arm64 but I copied the built runtime/js folder from Intel onto the egg repo on a Pinebook and am able to run Webside and ProtoBeeJS runtime on the Pinebook.

Not fast, but fast enough to be usable.

Merry Christmas to you as well!

-KenD