tag:forum.world.st,2006:forum-3068605Nabble - Smalltalk VM - Beginners2024-03-28T02:31:17Ztag:forum.world.st,2006:post-5120809Embedded Squeak/Cuis2020-08-22T14:41:55Z2020-08-22T14:41:55ZKenDickey
The saying goes
<br/> - once is happenstance
<br/> - twice is just circumstance
<br/> - the third time and you have discovered a Natural Law
<br/><br/>So what does this have to do with anything?
<br/><br/>Well, I now have a revitalized vm-display-fbdev working on
<br/> Raspberry Pi 3 -- Alpine Linux
<br/> Raspberry Pi 4 -- Alpine Linux
<br/>and
<br/> LePotato (AML-s905x-cc) -- Armbian (Debian) Linux
<br/><br/>Which run Squeak and Cuis images.
<br/><br/>Uses libevdev and a framebuffer. Works with libc or MUSL. No X11!
<br/><br/><br/>Look, ma! Smalltalk IS the window system!
<br/><br/>Having done it is a proof of concept. ;^)
<br/><br/><br/><a href="https://github.com/KenDickey/opensmalltalk-vm" target="_top" rel="nofollow" link="external">https://github.com/KenDickey/opensmalltalk-vm</a><br/> or just the salients in
<br/><a href="https://github.com/KenDickey/FBDevVM" target="_top" rel="nofollow" link="external">https://github.com/KenDickey/FBDevVM</a><br/><br/>See some notes in the top-level directories and look at
<br/>'build.linux68ARMv8/HowToBuild'.
<br/><br/>Any help in Sqeakifying/cleaning the sources is appreciated.
<br/><br/>I only use Arm chips. Any brave souls want to test using amd64/intel?
<br/><br/>Enjoy!
<br/>-KenD
<br/>_______________________________________________
<br/>VM-beginners mailing list
<br/><a href="/user/SendEmail.jtp?type=node&node=5120809&i=0" target="_top" rel="nofollow" link="external">[hidden email]</a>
<br/><a href="http://lists.squeakfoundation.org/mailman/listinfo/vm-beginners" target="_top" rel="nofollow" link="external">http://lists.squeakfoundation.org/mailman/listinfo/vm-beginners</a><br/>
<div class="signature weak-color">
-KenD
<br/>
</div>
tag:forum.world.st,2006:post-5117112Stability of the external plugin interface2020-05-23T09:25:57Z2020-05-23T09:25:57ZPhilip Bernhart
Hello,
<br/><br/>I want to write an external plugin - I think,
<br/>for having a fast interface to a C library.
<br/><br/>How is that currently done? How stable is that
<br/>interface, will it change in the near future?
<br/><br/>What is the current best documentation for doing
<br/>that? Is there an example plugin?
<br/><br/><br/>Thanks for your time,
<br/>Philip
<br/>_______________________________________________
<br/>VM-beginners mailing list
<br/><a href="/user/SendEmail.jtp?type=node&node=5117112&i=0" target="_top" rel="nofollow" link="external">[hidden email]</a>
<br/><a href="http://lists.squeakfoundation.org/mailman/listinfo/vm-beginners" target="_top" rel="nofollow" link="external">http://lists.squeakfoundation.org/mailman/listinfo/vm-beginners</a><br/>
tag:forum.world.st,2006:post-5117135State of the Lowcode integration?2020-05-24T11:00:59Z2020-05-24T11:00:59ZPhilip Bernhart
Hi,
<br/><br/>I have noticed while reading the VM source, that
<br/>there is this called lowcode and there is a paper
<br/>about it at <a href="https://hal.inria.fr/hal-01353884/document" target="_top" rel="nofollow" link="external">https://hal.inria.fr/hal-01353884/document</a><br/><br/>What is the state of this vm extension? Is that available
<br/>in Squeak or only in pharo? It seems to be linked into the
<br/>build.win32x86/squeak.cog.spur.lowcode
<br/><br/>Thanks for your time,
<br/>Philip
<br/>_______________________________________________
<br/>VM-beginners mailing list
<br/><a href="/user/SendEmail.jtp?type=node&node=5117135&i=0" target="_top" rel="nofollow" link="external">[hidden email]</a>
<br/><a href="http://lists.squeakfoundation.org/mailman/listinfo/vm-beginners" target="_top" rel="nofollow" link="external">http://lists.squeakfoundation.org/mailman/listinfo/vm-beginners</a><br/>
tag:forum.world.st,2006:post-5115254squeak in batch mode2020-04-20T11:20:49Z2020-04-20T11:20:49Zstes
-----BEGIN PGP SIGNED MESSAGE-----
<br/>Hash: SHA256
<br/><br/><br/>Hi,
<br/><br/>I wonder whether there is a special class or mechanism to use Squeak in
<br/>"batch mode".
<br/><br/>Suppose for example that you have a script:
<br/><br/>bash-4.4$ cat hello.sq
<br/><br/>TranscriptStream redirectToStdOut.
<br/>Transcript show:'hello world'.
<br/>Smalltalk quitPrimitive
<br/><br/><br/>What seems to work - provided that the squeak.image has an open Transcript -
<br/>then :
<br/><br/>/usr/bin/squeak squeak.image hello.sq > out
<br/><br/>or
<br/><br/>/usr/bin/squeak -headless squeak.image hello.sq > out
<br/><br/>writes 'hello world' to the file 'out'.
<br/><br/>It's an expensive way to do that, but it works, it launches squeak,
<br/>and in the display one can see the Transcript doing show:'hello world',
<br/>and then the image quits (with the 'quitPrimitive').
<br/><br/>With the -headless option the image is doing the same thing without display.
<br/><br/>Two remarks:
<br/><br/> - this works in Squeak 4.6 4.16.7-3775
<br/> - for some reason this doesn't seem to work in Squeak 5.3 (at least for
<br/>me,
<br/> this may be due to my VM in 5.3 not working correctly or some other
<br/>oversight)
<br/><br/>Is there perhaps a "BatchTranscript" class which is meant to be used for
<br/>this?
<br/><br/>Or a module "batch" for using Squeak in batch mode ...
<br/><br/>Maybe I'm doing something wrong in V5.3 because I think a few days ago,
<br/>it was working somehow also in 5.3 for me, not sure.
<br/><br/>Anyway if there were would exist some sort of BatchTranscript in SqueakMap
<br/>or
<br/>Monticello , that would help...
<br/><br/>Thanks!
<br/>David Stes
<br/><br/><br/>-----BEGIN PGP SIGNATURE-----
<br/>Version: GnuPG v2
<br/><br/>iQEcBAEBCAAGBQJenefuAAoJEAwpOKXMq1Ma4vwH/AzTf4xhPJiRj91k6n6+NEqu
<br/>wRww4qUMfYi6CNMNud068emed/upBEfCLI14BYfYhZJtmbgyxZ7QeC9osQtwa63T
<br/>EOAQlNf1fMlCaOVNW54co8IVuvYvvK3SK+NnIVBW1QIac8KJFii7RqIYPXoXn31r
<br/>OYNBiqHtr9HGi0P+wITutVwnU9LJ6GtDPt5qzjje5XfXIuR41JbpenjyIahYJKJP
<br/>W7Be8KMrn+CtfOMQsA/ZmwouJqercvE79TklS45pUBpesiLh4dc9u4NokVBaRAwY
<br/>MBuQugwKLGq1BYU4yeqnpJmicZ+TtK+4U0tn4Mc92vek1KmDAyUsut62NhHMqKo=
<br/>=edcJ
<br/>-----END PGP SIGNATURE-----
<br/><br/><br/><br/><br/>--
<br/>Sent from: <a href="http://forum.world.st/Smalltalk-VM-Beginners-f3068605.html" target="_top" rel="nofollow" link="external">http://forum.world.st/Smalltalk-VM-Beginners-f3068605.html</a><br/>_______________________________________________
<br/>VM-beginners mailing list
<br/><a href="/user/SendEmail.jtp?type=node&node=5115254&i=0" target="_top" rel="nofollow" link="external">[hidden email]</a>
<br/><a href="http://lists.squeakfoundation.org/mailman/listinfo/vm-beginners" target="_top" rel="nofollow" link="external">http://lists.squeakfoundation.org/mailman/listinfo/vm-beginners</a><br/>
tag:forum.world.st,2006:post-5113705squeak: could not find any display driver2020-03-23T05:48:42Z2020-03-23T05:48:42Zstes
<br/>O.S. : Solaris 11.4 (for amd64 / x64 intel)
<br/><br/>I'm trying the (old? 32bit) vm for Solaris from : <a href="http://squeakvm.org/unix/" target="_top" rel="nofollow" link="external">http://squeakvm.org/unix/</a><br/><br/>The following works fine on Solaris 11.4 (installation as ordinary user, not
<br/>root) :
<br/><br/># Squeak-4.10.2.2614-solaris2.11_i386.sh -prefix=$HOME/squeak/
<br/>Installing Squeak-4.10.2.2614 for solaris2.11_i386
<br/><br/>Then when trying to start the VM I get on this Solaris instance (which is a
<br/>virtual instance running on a virtualisation software KVM / ovirtengine
<br/>using VNC) :
<br/><br/># bin/squeak.sh unix-4.10.2.image
<br/>CHECKING cogvm
<br/>which: no cogvm in (/usr/bin:/bin)
<br/>CHECKING squeakvm
<br/>*squeak: could not find any display driver*
<br/>Abort (core dumped)
<br/><br/>When I set the X DISPLAY to a remote X server it works, I mean :
<br/>bin/squeak.sh unix-4.10.2.image in that case does not issue a "could not
<br/>find any display driver" and on the remote X server I can use the Squeak
<br/>4.10 environment (running on Solaris 11.4)
<br/><br/>How can I see which display driver it is missing or trying to use ??
<br/><br/><br/><br/><br/>--
<br/>Sent from: <a href="http://forum.world.st/Smalltalk-VM-Beginners-f3068605.html" target="_top" rel="nofollow" link="external">http://forum.world.st/Smalltalk-VM-Beginners-f3068605.html</a><br/>_______________________________________________
<br/>VM-beginners mailing list
<br/><a href="/user/SendEmail.jtp?type=node&node=5113705&i=0" target="_top" rel="nofollow" link="external">[hidden email]</a>
<br/><a href="http://lists.squeakfoundation.org/mailman/listinfo/vm-beginners" target="_top" rel="nofollow" link="external">http://lists.squeakfoundation.org/mailman/listinfo/vm-beginners</a><br/>
tag:forum.world.st,2006:post-5113709current vm for Solaris ?2020-03-23T06:18:14Z2020-03-23T06:18:14Zstes
<br/>The VM from several years ago still seems to work very well on Solaris 11.4
<br/>(amd64/intel64),
<br/>however what VMs should work fine in a UNIX environment like this and be
<br/>able to run Squeak images more recent that 4.10 ??
<br/><br/>The <a href="http://squeakvm.org/unix/" target="_top" rel="nofollow" link="external">http://squeakvm.org/unix/</a> is something that I found browsing through the
<br/>various VMs that are around, and it works, so that is great, but what other
<br/>VMs could I test/try on Solaris 11.4 ??
<br/><br/><br/><br/>--
<br/>Sent from: <a href="http://forum.world.st/Smalltalk-VM-Beginners-f3068605.html" target="_top" rel="nofollow" link="external">http://forum.world.st/Smalltalk-VM-Beginners-f3068605.html</a><br/>_______________________________________________
<br/>VM-beginners mailing list
<br/><a href="/user/SendEmail.jtp?type=node&node=5113709&i=0" target="_top" rel="nofollow" link="external">[hidden email]</a>
<br/><a href="http://lists.squeakfoundation.org/mailman/listinfo/vm-beginners" target="_top" rel="nofollow" link="external">http://lists.squeakfoundation.org/mailman/listinfo/vm-beginners</a><br/>
tag:forum.world.st,2006:post-5105197Missing symbols in vm-sound-alsa, vm-sound-pulse2019-10-09T02:30:25Z2019-10-09T02:30:25ZPhilip Bernhart
Hello,
<br/><br/>I encountered with the cog.spur release 201901172323 that
<br/>the vm-sound-alsa and vm-sound-pulse plugins don't find
<br/>the respective symbols in the libraries when the relevant
<br/>system libraries are actually installed.
<br/><br/>I get:
<br/><br/>dlopen: sqcogspur64linux/lib/squeak/5.0-201901172323/vm-sound-pulse.so:
<br/> undefined symbol: pa_simple_write
<br/><br/>dlopen: sqcogspur64linux/lib/squeak/5.0-201901172323/vm-sound-ALSA.so:
<br/>undefined symbol: snd_mixer_selem_set_playback_switch_all
<br/><br/>The interesting thing about that is that I have these libraries
<br/>installed and they contain these symbols:
<br/><br/>$ strings /usr/lib/libasound.so | grep snd_mixer_selem_set_playback_switch_all
<br/>snd_mixer_selem_set_playback_switch_all
<br/><br/>$ strings /usr/lib/libpulse-simple.so | grep pa_simple_write
<br/>pa_simple_write
<br/><br/><br/>Do you have any suggestions?
<br/><br/><br/>Thanks for your time,
<br/>Philip
<br/>_______________________________________________
<br/>VM-beginners mailing list
<br/><a href="/user/SendEmail.jtp?type=node&node=5105197&i=0" target="_top" rel="nofollow" link="external">[hidden email]</a>
<br/><a href="http://lists.squeakfoundation.org/mailman/listinfo/vm-beginners" target="_top" rel="nofollow" link="external">http://lists.squeakfoundation.org/mailman/listinfo/vm-beginners</a><br/>
tag:forum.world.st,2006:post-5102909Pros/Cons of VM Instruction sets2019-08-28T10:47:46Z2019-08-28T10:47:46ZPhilip Bernhart
Hello,
<br/><br/>what are the good things and the bad things in the
<br/>Squeak VM instruction sets?
<br/><br/>I wondered especially if the VM instruction set is
<br/>"okey-ish" from the security perspective after reading
<br/>Alan Kays "Early History of Smalltalk" as he admired
<br/>especially in there the Burrough B5000 mainframe computer
<br/>and it seems to me that some of its design decisions were
<br/>introduced into following Smalltalk VM implementations.
<br/><br/>Also it seems to me, that there were experiments at Xerox Parc
<br/>where you sent someone an object for evaluation and received
<br/>the computation result, which kind of needs a "secure" instruction
<br/>set. I know that in these times, the security was basically not
<br/>present. Still I wonder of how the instruction set was considered
<br/>to be secure as some minimal thought was present it seems to me.
<br/><br/>Also what are the performance / memory implications from the instruction
<br/>sets?
<br/><br/><br/>Thanks for your time,
<br/>Philip
<br/>_______________________________________________
<br/>VM-beginners mailing list
<br/><a href="/user/SendEmail.jtp?type=node&node=5102909&i=0" target="_top" rel="nofollow" link="external">[hidden email]</a>
<br/><a href="http://lists.squeakfoundation.org/mailman/listinfo/vm-beginners" target="_top" rel="nofollow" link="external">http://lists.squeakfoundation.org/mailman/listinfo/vm-beginners</a><br/>
tag:forum.world.st,2006:post-5100167Calling VM C functions from cogged primitives2019-06-10T10:08:50Z2019-06-10T10:08:50Zlgvidal
Hello!
<br/><br/>We've been working with storing some object metadata on instance variable
<br/>assignments (i.e. the assigned object's class). Doing so in the "Stack VM"
<br/>meant adding some code to certain primitives, we now find ourselves failing
<br/>to extend this functionality to the Cog VM (StackToRegisterMappingCogit).
<br/><br/>As a proof of concept, we decided to use non-inlined C versions of the
<br/>methods we defined for the Stack VM in the cogged primitives. We tried
<br/>defining a new trampoline (with 3 arguments and no return) for this and then
<br/>generating calls to it from the cogged primitive generators, but to no
<br/>avail.
<br/><br/>Is this the way to go or is there an easier way to call a VM C function from
<br/>a cogged primitive?
<br/>Is there any documentation on how to define and use a new trampoline?
<br/><br/>Thanks in advance!
<br/>Leandro
<br/><br/><br/><br/><br/>--
<br/>Sent from: <a href="http://forum.world.st/Smalltalk-VM-Beginners-f3068605.html" target="_top" rel="nofollow" link="external">http://forum.world.st/Smalltalk-VM-Beginners-f3068605.html</a><br/>_______________________________________________
<br/>VM-beginners mailing list
<br/><a href="/user/SendEmail.jtp?type=node&node=5100167&i=0" target="_top" rel="nofollow" link="external">[hidden email]</a>
<br/><a href="http://lists.squeakfoundation.org/mailman/listinfo/vm-beginners" target="_top" rel="nofollow" link="external">http://lists.squeakfoundation.org/mailman/listinfo/vm-beginners</a><br/>
tag:forum.world.st,2006:post-5099095Haiku OS VM2019-05-10T03:07:23Z2019-05-10T03:07:23Zkuszi
Hello!
I'm interested <b>how difficult it could be to create a viable smalltalk VM (squeak)</b> to be run on
Haiku. I've realized that there was a version for BeOS once but I checked (also with the maintainer) and it seems to be stopped.
I wonder what I need to cimpile a current version and
bind to haiku (BeOS) infrastructure (net - graphics - audio).
I used to build software on linux for myself with minor changes or configuration only, however
I'm curious...
<br/><hr align="left" width="300" />
Sent from the <a href="http://forum.world.st/Smalltalk-VM-Beginners-f3068605.html" target="_top" rel="nofollow" link="external">Smalltalk VM - Beginners mailing list archive</a> at Nabble.com.<br/><br />_______________________________________________
<br/>VM-beginners mailing list
<br/><a href="/user/SendEmail.jtp?type=node&node=5099095&i=0" target="_top" rel="nofollow" link="external">[hidden email]</a>
<br/><a href="http://lists.squeakfoundation.org/mailman/listinfo/vm-beginners" target="_top" rel="nofollow" link="external">http://lists.squeakfoundation.org/mailman/listinfo/vm-beginners</a><br/>
tag:forum.world.st,2006:post-5093407A couple of vm beginner questions2019-01-12T14:56:40Z2019-01-12T14:56:40ZPhilip Bernhart
Hi,
<br/><br/>I have a bunch of "beginner"(?) questions:
<br/><br/>1. How to ensure that my local "stable" build from "stable"
<br/> sources corresponds to the "stable" vm binary published
<br/> on squeak.org? For example some time ago I build from the
<br/> stable tag 201807260206 (= commit
<br/> d1f3fb1c76ad72155d3becc8f9bed7d70e9485a9) which resulted in a
<br/> VM which somehow had some weird and hard to understand issues
<br/> with numbers corresponding in blaming the running smalltalk
<br/> implementation in my case cuis:
<br/> <a href="https://github.com/Cuis-Smalltalk/Cuis-Smalltalk-Dev/issues/145" target="_top" rel="nofollow" link="external">https://github.com/Cuis-Smalltalk/Cuis-Smalltalk-Dev/issues/145</a><br/><br/>2. How to build the VM for a platform which has the dietlibc or a
<br/> different implementation of the standard C library?
<br/> I once tried to build it on alpine linux so to get
<br/> a minimal and small baseimage of it running to be able to use
<br/> it in within Docker containers without waiting 30 minutes for
<br/> the build, because of added sizes and complexities when relying
<br/> on a more "standard" base linux system (*cough* ubuntu *cough*).
<br/><br/>3. What is now the supposed "best practice" of adding functionality
<br/> to squeak? Say I want to add to it support for password hashing
<br/> using libsodium and the library blocks the VM when trying
<br/> to do more elaborate calls, so an async call would be much less
<br/> of a pain from the user perspective. So async calling in a
<br/> FFI library of that code or moving that into a VM plugin so
<br/> it's much wider supported?
<br/><br/>4. How to specialized VMs for special use cases? Like for example
<br/> I would want to build the VM for some architectures where there
<br/> is no binary around and which don't like or support any JIT
<br/> implementation. How do I correctly select the VM, configure and
<br/> build it and also can ensure that it works?
<br/><br/>That's probably already too much to be answered in one mail.
<br/><br/><br/>Thanks,
<br/>Philip
<br/>_______________________________________________
<br/>VM-beginners mailing list
<br/><a href="/user/SendEmail.jtp?type=node&node=5093407&i=0" target="_top" rel="nofollow" link="external">[hidden email]</a>
<br/><a href="http://lists.squeakfoundation.org/mailman/listinfo/vm-beginners" target="_top" rel="nofollow" link="external">http://lists.squeakfoundation.org/mailman/listinfo/vm-beginners</a><br/>
tag:forum.world.st,2006:post-5095999Porting the vm to arm aarch642019-02-25T14:00:29Z2019-02-25T14:00:29ZPhilip Bernhart
Hi,
<br/><br/>I tried recently to compile the VM on a pine64,
<br/>which is a 64bit ARM variant. I stumbled over
<br/>that autoconf couldn't find the platform type
<br/>an issue which I'm investigating.
<br/><br/>Anyway some suggestions regarding getting the
<br/>VM running on a slightly different platform
<br/>would be nice.
<br/><br/><br/>Thanks,
<br/>Philip
<br/>_______________________________________________
<br/>VM-beginners mailing list
<br/><a href="/user/SendEmail.jtp?type=node&node=5095999&i=0" target="_top" rel="nofollow" link="external">[hidden email]</a>
<br/><a href="http://lists.squeakfoundation.org/mailman/listinfo/vm-beginners" target="_top" rel="nofollow" link="external">http://lists.squeakfoundation.org/mailman/listinfo/vm-beginners</a><br/>
tag:forum.world.st,2006:post-5091691Re: Steps toward aarch64 Cog2018-12-22T22:46:22Z2018-12-22T22:46:22ZKenDickey
Greetings,<div><br></div><div>Made the mistake of running the FFI unit tests in Cuis, which directly led me down the rabbit hole.</div><div><br></div><div>Think I have made some progress in understanding, but don't yet see how to teach VMMaker to get code from register.</div><div><br></div><div>Here is crux of one of my investigations:</div><div>==============================</div><div><br></div><div>===== C source ======sqFFITestFuncs.c<br>
<br>
/* test passing and returning doubles */<br>
EXPORT(double) ffiTestDoubles(double d1, double d2) {<br>
printf("The two floats are %f and %f\n", (float)d1, (float)d2);<br>
return d1+d2;<br>
}<br>
<br>
===== ASM === from objectdump -d<br>
0000000000000ac0 <ffiTestDoubles>:<br>
ac0: a9be7bfd stp x29, x30, [sp, #-32]!<br>
ac4: 90000000 adrp x0, 0 <ffiTestChars><br>
ac8: 91000000 add x0, x0, #0x0<br>
acc: 910003fd mov x29, sp<br>
ad0: 6d0127e8 stp d8, d9, [sp, #16]<br>
ad4: 1e604009 fmov d9, d0<br>
ad8: 1e604028 fmov d8, d1<br>
adc: 1e624000 fcvt s0, d0<br>
ae0: 1e624021 fcvt s1, d1<br>
ae4: 1e22c000 fcvt d0, s0<br>
ae8: 1e22c021 fcvt d1, s1<br>
aec: 94000000 bl 0 <printf><br>
af0: 1e682920 fadd d0, d9, d8<br>
af4: 6d4127e8 ldp d8, d9, [sp, #16]<br>
af8: a8c27bfd ldp x29, x30, [sp], #32<br>
afc: d65f03c0 ret<br>
// result returned in d0 (NB: _not_ x0)<br>
=================Cuis Workspace (after FFI unit test)===========<br>
FFITestLibrary ffiTestDoubles: 30.0 with: 65.0. <br>
"--> 00.00558872584952 -- should be 95.0"<br>
=================Terminal Output===================================<br>
The two floats are 30.000000 and 65.000000<br>
===================================================================<br>
FFIPlugin>>ffiCreateReturnOop: retVal<br>
...<br>
<br>
^interpreterProxy floatObjectOf: (self ffiReturnFloatValue).<br>
====================================================================<br>
My theory: return value taken from x0, not d0.==============================================Is this a sensible interpretation?Any hints from Heloise?<br>Thanks much,-KenDPS: Merry Christmas! (I would use Xmas, but who knows what is lurking under the X? 8^)<br></div><div><br></div><div><br></div>
<br />_______________________________________________
<br/>VM-beginners mailing list
<br/><a href="/user/SendEmail.jtp?type=node&node=5091691&i=0" target="_top" rel="nofollow" link="external">[hidden email]</a>
<br/><a href="http://lists.squeakfoundation.org/mailman/listinfo/vm-beginners" target="_top" rel="nofollow" link="external">http://lists.squeakfoundation.org/mailman/listinfo/vm-beginners</a><br/>
<div class="signature weak-color">
-KenD
<br/>
</div>
tag:forum.world.st,2006:post-5091105VMMaker assert failure2018-12-16T13:54:41Z2018-12-16T13:54:41ZKenDickey
Greetings,
<br/><br/>I am using VMMaker on RasPi3 Raspian 32 bit.
<br/><br/>I have built the gdbarm32 debugger plugin and am trying to generate the VM source code.
<br/><br/>I hit an assert because
<br/> #'strcpy:_:' numArgs. --> -1
<br/><br/>I notice that in Cuis,
<br/> #'strcpy:_:' numArgs. --> 2
<br/><br/>Perhaps a recent change in #Character>>isLetter ..??
<br/><br/>Changing the test in #String>>numArgs so that $_ is allowed in place of letters allows codegen to complete.
<br/><br/>Am I doing the right thing here?
<br/><br/>Thanks much,
<br/>-KenD
<br/>_______________________________________________
<br/>VM-beginners mailing list
<br/><a href="/user/SendEmail.jtp?type=node&node=5091105&i=0" target="_top" rel="nofollow" link="external">[hidden email]</a>
<br/><a href="http://lists.squeakfoundation.org/mailman/listinfo/vm-beginners" target="_top" rel="nofollow" link="external">http://lists.squeakfoundation.org/mailman/listinfo/vm-beginners</a><br/>
<div class="signature weak-color">
-KenD
<br/>
</div>
tag:forum.world.st,2006:post-5090803aarch64 Linux squeak-vm2018-12-12T17:51:41Z2018-12-12T17:51:41ZKenDickey
I have built a stack-spur-vm from git sources on
<br/> LePotato (Armbian)
<br/> Raspberry Pi 3 (ArchLinuxArm)
<br/>and
<br/> Samsung Chromebook Plus (Linux under ChromeOS)
<br/><br/>In all cases, the code built fine and the resulting VM ran both Squeak and Cuis spur images.
<br/><br/>Many thanks to all!
<br/>-KenD
<br/>_______________________________________________
<br/>VM-beginners mailing list
<br/><a href="/user/SendEmail.jtp?type=node&node=5090803&i=0" target="_top" rel="nofollow" link="external">[hidden email]</a>
<br/><a href="http://lists.squeakfoundation.org/mailman/listinfo/vm-beginners" target="_top" rel="nofollow" link="external">http://lists.squeakfoundation.org/mailman/listinfo/vm-beginners</a><br/>
<div class="signature weak-color">
-KenD
<br/>
</div>
tag:forum.world.st,2006:post-5090629aarch642018-12-10T19:37:51Z2018-12-10T19:37:51ZKenDickey
Keeping to the simplest thing that works.
<br/><br/>The diffs/patches are applied to platforms/unix/vm and /config.
<br/><br/>Builds and works on LePotato Armbian with Cuis 5.0
<br/><br/>Builds and works on RasPi3 ArchLinuxArm with Cuis 5.0 & Squeak 5.2
<br/><br/>Test runner results:
<br/><br/>>> Squeak 5.2 #18229
<br/> 2514 run, 4395 passes, 39 expected failures, 77 failures, 3 errors
<br/>>> Cuis 5.0 #3485 with all standard packages loaded
<br/> 1046 run, 957 passws, 66 failed, 23 errors [+ one SqueakSSLTest hung]
<br/><br/>I have not tested anything else.
<br/><br/>I think the attached code diffs are small enough that someone out there with access to the GIT tree could fold in the changes.
<br/><br/>Please let me know when the GIT tree is updated (I can test again) and what else I should do.
<br/><br/>Cheers,
<br/>-KenD
<br/><br />_______________________________________________
<br/>VM-beginners mailing list
<br/><a href="/user/SendEmail.jtp?type=node&node=5090629&i=0" target="_top" rel="nofollow" link="external">[hidden email]</a>
<br/><a href="http://lists.squeakfoundation.org/mailman/listinfo/vm-beginners" target="_top" rel="nofollow" link="external">http://lists.squeakfoundation.org/mailman/listinfo/vm-beginners</a><br/><!--start-attachments--><div class="small"><br/><img src="https://forum.world.st/images/icon_attachment.gif" > <strong>ARMv8Squeak.tgz</strong> (2K) <a href="https://forum.world.st/attachment/5090629/0/ARMv8Squeak.tgz" target="_top" rel="nofollow" link="external">Download Attachment</a></div><!--end-attachments-->
<div class="signature weak-color">
-KenD
<br/>
</div>
tag:forum.world.st,2006:post-5090523aarch64 stack spur progress2018-12-08T17:24:51Z2018-12-08T17:24:51ZKenDickey
<div>Small progress.</div><div><br></div><div>I now have a squeak which runs spur format images on arm64 with only 64 bit libs:</div><div><br></div> sqstkspur64linuxht/lib/squeak/5.0-20181206231/*<div><br></div><div>This is a proof of concept, as I hacked several files to get here, basically for null cases.</div><div><br></div><div>In particular, I have a custom "mvm" which sets opts</div><div> -D__arm64__</div><div> -D__ARM_ARCH_8A__</div><div>and <br></div><div> TARGET_ARCH="-march=armv8-a"</div><div><br></div><div>which are used in "sqUnixMain.c" and "sqUnixHeartbeat.c"</div><div><br></div><div>And of course I added a trivial case to config.guess<br></div><div> aarch64:Linux:*:*)<br> echo ${UNAME_MACHINE}-unknown-linux-gnu<br> exit 0 ;;<br><br></div><div>This compiled and ran OK on LePotato (AML-S905X-CC) soc, tested with Cuis5.0-3485.image.<br></div><div><br></div><div>Armbian:aarch64:~ >>> uname -a<br> Linux spud 4.14.70-meson64 #269 SMP PREEMPT Wed Sep 19 11:21:29 CEST 2018 aarch64 GNU/Linux<br></div><div><br></div><div>How do I make this regular/harmless? What testing? ...</div><div><br></div><div>I was thinking perhaps the "mvm" in<br></div><div> oscogvm/build.linux64x64/squeak.stack.spur/buildARM64/</div><div><br></div><div>Thanks again,</div><div>-KenD<br></div>
<br />_______________________________________________
<br/>VM-beginners mailing list
<br/><a href="/user/SendEmail.jtp?type=node&node=5090523&i=0" target="_top" rel="nofollow" link="external">[hidden email]</a>
<br/><a href="http://lists.squeakfoundation.org/mailman/listinfo/vm-beginners" target="_top" rel="nofollow" link="external">http://lists.squeakfoundation.org/mailman/listinfo/vm-beginners</a><br/>
<div class="signature weak-color">
-KenD
<br/>
</div>
tag:forum.world.st,2006:post-5090487aarch64 squeak-vm2018-12-07T10:24:31Z2018-12-07T10:24:31ZKenDickey
<br>To recap,<div><br></div><div>I was able to build the older Debian package (4.10.2.2614) and, with a simple addition to config.guess, the Squeak.Org vm (4.16.5-3765) under aarch64 Armbian Linux. This withOUT 32 bit libs.</div><div><br></div><div>I have started down the trail toward oscogvm/build.linux64x64/squeak.stack.spur.</div><div><br></div><div>The build/mvm file has x86 flags ("TARGET_ARCH=-m64" "-msse2"), and I need to set a number of flags, based on email with Tim (Thanks!) to set __arm64__ and ARM64 and adjust sqUnixMain.c for aarch64.</div><div><br></div><div>Given that I have not done C/Bash/Make for a couple of decades, any help in deciding where these flags are set and which of the 4736 gcc flags need to be set would be most welcome. The "-march=native" flag certainly won't do for a cross-platform build.</div><div><br></div><div>So the proximate bits I see are</div><div> [1] what flags should be set in mvm (cross-plartform)</div><div> [2] what flags set in config.guess</div><div> [3] what aarch specifics are needed in sqUnixMain.c (and possibly platform/unix/vm/include_ucontext,h)</div><div><br></div><div>After that, of course, is squeak.cog.spur and relearning gdb, sigh.</div><div><br></div><div>Just muddling through,</div><div>-KenD</div><div><blockquote><br>----- Original Message -----<br><div id="origionalMessageFromField" style="width:100%;background:rgb(228,228,228);"><div style="font-weight:bold;">From:</div> "Eliot Miranda" <<a href="/user/SendEmail.jtp?type=node&node=5090487&i=0" target="_top" rel="nofollow" link="external">[hidden email]</a>></div><br><div id="origionalMessageToField" style="font-weight:bold;">To:</div><<a href="/user/SendEmail.jtp?type=node&node=5090487&i=1" target="_top" rel="nofollow" link="external">[hidden email]</a>><br><div id="origionalMessageSentField" style="font-weight:bold;">Cc:</div><br><div style="font-weight:bold;">Sent:</div>Thu, 6 Dec 2018 06:27:34 -0800<br><div id="origionalMessageSubjectField" style="font-weight:bold;">Subject:</div>Re: [Vm-dev] [Vm-beginners] aarch64 squeak-vm<br><br><br>
Hi Ken,<br>
<br>
I just subscribed to the list. Could you send your message again, specifying what exactly you want help with (understanding what’s going on, how to find the set if predefined macros on your system, where to look for the relevant definitions, etc)? Then I’ll respond.<br>
<br>
Cheers<br>
_,,,^..^,,,_ (phone)<br>
Eliot<br><br>
</blockquote></div>
<br />_______________________________________________
<br/>VM-beginners mailing list
<br/><a href="/user/SendEmail.jtp?type=node&node=5090487&i=2" target="_top" rel="nofollow" link="external">[hidden email]</a>
<br/><a href="http://lists.squeakfoundation.org/mailman/listinfo/vm-beginners" target="_top" rel="nofollow" link="external">http://lists.squeakfoundation.org/mailman/listinfo/vm-beginners</a><br/>
<div class="signature weak-color">
-KenD
<br/>
</div>
tag:forum.world.st,2006:post-5090490ioHighResClock2018-12-07T15:06:39Z2018-12-07T15:06:39ZKenDickey
With the obvious preceding hacks, I now get
<br/><br/>unix/vm/sqUnixHeartbeat.o:190:3:
<br/> #error "no high res clock defined"
<br/><br/>What is the recommended fix/workaround?
<br/><br/>Thkx,
<br/>-KenD
<br/>_______________________________________________
<br/>VM-beginners mailing list
<br/><a href="/user/SendEmail.jtp?type=node&node=5090490&i=0" target="_top" rel="nofollow" link="external">[hidden email]</a>
<br/><a href="http://lists.squeakfoundation.org/mailman/listinfo/vm-beginners" target="_top" rel="nofollow" link="external">http://lists.squeakfoundation.org/mailman/listinfo/vm-beginners</a><br/>
<div class="signature weak-color">
-KenD
<br/>
</div>
tag:forum.world.st,2006:post-5090488mcontext_t et al2018-12-07T14:23:13Z2018-12-07T14:23:13ZKenDickey
Greetings,
<br/><br/>I am grepping around to find the source of
<br/><br/> ..In function sqUnixMain.c: In function 'sigsegv':
<br/>include_ucontext.h:48:37: error 'mcontext_t'
<br/> has no member 'arm_pc'
<br/><br/>I note in
<br/> /usr/include/aarch64_linux_gnu/asm/sigcontext.h member 'pc' but not 'arm_pc'
<br/><br/>I am guessing this is from the include_ucontext.h line
<br/> #elif __linux__ && __arm__
<br/><br/>Where do I set/override __arm__ with (__aarch64__ or __armv8-a__ or __arm64__) ?
<br/><br/>What is the preferred __*__ to use?
<br/><br/>Any way to debug this cr*p? Trace flag? Dump defines (here)?
<br/><br/>Thanks much,
<br/>-KenD
<br/>_______________________________________________
<br/>VM-beginners mailing list
<br/><a href="/user/SendEmail.jtp?type=node&node=5090488&i=0" target="_top" rel="nofollow" link="external">[hidden email]</a>
<br/><a href="http://lists.squeakfoundation.org/mailman/listinfo/vm-beginners" target="_top" rel="nofollow" link="external">http://lists.squeakfoundation.org/mailman/listinfo/vm-beginners</a><br/>
<div class="signature weak-color">
-KenD
<br/>
</div>
tag:forum.world.st,2006:post-5090157aarch64 squeak-vm2018-12-03T11:24:13Z2018-12-03T11:24:13ZKenDickey
Greetings,
<br/><br/>I have not done much in C for a couple of decades, so those bits have evaporated, but am taking a shot at getting squeak-vm(s) up on aarch64/arm64 Linux.
<br/><br/>The current Debian package runs in 64 bit mode on ARM and I have been able to build a working images from source on a Armbian/aarch64/Linux machine (LePotato/AML-S905X-CC).
<br/><br/> <a href="https://salsa.debian.org/pkg-sugar-team/squeak-vm" target="_top" rel="nofollow" link="external">https://salsa.debian.org/pkg-sugar-team/squeak-vm</a><br/>with patches:
<br/> <a href="https://salsa.debian.org/pkg-sugar-team/squeak-vm/tree/master/debian/patches" target="_top" rel="nofollow" link="external">https://salsa.debian.org/pkg-sugar-team/squeak-vm/tree/master/debian/patches</a><br/><br/>This is a superannuated (2012?) squeak-vm-4.10.2.2614, but does run in 64 bit mode on ARM. So I have a proof of concept. Runs Cuis/Squeak fine (but slow).
<br/><br/><br/>I "git cloned" oscogvm and added case aarch64:Linux:*:* to
<br/> oscogvm/platforms/unix/config/config.guess
<br/><br/>But the C compiler (gcc) is getting confused by some x86 compile flags.
<br/><br/>I am running oscogvm/build.linux64x64/squeak.stack.spur/build/mvm
<br/><br/>[config.log attached].
<br/><br/>The proximate cause is handing configure the flag "TARGET_ARCH=-m64", but it has been long enough that I have little idea where or how this script is processed.
<br/><br/>Can some kind soul help me get a bit further here?
<br/><br/>Thanks a bunch!
<br/><br/>--
<br/>-KenD
<br/><br />_______________________________________________
<br/>VM-beginners mailing list
<br/><a href="/user/SendEmail.jtp?type=node&node=5090157&i=0" target="_top" rel="nofollow" link="external">[hidden email]</a>
<br/><a href="http://lists.squeakfoundation.org/mailman/listinfo/vm-beginners" target="_top" rel="nofollow" link="external">http://lists.squeakfoundation.org/mailman/listinfo/vm-beginners</a><br/><!--start-attachments--><div class="small"><br/><img src="https://forum.world.st/images/icon_attachment.gif" > <strong>aarch64.config.log</strong> (9K) <a href="https://forum.world.st/attachment/5090157/0/aarch64.config.log" target="_top" rel="nofollow" link="external">Download Attachment</a></div><!--end-attachments-->
<div class="signature weak-color">
-KenD
<br/>
</div>
tag:forum.world.st,2006:post-4918189How to modify the file generation2016-10-05T08:31:24Z2016-10-05T08:31:24ZSantiago Bragagnolo
<div dir="ltr">Since I am on the android vm, the print functions should be rewritten as android logs, (the standard output is lost in an standar android execution ). <div><br></div><div>I need then to define specific print functions. (that are macros that calls some functions with extra parameters and file/line information of each call). I can do it in C but i do not understand where to add them in the vm maker. and how to avoid the signature to be defined, by example, in the cointerp.h file.</div><div><br></div><div>I check by hand an found some pragmas "api"/"api:" But i don't want just to do as I understand that it may work. Can anybody point me to the good way to do this? </div><div><br></div><div>Thank you very much! </div><div><br></div><div>Santiago</div><div><br></div><div><br></div><div><br></div><div><br></div></div>
<br />_______________________________________________
<br/>VM-beginners mailing list
<br/><a href="/user/SendEmail.jtp?type=node&node=4918189&i=0" target="_top" rel="nofollow" link="external">[hidden email]</a>
<br/><a href="http://lists.squeakfoundation.org/mailman/listinfo/vm-beginners" target="_top" rel="nofollow" link="external">http://lists.squeakfoundation.org/mailman/listinfo/vm-beginners</a><br/>
tag:forum.world.st,2006:post-4871819Code to open a Message Category Browser on a specific category?2016-01-16T06:59:27Z2016-01-16T06:59:27Ztty
<meta content="text/html;charset=UTF-8" http-equiv="Content-Type"><div style='font-size:10pt;font-family:Verdana,Arial,Helvetica,sans-serif;'><div>In a browser, right-click on a category in the category pane. select "browse" and a "Message Category Browser (Class Name)" appears.<br></div><div><br></div><div>I would like to do that from code so that in a Help Topic a reader can view a specific method category for a specific class</div><div><br></div><div>I have been flailing and poking for about an hour to no avail. If anybody knows this out-of-hand, please post it. thx</div><div><br></div><div>ProtoObject browse</div><div>select the 'comparing' category. right-click. select 'browse' on the pop-up menu.</div><div>The browser that opens is what I want.</div><div>I will be embedding that command in a Help Topic for a specific method category</div><div><br></div><div>thx. </div><br></div><br />_______________________________________________
<br/>VM-beginners mailing list
<br/><a href="/user/SendEmail.jtp?type=node&node=4871819&i=0" target="_top" rel="nofollow" link="external">[hidden email]</a>
<br/><a href="http://lists.squeakfoundation.org/mailman/listinfo/vm-beginners" target="_top" rel="nofollow" link="external">http://lists.squeakfoundation.org/mailman/listinfo/vm-beginners</a><br/>
tag:forum.world.st,2006:post-4841754Patch VM and try to re-generate src does not work2015-08-08T16:54:29Z2015-08-08T16:54:29Zchristophe.jalady
Hi,
<br/><br/>I follow this page to try to hack the Cog VM:
<br/><a href="https://github.com/pharo-project/pharo-vm" target="_top" rel="nofollow" link="external">https://github.com/pharo-project/pharo-vm</a><br/><br/>The build itself work.
<br/><br/>But now, I want to patch the VM code: I just try to add "self log: 'foobarbaz'" in "ObjectMemory>fullGC".
<br/>So:
<br/> - I add such instruction from within "pharo-ui generator.image"
<br/> - I do "PharoVMBuilder buildUnix32."
<br/> BUT this step doesnt regenerate C src code including my changes (I grep "foobarbaz" and found nothing !)
<br/> If I take a look at src/vm/cointerp.c, I see the method "fullGC" but without my changes.
<br/><br/>Did I miss something?
<br/><br/><br/>Note: Is it the right workflow to hack the VM/interpreter: patching the generator.image + regenerate src + build + launch the build to test ?
<br/><br/>Thanks by advance for your help ...
<br/>_______________________________________________
<br/>VM-beginners mailing list
<br/><a href="/user/SendEmail.jtp?type=node&node=4841754&i=0" target="_top" rel="nofollow" link="external">[hidden email]</a>
<br/><a href="http://lists.squeakfoundation.org/mailman/listinfo/vm-beginners" target="_top" rel="nofollow" link="external">http://lists.squeakfoundation.org/mailman/listinfo/vm-beginners</a><br/>
tag:forum.world.st,2006:post-4814476Why Are Only Some Sources Generated2015-03-23T11:31:34Z2015-03-23T11:31:34ZSean P. DeNigris
I thought from reading old Squeak books that the VM started life as all-Slang, and then that was turned into C to be compiled into the VM. But after building a Pharo VM per the instructions on GitHub, it occured to me that there seems to be a lot of C source code already present before the generation step. Is that correct? If so, was there ever a time when most or all of the C code was generated? And why did it change?
<br/><br/>Thanks.
<div class="signature weak-color">
Cheers,
<br/>Sean
</div>
tag:forum.world.st,2006:post-4826982Troubles with testing in PHARO2015-05-17T23:31:38Z2015-05-17T23:31:38Ztrololo
Can somebody help me to make all tests "green"?
<br/>If somebody has time to help me, i'll be very thankful.
<br/>Here I attached the file in PHARO<a href="https://forum.world.st/file/n4826982/Testing-trololo.mcz" target="_top" rel="nofollow" link="external">Testing-trololo.mcz</a><br/>
tag:forum.world.st,2006:post-4814477Compiling with Xcode2015-03-23T11:33:59Z2015-03-23T11:33:59ZSean P. DeNigris
Is anyone still doing this? I wanted to use Xcode to debug some VM changes I was making. I remembered that Pharo's cmake system allows to generate an Xcode project, but after opening that project in Xcode I couldn't get it to build. Are there instructions anywhere (like the excellent ones on GitHub for command line compiling of the Pharo VM)?
<div class="signature weak-color">
Cheers,
<br/>Sean
</div>
tag:forum.world.st,2006:post-4796064CMakeVMMakerSqueak beta version ready for the confident.2014-12-15T12:03:47Z2014-12-15T12:03:47Ztty
<meta content="text/html;charset=UTF-8" http-equiv="Content-Type"><div style='font-size:10pt;font-family:Verdana,Arial,Helvetica,sans-serif;'>Hi folks.<br><br>Porting an existing CMakeVMaker Configuration to a new platform was trivially easy on my flavor of linux. (I ported the Linux64x86w32BitSqueakCogV3Config to a Linux32x86SqueakCogV3Config)<br>With this success, I am confident the architectural approach is a correct one and the community can now start porting to different *nix platforms: (BSD, Arm, SunOs, Ubuntu), buildTypes and [Language].[VM].[Memory Model]<br><br>Consider this an initial release (albeit, very limited).<br><br>I will be very happy to walk others through the process of developing their own configurations on *nix variants and get comfortable using the tool. <br><br>My goal in this project is to make it easy for VM dev newbies to be up and running compiling their own VIrtual Machines.<br><br>In the HelpBrowser the "Start Here" book and the (incomplete) "Developer Guide->Configurations->Example Workflow:New Configuration" topics are enough to get up and running.<br>I will be spending the next several days/hours completing and editing the Help before getting back into Configurations development and platform porting.<br><br>After the Help is done, my next tasks are:<br><br>1. Build out the remaining 9 build types for my existing 32 bit compat Configurations--build.assert, build.debug etc. after solving the NoDbgRegParms problem in autotools.<br>2. Build out the remaining [Language]. [VM]. [Memory Model] Configurations for my platform.<br>3. QA my bash shell scripts for getting a Newbie a completely configured image for VM/Cmake generation.<br>4. With my platform done, I will move to SunOs .<br>5. Hit Tim R. up for that cash.<br><br>For Ubuntu folks, Slackware differs in the location of libraries. Slackware puts "normal" stuff in /lib64 and 32 bit compat libs in /lib while Ubuntu puts "normal" stuff in /lib and 32 bit stuff in /lib32. <br>We can either mix in all the Ubuntu configurations with the existing, or break Ubuntu configurations into their own platform area (my preference). Like I say, I can walk you through it.<br><br><br>For Mac and Dos machines, we need to discuss strategy.<br><br>CMake offers the opportunity to generate build systems that are native to those platforms<br>This potentially means generating files that work with Windows Visual Studio or whatever native doo-dads you mac guys work with.<br><br>ALSO! CMake supports Packaging with CPack. I do not know how to use it, BUT, imagine a tool written in Squeak that writes the things that generate our releases for us and then packages them up for distinct platforms--(:<br><br>Finally, a discussion of integration w/Pharo is needed.<br><br>cheers.<br><br><br>tty.<br><br><br><br></div><br />_______________________________________________
<br/>VM-beginners mailing list
<br/><a href="/user/SendEmail.jtp?type=node&node=4796064&i=0" target="_top" rel="nofollow" link="external">[hidden email]</a>
<br/><a href="http://lists.squeakfoundation.org/mailman/listinfo/vm-beginners" target="_top" rel="nofollow" link="external">http://lists.squeakfoundation.org/mailman/listinfo/vm-beginners</a><br/>
tag:forum.world.st,2006:post-4783063Cog Image autobuild failure2014-10-06T15:15:57Z2014-10-06T15:15:57ZKenDickey
Greetings,
<br/><br/>I am following instructions on
<br/><br/><a href="http://www.mirandabanda.org/cogblog/build-image/" target="_top" rel="nofollow" link="external">http://www.mirandabanda.org/cogblog/build-image/</a><br/><br/>to build a Cog Development Image, but there is breakage when initializing the Alien package.
<br/><br/>Can some kind person help me out? Thanks.
<br/><br/>=========================================================
<br/>>>> uname -a
<br/>Linux clearly 3.9.11 #1 SMP Sat Jul 27 19:40:54 GMT-8 2013 i686 i686 i386 GNU/Linux
<br/><br/>=========================================================
<br/>Image
<br/>-----
<br/>../Squeak Smalltalk/Cog/image/CogVMMaker.image
<br/>Squeak4.5
<br/>latest update: #13951
<br/>Current Change Set: Unnamed1
<br/>Image format 6505 (32 bit)
<br/><br/>Virtual Machine
<br/>---------------
<br/>/initrd/mnt/dev_save/TarBaby/Squeak Smalltalk/Cog/image/coglinuxht/lib/squeak/4.0-3072/squeak
<br/>Croquet Closure Cog VM [CoInterpreterPrimitives VMMaker.oscog-eem.876]
<br/>Unix built on Sep 8 2014 19:35:31 Compiler: 4.1.2 20080704 (Red Hat 4.1.2-48)
<br/>platform sources revision VM: r3072 <a href="http://www.squeakvm.org/svn/squeak/branches/Cog" target="_top" rel="nofollow" link="external">http://www.squeakvm.org/svn/squeak/branches/Cog</a> Date: 2014-09-08 15:20:18 -0700 Plugins: r3005 <a href="http://squeakvm.org/svn/squeak/trunk/platforms/Cross/plugins" target="_top" rel="nofollow" link="external">http://squeakvm.org/svn/squeak/trunk/platforms/Cross/plugins</a><br/>CoInterpreter VMMaker.oscog-eem.876 uuid: 85989927-97e3-4111-a351-b242bf444291 Sep 8 2014
<br/>StackToRegisterMappingCogit VMMaker.oscog-eem.876 uuid: 85989927-97e3-4111-a351-b242bf444291 Sep 8 2014
<br/><br/>=========================================================
<br/><br/>-KenD
<br/><br />_______________________________________________
<br/>VM-beginners mailing list
<br/><a href="/user/SendEmail.jtp?type=node&node=4783063&i=0" target="_top" rel="nofollow" link="external">[hidden email]</a>
<br/><a href="http://lists.squeakfoundation.org/mailman/listinfo/vm-beginners" target="_top" rel="nofollow" link="external">http://lists.squeakfoundation.org/mailman/listinfo/vm-beginners</a><br/><!--start-attachments--><div class="small"><br/><img src="https://forum.world.st/images/icon_attachment.gif" > <strong>SqueakDebug.log</strong> (21K) <a href="https://forum.world.st/attachment/4783063/0/SqueakDebug.log" target="_top" rel="nofollow" link="external">Download Attachment</a></div><!--end-attachments-->
<div class="signature weak-color">
-KenD
<br/>
</div>
tag:forum.world.st,2006:post-4760087CMakeVMMakerSqueak ready for initial testing.2014-05-22T15:52:47Z2014-05-22T15:52:47Ztty
<meta content="text/html;charset=UTF-8" http-equiv="Content-Type"><div style='font-size:10pt;font-family:Verdana,Arial,Helvetica,sans-serif;'><div>Hi All<br></div><div><br></div><div>I have set up my home computer/domain with svn for initial testing of the CMakeVMMakerSqueak stuff.</div><div><br></div><div>svn co http://www.svn.menmachinesmaterials.com/Cog/Cog/</div><div>svn co http://www.svn.menmachinesmaterials.com/Cog/mcz</div><div><br></div><div>The Cog branch is a co of Eliot's work from today.</div><div>The mcz's are the code I have ported; upon acceptance I can move them up to squeak's site.</div><div><br></div><div>cd Cog/image</div><div>./buildsqueakcmakeimage.sh -h (will get you usage. The script is a consolidation of Eliot's buildsqueakX.sh scripts)</div><div>I have put in a README.buildsqueakcmakeimage.sh that may be of help.</div><div><br></div><div>1. Cog stuff is as follows (These will require you manually loading the CMakeVMMakerSqueak-tty-x.mcz from monticello for now. it will be automated should you choose to roll this live)</div><div><br></div><div> ./buildsqueakcmakeimage.sh -c 4.5 (think "cog" for -c) sets up just like Eliot's buildsqueak45image.sh but includes the CMakeVMMaker currently at gemstone and adds a Workspace with some configurations)</div><div> ./buildsqueakcmakeimage.sh -c 4.6 (same as above, but for 4.6 during my testing, this broke sometimes)</div><div><br></div><div><br></div><div>Running the script will create a cogVMMaker directory.</div><div>For now, copy the .mcz files from the svn co ..mcz... you did to the package_cache in cogVMMaker/Squeak-xyz.app/Contents/Resources/package_cache/ </div><div>While you are in the neigborhood, cd to cogVMMaker/Squeak-xyz.app/Contents/Reources/oscogvm/ and do a ls.</div><div>You should see some cmake_*build directories there. This is a parallel tree to the standard GNU stuff from which you will be running "source build.sh" to kick off the CMake builds.</div><div><br></div><div>cd into cogVMMaker/Squeak-xyz.app/ there should be a squeakCogVMMaker.sh to run that will launch your new pre-configured image.</div><div>launch Monticello and load the latest CMakeVMMakerSqueak-tty</div><div>There should be a workspace titled CMakeVMMakerSqueak with some configurations scripts.</div><div><br></div><div><br></div><div>Discussion of the code follows 2. below.</div><div><br></div><div><br></div><div><div>2. The StandardInterpreter stuff I did as a personal thing as I think I would have appreciated it as a newbie. For CMakeVMMakerSqueak, you can ignore it. for those interested.</div><div><br></div><div>./buildsqueakcmakeimage.sh -s 4.5 (think "standard" for -s) downloads and configures a Standard Interpreter VMMaker running on Squeak4.5 per the Wiki at http://wiki.squeak.org/squeak/6177</div><div>./buildsqueakcmakeimage.sh -s 4.6 same as above, but on 4.6 (may be broken)</div><div>./buildsqueakcmakeimage.sh -b (think "both" for -b_ does 4.5 above plus the cog stuff explained below. </div><div>once the script runs, change directory to the standardVMMaker/Squeak---.app/ and run the squeakStandardVMMaker.sh to launch the pre-configured image.</div><div> There should be a workspace with instructions from there</div><div><br></div><div> Like I say, the goal is to get a newbie up and running quickly. Please suggest changes improvements if you are interested.</div><div><br></div></div><div><br></div><div><br></div><div><br></div><div>3. Discussion of the CMMakeVMMakerSqueak classes.<br></div><div><br></div><div><br></div><div>Due to the layout of the Pharo stuff in CMMakeVMMaker, I was not able to create a Squeak-only subclass tree of the configurations. </div><div><br></div><div>Also, I realized late in the game that there are some false-starts in the pharo design involving the inconsistent use of Traits and Builders. This inconsistency is realized in the Squeak code as well.</div><div>Regarding the traits, you will see some stupid stuff in SqueakStackUnixConfig (CMakeVMMakerSqueak-Unix category) where including the trait in the subclasses results in super calls to where the code is. </div><div>Regarding the builders, you will see that if you start with the Unix stuff, a builder exists (and can be) utilized to power the configs. As the coding progressed, it became apparent that the builders are not necessary as the configs can be invoked directly.</div><div>Ok, that's the yuck, lets get you rolling with this stuff.</div><div><br></div><div>Running the pre-configred image you will see a CMakeVMMkaerSqueak workspace. Classes that end in Builder are builders and classes that end in Config are Platform Configurations</div><div>Find your platform (unix, windows, mac, vax, pdp11...) under CMakeVMMakerSqueak-Platform and (usally) the first config is an "abstract" class (things get stupid in unix land due to the traits, but its not too embarassing).</div><div>Under those top classes are concrete configs. Of note in them are the defaultExternalPlugins and defaultInternalPlugins methods. If you look at them you can see you can specify what you need/want. (it gets more flexible with other methods in subclasses, but its a good starting point)</div><div><br></div><div>Pick the config you want (SqueakStackUnixDebugConfig in the examples below) and run one of two things: generate or generateWithSources.</div><div><br></div><div>SqueakStackUnixDebugConfig generate </div><div><br></div><div>will (very quickly) put the cmake config files in the Contents/Resources/oscogvm/cmake_*build directory corresponding to your platform (look for the buildDirName method on your superclass)</div><div>you then cd to that directory and invoke the build.sh script and you should compile against the sources from the svn checkout.</div><div><br></div><div>SqueakStackUnixDebugConfig generateWithSources invoked VMMaker to generate the sources before generating the CMake files as above.</div><div><br></div><div><br></div><div>Finally, there are Builders that do the above, and frankly , I don't think we need them.</div><div>For example in CMakeVMMakerSqueak-Builder SqueakStackVMBuilder buildSlackwareUnix64w32LibsNoGL you see the wrapper code that invokes the appropriate Config class.</div><div><br></div><div>buildSlackwareUnix64w32LibsNoGL<br> SqueakStackUnix64w32CompatLibsSlackwareNoGLConfig new<br> addExternalPlugins: #( SqueakSSLPlugin );<br> addInternalPlugins: #( UnixOSProcessPlugin );<br> generateSources; </div><div> generate.</div><div><br></div><div><br></div><div><br></div><div>That should get things started. </div><div><br></div><div><br></div><div>Other classes of interest are the CMakeVMMkaersqueak generators: CMakeVMGeneratorForSqueak and CMakePluginGeneratorForSqueak these are essentially a compatiblility layer for the generators</div><div><br></div><div><br></div><div>I will leave my computer running tonight (I usually turn it off when I am away from it)</div><div><br></div><div>My brain is a bit fried, so in-depth questions and discussions may have to wait until tomorrow.</div><div><br></div><div>cheers.</div><div><br></div><div>tty</div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div></div><br />_______________________________________________
<br/>VM-beginners mailing list
<br/><a href="/user/SendEmail.jtp?type=node&node=4760087&i=0" target="_top" rel="nofollow" link="external">[hidden email]</a>
<br/><a href="http://lists.squeakfoundation.org/mailman/listinfo/vm-beginners" target="_top" rel="nofollow" link="external">http://lists.squeakfoundation.org/mailman/listinfo/vm-beginners</a><br/>
tag:forum.world.st,2006:post-4759378Is B2DPlugin C code only?2014-05-17T11:44:40Z2014-05-17T11:44:40Ztty
<meta content="text/html;charset=UTF-8" http-equiv="Content-Type"><div style='font-size:10pt;font-family:Verdana,Arial,Helvetica,sans-serif;'><div>Hi All,<br></div><div><br></div><div>I have checked high and low and cannot find B2DPlugin in Smalltalk, but it is in a lot of repositories. Is there such a thing as plugins without an internal smalltalk class?</div><div><br></div><div>thx.</div><div><br></div><div>tty</div><br></div><br />_______________________________________________
<br/>VM-beginners mailing list
<br/><a href="/user/SendEmail.jtp?type=node&node=4759378&i=0" target="_top" rel="nofollow" link="external">[hidden email]</a>
<br/><a href="http://lists.squeakfoundation.org/mailman/listinfo/vm-beginners" target="_top" rel="nofollow" link="external">http://lists.squeakfoundation.org/mailman/listinfo/vm-beginners</a><br/>
tag:forum.world.st,2006:post-4758706Progress report on CMakeVMMaker for Squeak2014-05-11T12:39:01Z2014-05-11T12:39:01Ztty
<meta content="text/html;charset=UTF-8" http-equiv="Content-Type"><div style='font-size:10pt;font-family:Verdana,Arial,Helvetica,sans-serif;'><div>Hi All.<br></div><div><br></div><div>My work plan is to get a StackInterpreter running on Linux32 then Cog then the various permutations of Cog (MT, etc)</div><div><br></div><div>I took a lazy day getting sources generated for SqueakStackVM and will be working on the 'generate' thing tomorrow. Hopefully I have some CMakeLists.text in place tomorrow.</div><div><br><blockquote style="border-top-color: rgb(204, 204, 204); border-left-color: rgb(204, 204, 204); border-right-color: rgb(204, 204, 204); border-bottom-color: rgb(204, 204, 204); border-top-width: 1px; border-left-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-top-style: solid; border-left-style: solid; border-right-style: solid; border-bottom-style: solid; padding-top: 7px; padding-right: 7px; padding-bottom: 7px; padding-left: 7px; background-color: rgb(245, 245, 245);"><div> SqueakStackVMBuilder>>buildUnix32<br> SqueakStackUnixConfig new<br> " internalPlugins: CMakePluginsArrayFactory minimalInternalPlugins;"<br> internalPlugins: CMakePluginsArrayFactory unix32DefaultInternalPlugins;<br> externalPlugins: CMakePluginsArrayFactory unix32DefaultExternalPlugins;<br> generateSources; <---------GOT THROUGH HERE TODAY.<br> generate. <---------I AM HERE TOMORROW.</div></blockquote><br>Cheers,</div><div><br></div><div>tty</div><br></div><br />_______________________________________________
<br/>VM-beginners mailing list
<br/><a href="/user/SendEmail.jtp?type=node&node=4758706&i=0" target="_top" rel="nofollow" link="external">[hidden email]</a>
<br/><a href="http://lists.squeakfoundation.org/mailman/listinfo/vm-beginners" target="_top" rel="nofollow" link="external">http://lists.squeakfoundation.org/mailman/listinfo/vm-beginners</a><br/>
tag:forum.world.st,2006:post-4758546preferred methodology for handling Pharo'isms on Squeak?2014-05-10T08:17:18Z2014-05-10T08:17:18Ztty
<meta content="text/html;charset=UTF-8" http-equiv="Content-Type"><div style='font-size:10pt;font-family:Verdana,Arial,Helvetica,sans-serif;'><div>Hi All.<br></div><div><br></div><div>Is there a preferred methodology for handling Pharo-isms on Squeak?</div><div><br></div><div>I know Seaside has Grease which does some of that, but I don't thing we want Grease for CMakeVMMaker (or do we).</div><div><br></div><div>Specifically, the Pharo team has abstracted out some stuff in SmalltalkImage (vm, platform..) that does not exist in Squeak.</div><div><br></div><div><br></div><div>If there is an existing mechanism for bridging this gap, I will use it.</div><div><br></div><div>In the meantime, I will be DTSTTCW.</div><div><br></div><div><br></div><div>cordially,</div><div><br></div><div>tty</div><br></div><br />_______________________________________________
<br/>VM-beginners mailing list
<br/><a href="/user/SendEmail.jtp?type=node&node=4758546&i=0" target="_top" rel="nofollow" link="external">[hidden email]</a>
<br/><a href="http://lists.squeakfoundation.org/mailman/listinfo/vm-beginners" target="_top" rel="nofollow" link="external">http://lists.squeakfoundation.org/mailman/listinfo/vm-beginners</a><br/>
tag:forum.world.st,2006:post-4758119CMMaker.oscog to fork or not to fork, that! is the question2014-05-06T18:19:26Z2014-05-06T18:19:26Ztty
<meta content="text/html;charset=UTF-8" http-equiv="Content-Type"><div style='font-size:10pt;font-family:Verdana,Arial,Helvetica,sans-serif;'><div>Hi Eliot and David and Tim.</div><div><br></div><div>Tomorrow I start the actual Smalltalk coding of the CMake stuff for Squeak. (My shell script that I thought would take 1 day took 5. sigh)</div><div>While I am leaning towards a fork of the CMMakeVMaker work on Pharo, I will defer to you folks on that decision.</div><div><br></div><div>Below are notes I had made a week ago about why I was leaning that way. </div><div><br></div><div>-----begin notes I made a week or so ago----</div><div><br></div><div>For development purposes I am leaning towards creating a CMakeVMMaker.oscog clone of the existing CMakeVMMaker and incrementally adding platform/interpreter configurations starting with</div><div>the Stack Interpreter. Much of the work will be cut-n-paste modifications of the existing work in CMakeVMMaker done by the pharo team as that is the guts of the pharo system.</div><div><br></div><div>The Pharo environment (very clean, btw) has three layers to it (from top down they are).</div><div><br></div><div>1. PharoVMMaker</div><div>2. CMakeVMMaker</div><div>3. Source Tree and scripts from github.</div><div><br></div><div>What is very interesting about pharo is that given 3) a git checkout, you can download, run and configure a new pharo image using a shell script provided with the git source.</div><div>Launching the resulting generator.image you are presented a workspace with scripts invoking 1) PharoVMMaker which is a "wrapper" or "interface" to 2) CMakeVMMaker.</div><div>This generates the sources and CMake files and from there you go to the build directory and build</div><div><br></div><div>I like this approach and will be emulating it, but I do not think it is integrate the Squeak infrastructure into the existing package; here is why.</div><div><br></div><div>1. Squeak source tree from svn is a superset of the tree from git with a slight difference in naming for the default build. Where Squeak has unixbuild, nssprucogbuild, etc, pharo just has build. </div><div> This "probably" has implications for the CMMake script generation that will not suffice for supporting the standard interpreter nor for the other flavors Eliot is developing.</div><div><br></div><div>2. If I attempt to merge the two approaches (git and svn, pharo build tree and squeak build tree) it will clutter the very clean work-flow pharo has. </div><div><br></div><div>3. As I develop this, I would like the squeak community to test-drive what I do. It is not appropriate for me to muddy the existing CMakeVMMaker with dev work</div><div><br></div><div>4. Assuming I can actually do this thing, I do not think a merge of the two projects would be too difficult</div><div><br></div><div>---end notes I made a week or so ago---</div><div><br></div><div>Please let me know your decision. </div><div><br></div><div><br></div><div>cordially,</div><div><br></div><div><br></div><div>tty</div><div><br></div><div><br></div><div><br></div><div><br></div><div>:</div><div><br></div><div><br></div></div><br />_______________________________________________
<br/>VM-beginners mailing list
<br/><a href="/user/SendEmail.jtp?type=node&node=4758119&i=0" target="_top" rel="nofollow" link="external">[hidden email]</a>
<br/><a href="http://lists.squeakfoundation.org/mailman/listinfo/vm-beginners" target="_top" rel="nofollow" link="external">http://lists.squeakfoundation.org/mailman/listinfo/vm-beginners</a><br/>
tag:forum.world.st,2006:post-4758010Has anybody done a successful Standard Interpreter build in Squeak 4.6?2014-05-05T18:59:29Z2014-05-05T18:59:29Ztty
<meta content="text/html;charset=UTF-8" http-equiv="Content-Type"><div style='font-size:10pt;font-family:Verdana,Arial,Helvetica,sans-serif;'><div>Howdy all.<br></div><div><br></div><div>I am finishing up a "cmakify.sh" script that builds on the existing Cog/image/build*.sh scripts from http://www.squeakvm.org/svn/squeak/branches/Cog</div><div><br></div><div>It works fine except the VMMakerTool for the old VMMaker (not VMMaker.oscog) running on 4.6 barfs whereas it works perfectly on 4.5.</div><div><br></div><div>I am thinking it is not worth pursuing as 4.6 isn't being developed yet, but if by chance somebody has done a by-hand build of the old Standard Intepreter using the old VMMaker (Not VMMaker.oscog) on 4.6 I will investigate.</div><div><br></div><div><br></div><div>thx.</div><div><br></div><div>tty.</div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div></div><br />_______________________________________________
<br/>VM-beginners mailing list
<br/><a href="/user/SendEmail.jtp?type=node&node=4758010&i=0" target="_top" rel="nofollow" link="external">[hidden email]</a>
<br/><a href="http://lists.squeakfoundation.org/mailman/listinfo/vm-beginners" target="_top" rel="nofollow" link="external">http://lists.squeakfoundation.org/mailman/listinfo/vm-beginners</a><br/>