What is worse than things not working is when things start working and I don't know why.
After a hiatus in PHP land, I am back to Squeak Land and lo and behold, the Stack Interpreter 32 bit compiled and runs the 4.6 image. That is if what you see below is in fact the Stack Interpreter. Please let me know if it is not Image ----- /home/tty/usr/src/smalltalk/runStackVM32/Squeak4.6-13700.image Squeak4.6 latest update: #13700 Current Change Set: Unnamed1 Image format 6505 (32 bit) Virtual Machine --------------- /home/wm/usr/local/stackVM32/lib/squeak/4.0-2881/squeak Croquet Closure Cog VM [CoInterpreter VMMaker.oscog-eem.641] Unix built on Mar 28 2014 12:22:20 Compiler: 4.8.2 platform sources revision VM: r2881 http://www.squeakvm.org/svn/squeak/branches/Cog Date: 2014-03-13 20:45:37 -0400 Plugins: r2545 http://squeakvm.org/svn/squeak/trunk/platforms/Cross/plugins CoInterpreter VMMaker.oscog-eem.641 uuid: c0305b66-db2d-45aa-8d25-267732aa1784 Mar 28 2014 StackToRegisterMappingCogit VMMaker.oscog-eem.641 uuid: c0305b66-db2d-45aa-8d25-267732aa1784 Mar 28 2014 If so, then we have a second data point of building a Stack Interpreter on a 64 bit machine with 32 bit compat libs. file squeak squeak: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), not stripped An interesting point of note is of note is that I was getting ready to debug a vm that would not run. It was built with this configure command.
and the result was a vm that built, but would hang waiting on what I believed was a signal. Setting out to debug this non-running vm, I changed to -O2 flag to -Og which rhymes with 'd' and that spells "debugging".
And, lo and behold, no more trouble in River City. It ran. |
On Fri, Mar 28, 2014 at 2:56 PM, gettimothy <[hidden email]> wrote:
You've compiled a Cog VM. Let me take you through the version output:
^^ the CoInterpreter in the above is the interpreter class. If it was a Stack VM it would say StackInterpreter.
Likewise these two are the names and package version for the interpreter and JIT classes. Here's what a (Spur) Stack VM looks like on the Mac:
/Users/eliot/Cog/oscogvm/spurstackbuild/macbuild/Fast.app/Contents/MacOS/Squeak 4.0 4.0.2885 Mac OS X built on Mar 28 2014 12:25:04 Compiler: 4.2.1 (Apple Inc. build 5666) (dot 3) [Production Spur VM]
StackInterpreter VMMaker.oscog-eem.658 uuid: e40c5fd5-9990-433f-bd76-2f8d0324e24f Mar 28 2014 VM: r2885 http://www.squeakvm.org/svn/squeak/branches/Cog Date: 2014-03-28 12:19:16 -0700
Plugins: r2545 http://squeakvm.org/svn/squeak/trunk/platforms/Cross/plugins The above gets printed by supplying the -version option to the VM.
best, Eliot
|
Thank you Eliot.
Live and learn. Althought I have yet to generate new Cog source from VMMaker, it is good to know I can compile and run it when I get that figured out. (: It appears I was building existing source code for the Cog VM that came with the svn checkout. I guess the next thing is to tell the configure script to use the Stack VM src that I did generate with VMMaker in oscogvm/stacksrc/ ok..I added these two flags to the configure --with-src=stacksrc --enable-cogit=false and got a build error.. /home/wm/usr/src/smalltalk/buildStackInterpreter/oscogvm/stacksrc/vm/gcc3x-interp.c:10108: undefined reference to `minLargeHeaderSize' /home/wm/usr/src/smalltalk/buildStackInterpreter/oscogvm/stacksrc/vm/gcc3x-interp.c:10109: undefined reference to `sizeHeaderputBodySize' /home/wm/usr/src/smalltalk/buildStackInterpreter/oscogvm/stacksrc/vm/gcc3x-interp.c:10180: undefined reference to `sizeHeaderputBodySize Which tells me it is looking in the correct place to build. Sound about right? cordially, tty
|
On Fri, Mar 28, 2014 at 4:02 PM, gettimothy <[hidden email]> wrote:
that's right. I would construct stackbuild/unixbuild and clone the various bld subdirectories and then edit their mvms so you don't have to run configure manually.
right.
yes, looks like you're on your way.
best, Eliot
|
Thank you Eliot.
---- On Fri, 28 Mar 2014 16:07:37 -0700 Eliot Miranda<[hidden email]> wrote ----
|
In reply to this post by tty
bah! I have been working in the oscogvm/unixbuild directory and only now noticed the stackbuild/unixbuild tree with its own HowToBuild instructions. My reasoning now is that Cog is the standard , so "src" and "unixbuild" etc belong to it (as it should) while "special stuff" like StackInterpreter etc are shuffled off to their own little world in stacksrc and stackbuild. Thanks for your patience. tty. |
Free forum by Nabble | Edit this page |