Gentlebeings, First off, I would like establish that I’m brand new
to squeak – I’d like to use it to develop some prototypes of my
research work; and to do that I’m going to have get into the depths of VM.
I seem to have encountered my first Balrog … I thought that I would start with building my own 3.9 VM (nothing
like putting something together to figure out how it works). So I grabbed
the latest from SVN (after looking at the branches and tags, I did not see a 3.9
“approved” fileset). I tried to build this … and failed. So, I then tried using VMMaker 3.8b6, the 3.9g-7061 image,
on a 3.7 VM. This gave me the files I was missing and after adding a few
forward declarations into the win32/vm fileset, I have that building. Things
were going quite well until the B3DAcceleratorPlugin. I seem to be
getting lots and lots and lots of “implicit function declarations”
in OpenGL and DX7 (d3) functions. Can someone throw me a bone on how to go about building a
3.9 VM for a Win32 platform? Dave Raymer |
Did you go "by the book"?
http://squeakvm.org/cgi-bin/viewcvs.cgi/trunk/platforms/win32/HowToBuild.txt?rev=1530 If so, let me know what didn't work. Cheers, - Andreas Raymer David-fdr017 wrote: > > > > ------------------------------------------------------------------------ > > Gentlebeings, > > > > First off, I would like establish that I’m brand new to squeak – I’d > like to use it to develop some prototypes of my research work; and to do > that I’m going to have get into the depths of VM. I seem to have > encountered my first Balrog … > > > > I thought that I would start with building my own 3.9 VM (nothing like > putting something together to figure out how it works). So I grabbed > the latest from SVN (after looking at the branches and tags, I did not > see a 3.9 “approved” fileset). I tried to build this … and failed. > > > > So, I then tried using VMMaker 3.8b6, the 3.9g-7061 image, on a 3.7 VM. > This gave me the files I was missing and after adding a few forward > declarations into the win32/vm fileset, I have that building. Things > were going quite well until the B3DAcceleratorPlugin. I seem to be > getting lots and lots and lots of “implicit function declarations” in > OpenGL and DX7 (d3) functions. > > > > Can someone throw me a bone on how to go about building a 3.9 VM for a > Win32 platform? > > > > Dave Raymer > Motorola Labs, NSR CoE, NIRL Autonomics Research > Distinguished Member of the Technical Staff > +1-(817)-245-6834 > > > |
I thought I had, but then I found another post in the mailing list, with
a response from someone that seemed to indicate it was platform software version number. So I am trying again. Basically, I grabbed the VMM38b4 branch this time ... I am learning a great deal through these failures, which is always a good thing. Dave Raymer Motorola Labs, NSR CoE, NIRL Autonomics Research Distinguished Member of the Technical Staff +1-(817)-245-6834 -----Original Message----- From: [hidden email] [mailto:[hidden email]] On Behalf Of Andreas Raab Sent: Friday, October 06, 2006 12:44 PM To: Squeak Virtual Machine Development Discussion Subject: Re: [Vm-dev] hacking a 3.9 VM Did you go "by the book"? http://squeakvm.org/cgi-bin/viewcvs.cgi/trunk/platforms/win32/HowToBuild .txt?rev=1530 If so, let me know what didn't work. Cheers, - Andreas Raymer David-fdr017 wrote: > > > > ------------------------------------------------------------------------ > > Gentlebeings, > > > > First off, I would like establish that I'm brand new to squeak - I'd > like to use it to develop some prototypes of my research work; and to do > that I'm going to have get into the depths of VM. I seem to have > encountered my first Balrog ... > > > > I thought that I would start with building my own 3.9 VM (nothing like > putting something together to figure out how it works). So I grabbed > the latest from SVN (after looking at the branches and tags, I did not > see a 3.9 "approved" fileset). I tried to build this ... and failed. > > > > So, I then tried using VMMaker 3.8b6, the 3.9g-7061 image, on a 3.7 VM. > This gave me the files I was missing and after adding a few forward > declarations into the win32/vm fileset, I have that building. Things > were going quite well until the B3DAcceleratorPlugin. I seem to be > getting lots and lots and lots of "implicit function declarations" in > OpenGL and DX7 (d3) functions. > > > > Can someone throw me a bone on how to go about building a 3.9 VM for a > Win32 platform? > > > > Dave Raymer > Motorola Labs, NSR CoE, NIRL Autonomics Research > Distinguished Member of the Technical Staff > +1-(817)-245-6834 > > > |
In reply to this post by Andreas.Raab
Andreas, Ok, I got this working finally -- I have a 3.8b4 VM. I found a post on the web that mentions the last change for "getImageName" that I needed to make can be changed in Slang ... where do I find the slang? I've looked around for a bit, and seem to be unable to locate it. Thanks for the assistance. -- dave -----Original Message----- From: [hidden email] [mailto:[hidden email]] On Behalf Of Andreas Raab Sent: Friday, October 06, 2006 12:44 PM To: Squeak Virtual Machine Development Discussion Subject: Re: [Vm-dev] hacking a 3.9 VM Did you go "by the book"? http://squeakvm.org/cgi-bin/viewcvs.cgi/trunk/platforms/win32/HowToBuild .txt?rev=1530 If so, let me know what didn't work. Cheers, - Andreas Raymer David-fdr017 wrote: > > > > ------------------------------------------------------------------------ > > Gentlebeings, > > > > First off, I would like establish that I'm brand new to squeak - I'd > like to use it to develop some prototypes of my research work; and to do > that I'm going to have get into the depths of VM. I seem to have > encountered my first Balrog ... > > > > I thought that I would start with building my own 3.9 VM (nothing like > putting something together to figure out how it works). So I grabbed > the latest from SVN (after looking at the branches and tags, I did not > see a 3.9 "approved" fileset). I tried to build this ... and failed. > > > > So, I then tried using VMMaker 3.8b6, the 3.9g-7061 image, on a 3.7 VM. > This gave me the files I was missing and after adding a few forward > declarations into the win32/vm fileset, I have that building. Things > were going quite well until the B3DAcceleratorPlugin. I seem to be > getting lots and lots and lots of "implicit function declarations" in > OpenGL and DX7 (d3) functions. > > > > Can someone throw me a bone on how to go about building a 3.9 VM for a > Win32 platform? > > > > Dave Raymer > Motorola Labs, NSR CoE, NIRL Autonomics Research > Distinguished Member of the Technical Staff > +1-(817)-245-6834 > > > |
Hi Dave,
On 10/6/06, Raymer David-fdr017 <[hidden email]> wrote: > Ok, I got this working finally -- I have a 3.8b4 VM. I found a post on > the web that mentions the last change for "getImageName" that I needed > to make can be changed in Slang ... where do I find the slang? I've > looked around for a bit, and seem to be unable to locate it. "Slang" is the name for a subset of Squeak Smalltalk. It is tailored to be easily translatable to C. In Slang, the VM (Interpreter, ObjectMemory, ...) is implemented. VMMaker is used to generate C code, which can then be compiled - but you know this last bit. Details? http://minnow.cc.gatech.edu/squeak/2267 :-) I don't know where to look for "getImageName" in particular, so I cannot help you with that one, sorry. (I haven't found it in the image I have at hand.) Best, Michael |
Michael,
Thanks -- the link to the details is what I needed. -- dave On 10/6/06, Michael Haupt <[hidden email]> wrote:
|
In reply to this post by Michael Haupt-3
Hi-- There's no Slang for getImageName, that's part of the platform-specific support (which is generally handwritten C). On Unix, for example, it's in sqUnixMain.c -C -- Craig Latta http://netjam.org/resume |
On 6-Oct-06, at 4:52 PM, Craig Latta wrote: > > There's no Slang for getImageName, that's part of the > platform-specific support (which is generally handwritten C). On Unix, > for example, it's in sqUnixMain.c Andreas, perhaps you could do me a small favour and stick a revision of the appropriate windows file into the http://www.squeakvm.org/cgi- bin/viewcvs.cgi/branches/VMM38b4/win32/vm/ slot? It would save explaining again and again. Actually I can't find an implementation in any of the current windows files either - how are you making it compile in that case? tim -- tim Rowledge; [hidden email]; http://www.rowledge.org/tim Useful random insult:- Looks for the "Any" key. |
Actually, I have only built VMs against the Croquet code base recently.
If you point me to the latest (3.9 scheduled) VMMaker I'll give it a go on the weekend. Cheers, - Andreas tim Rowledge wrote: > > > On 6-Oct-06, at 4:52 PM, Craig Latta wrote: > >> >> There's no Slang for getImageName, that's part of the >> platform-specific support (which is generally handwritten C). On Unix, >> for example, it's in sqUnixMain.c > > Andreas, perhaps you could do me a small favour and stick a revision of > the appropriate windows file into the > http://www.squeakvm.org/cgi-bin/viewcvs.cgi/branches/VMM38b4/win32/vm/ > slot? It would save explaining again and again. Actually I can't find an > implementation in any of the current windows files either - how are you > making it compile in that case? > > tim > -- > tim Rowledge; [hidden email]; http://www.rowledge.org/tim > Useful random insult:- Looks for the "Any" key. > > > |
On 6-Oct-06, at 5:33 PM, Andreas Raab wrote: > Actually, I have only built VMs against the Croquet code base > recently. If you point me to the latest (3.9 scheduled) VMMaker > I'll give it a go on the weekend. OK, just use the 3.8-b6 package on SM for now. tim -- tim Rowledge; [hidden email]; http://www.rowledge.org/tim Strange OpCodes: PSM: Print and SMear |
In reply to this post by Raymer David-fdr017
Hi Dave,
on Fri, 06 Oct 2006 22:28:02 +0200, you wrote: > Andreas, > > Ok, I got this working finally -- I have a 3.8b4 VM. I found a post on > the web that mentions the last change for "getImageName" that I needed > to make can be changed in Slang ... where do I find the slang? You can replace the "getImageName()" call in Interpreter>>#snapshot: and in Interpreter>>#writeImageFile: by "imageName" without parentheses. The affected expressions are Mac-only (they are noop on win32), the replacement makes them compile error-free on win32. /Klaus > I've > looked around for a bit, and seem to be unable to locate it. > > Thanks for the assistance. > > -- dave > > > -----Original Message----- > From: [hidden email] > [mailto:[hidden email]] On Behalf Of Andreas > Raab > Sent: Friday, October 06, 2006 12:44 PM > To: Squeak Virtual Machine Development Discussion > Subject: Re: [Vm-dev] hacking a 3.9 VM > > Did you go "by the book"? > > http://squeakvm.org/cgi-bin/viewcvs.cgi/trunk/platforms/win32/HowToBuild > .txt?rev=1530 > > If so, let me know what didn't work. > > Cheers, > - Andreas > > Raymer David-fdr017 wrote: >> >> >> >> > ------------------------------------------------------------------------ >> >> Gentlebeings, >> >> >> >> First off, I would like establish that I'm brand new to squeak - I'd >> like to use it to develop some prototypes of my research work; and to > do >> that I'm going to have get into the depths of VM. I seem to have >> encountered my first Balrog ... >> >> >> >> I thought that I would start with building my own 3.9 VM (nothing like > >> putting something together to figure out how it works). So I grabbed >> the latest from SVN (after looking at the branches and tags, I did not > >> see a 3.9 "approved" fileset). I tried to build this ... and failed. >> >> >> >> So, I then tried using VMMaker 3.8b6, the 3.9g-7061 image, on a 3.7 > VM. >> This gave me the files I was missing and after adding a few forward >> declarations into the win32/vm fileset, I have that building. Things >> were going quite well until the B3DAcceleratorPlugin. I seem to be >> getting lots and lots and lots of "implicit function declarations" in >> OpenGL and DX7 (d3) functions. >> >> >> >> Can someone throw me a bone on how to go about building a 3.9 VM for a > >> Win32 platform? >> >> >> >> Dave Raymer >> Motorola Labs, NSR CoE, NIRL Autonomics Research >> Distinguished Member of the Technical Staff >> +1-(817)-245-6834 >> >> >> |
In reply to this post by timrowledge
tim Rowledge wrote:
> On 6-Oct-06, at 5:33 PM, Andreas Raab wrote: >> Actually, I have only built VMs against the Croquet code base >> recently. If you point me to the latest (3.9 scheduled) VMMaker I'll >> give it a go on the weekend. > > OK, just use the 3.8-b6 package on SM for now. When I do this I have a few strange issues: First, there isn't any getImageName in that code (where does that come from?) and second, cc1 explodes in my face when trying to compile either B3DAcceleratorPlugin.c or JoystickTabletPlugin.c. Anyone having ideas what might cause this? Cheers, - Andreas |
On 7-Oct-06, at 1:09 AM, Andreas Raab wrote: > tim Rowledge wrote: >> On 6-Oct-06, at 5:33 PM, Andreas Raab wrote: >>> Actually, I have only built VMs against the Croquet code base >>> recently. If you point me to the latest (3.9 scheduled) VMMaker >>> I'll give it a go on the weekend. >> OK, just use the 3.8-b6 package on SM for now. > > When I do this I have a few strange issues: First, there isn't any > getImageName in that code (where does that come from?) That was exactly the bit I was hoping you'd add so that other people can just compile out of the box :-) It's a trivial function in a platform c file (see sqMacEncoding.c for the most complicated version) that I expect you can implement as char *getImageName(void) { return imageName; } but it allows a convenient place to do any required name massaging that the platform wants. I'd hazard a guess that you'd put it in sqWin32Utils.c for example. > and second, cc1 explodes in my face when trying to compile either > B3DAcceleratorPlugin.c or JoystickTabletPlugin.c. Anyone having > ideas what might cause this? All I can tell you there is that both appear to compile ok on OSX and the tablet plugin is ok on RISC OS (no b3d accel there). tim -- tim Rowledge; [hidden email]; http://www.rowledge.org/tim Meets quality standards: It compiles without errors. |
tim Rowledge wrote:
>> When I do this I have a few strange issues: First, there isn't any >> getImageName in that code (where does that come from?) > > That was exactly the bit I was hoping you'd add so that other people can > just compile out of the box :-) Sorry, but I mean the opposite: There doesn't seem to be any reference to getImageName in the VMMaker generated sources. If I grep interp.c for getImageName it comes up empty, and I don't get any link errors either. Put differently, the current sources compile just fine except from the two plugins exploding in my face. > All I can tell you there is that both appear to compile ok on OSX and > the tablet plugin is ok on RISC OS (no b3d accel there). Odd. Cheers, - Andreas |
Well Tim forgets that on the mac that the image name is UTF-8 and it
has to be translated into the character set the VM is using, simply returning the string *might* be good enuf, (sp). However likely that might not work well in Japan. sq.h has /* Image file and VM path names. */ extern char imageName[]; char *getImageName(void); However it seems the interp C code has lapsed back into referring directly to the imageName string. likely no one has tested this for a few years, but as a backwared compatible step the imageName string is setup when the imagename is calculated which is why it works. On 7-Oct-06, at 12:55 PM, Andreas Raab wrote: > tim Rowledge wrote: >>> When I do this I have a few strange issues: First, there isn't >>> any getImageName in that code (where does that come from?) >> That was exactly the bit I was hoping you'd add so that other >> people can just compile out of the box :-) > > Sorry, but I mean the opposite: There doesn't seem to be any > reference to getImageName in the VMMaker generated sources. If I > grep interp.c for getImageName it comes up empty, and I don't get > any link errors either. Put differently, the current sources > compile just fine except from the two plugins exploding in my face. > >> All I can tell you there is that both appear to compile ok on OSX >> and the tablet plugin is ok on RISC OS (no b3d accel there). > > Odd. > > Cheers, > - Andreas -- ======================================================================== === John M. McIntosh <[hidden email]> Corporate Smalltalk Consulting Ltd. http://www.smalltalkconsulting.com ======================================================================== === |
In reply to this post by Andreas.Raab
Hm ... trying to go back to 3.8 to see if the problem is caused by 64bit
updates wasn't successful either. First I updated to 3.8.1 which loads 6735RemoveLeftoverVMMakerBits-38b4 and thusly removes a whole bunch of methods that are required by the version in the released 3.8 version. After noticing this (the hard way) I loaded VMMaker-38b4 which I thought would include these methods but it doesn't. Okay, so I reverted to 3.8-6665 to generate the VM, only to run into one of those (foo isMemberOf: Symbol) issues from the post-m17n transition phase. That fixed I was almost capable of generating a new VM only to notice that you mustn't have the VMMaker tool or else loading a new Win32VMMaker class is being ignored. Took me a while to find that. Finally, I was able to generate a new VM but failed immediately with compiling it because of conflicting definitions of byteAt: etc. So after spending a couple of hours on this I still don't know what causes these crashes. Argh. This is a lot worse than I remembered. Cheers, - Andreas Andreas Raab wrote: > > tim Rowledge wrote: >>> When I do this I have a few strange issues: First, there isn't any >>> getImageName in that code (where does that come from?) >> >> That was exactly the bit I was hoping you'd add so that other people >> can just compile out of the box :-) > > Sorry, but I mean the opposite: There doesn't seem to be any reference > to getImageName in the VMMaker generated sources. If I grep interp.c for > getImageName it comes up empty, and I don't get any link errors either. > Put differently, the current sources compile just fine except from the > two plugins exploding in my face. > >> All I can tell you there is that both appear to compile ok on OSX and >> the tablet plugin is ok on RISC OS (no b3d accel there). > > Odd. > > Cheers, > - Andreas > > |
Well someone build a mac vm a few weeks back and as far as I know...
0. Grab your 3.8.1 image, install Balloon 3D, and then install version 3.8b6 of VMMaker, from http://map.squeak.org/accountbyid/ 4340a66e-2296-48b7-9aa8-5305d303752f/files/VMMaker-3.8b6.mcz or later... When this loads rely yes to move FloatProto to Undeclared. Now load the following two change sets found in the specialChangeSets folder. Note these might be in the VMMaker update since this doc was written, check the change set and the image after loading VMMaker to see if you need these items. load VMM38-gc-instrument-image.1.cs load VMM38-64bit-imageUpdates.1.cs That should provide a version of VMMaker that is sufficient to build 3.8.12b5U On 7-Oct-06, at 6:04 PM, Andreas Raab wrote: > Hm ... trying to go back to 3.8 to see if the problem is caused by > 64bit updates wasn't successful either. First I updated to 3.8.1 > which loads 6735RemoveLeftoverVMMakerBits-38b4 and thusly removes a > whole bunch of methods that are required by the version in the > released 3.8 version. After noticing this (the hard way) I loaded > VMMaker-38b4 which I thought would include these methods but it > doesn't. Okay, so I reverted to 3.8-6665 to generate the VM, only > to run into one of those (foo isMemberOf: Symbol) issues from the > post-m17n transition phase. That fixed I was almost capable of > generating a new VM only to notice that you mustn't have the > VMMaker tool or else loading a new Win32VMMaker class is being > ignored. Took me a while to find that. > > Finally, I was able to generate a new VM but failed immediately > with compiling it because of conflicting definitions of byteAt: > etc. So after spending a couple of hours on this I still don't know > what causes these crashes. > > Argh. This is a lot worse than I remembered. > > Cheers, > - Andreas > > > Andreas Raab wrote: >> tim Rowledge wrote: >>>> When I do this I have a few strange issues: First, there isn't >>>> any getImageName in that code (where does that come from?) >>> >>> That was exactly the bit I was hoping you'd add so that other >>> people can just compile out of the box :-) >> Sorry, but I mean the opposite: There doesn't seem to be any >> reference to getImageName in the VMMaker generated sources. If I >> grep interp.c for getImageName it comes up empty, and I don't get >> any link errors either. Put differently, the current sources >> compile just fine except from the two plugins exploding in my face. >>> All I can tell you there is that both appear to compile ok on OSX >>> and the tablet plugin is ok on RISC OS (no b3d accel there). >> Odd. >> Cheers, >> - Andreas -- ======================================================================== === John M. McIntosh <[hidden email]> Corporate Smalltalk Consulting Ltd. http://www.smalltalkconsulting.com ======================================================================== === |
On 7-Oct-06, at 8:57 PM, John M McIntosh wrote: > > load VMM38-gc-instrument-image.1.cs > load VMM38-64bit-imageUpdates.1.cs John, these are nothing to do with loading VMMaker as such. Along with a few other bits they are the deltas that make the 3.8.1 release. tim -- tim Rowledge; [hidden email]; http://www.rowledge.org/tim Strange OpCodes: BNE: Buy Non-IBM Equipment |
In reply to this post by Andreas.Raab
Well, I'm startled at the problems we seem to be having here.
Obviously, as I was developing various versions of VMMaker I was actually running them and building VMs. Clearly, I wouldn't have deliberately released something that didn't work when testing it. However, do remember that I do not have a Windows machine nor a *nix machine so can't do anything but rely on others to test and report back in a timely manner. IIRC, Dave Lewis for example has not had problems with building *nix VMs recently. Looking back in my history files, it is clear that VMMaker38b4 had the getImageName call in it. If you use the VMMaker38b4 branch from SVN and add the trivial char *getImageName(void) { return imageName; } it *really* ought to work - obviously with your old build setup. This was the last pre-64bit work version. I've got a number of emails from around that date from people that were able to build a vm then, so it must have been reasonably ok at some point. Moving forward in time, to my annoyance I see that when I loaded Ian's 64 bit changes *last April* the copy of Interpreter>snapshot: sucked in reverted from using getImageName: to just referring to the global 'imageName'. So since then Macs haven't been able to do the character set conversion done by getImageNameWithEncoding(char *target,UInt32 encoding). I wonder if that has caused any bugs? So any release after that (ie 3.8b5-64, 3.8b5-64B and 3.8b6) should compile without requiring the presence of getImageName unless it is used in any platform code or whatever - which is the case for mac and RISC OS. On 7-Oct-06, at 6:04 PM, Andreas Raab wrote: > Hm ... trying to go back to 3.8 to see if the problem is caused by > 64bit updates wasn't successful either. First I updated to 3.8.1 > which loads 6735RemoveLeftoverVMMakerBits-38b4 and thusly removes a > whole bunch of methods that are required by the version in the > released 3.8 version. Yah, which unfortunately means you would have to reload the vmmaker package. Or better yet, start from a 3.8.1 and then load vmmaker3.8b6 > After noticing this (the hard way) I loaded VMMaker-38b4 which I > thought would include these methods but it doesn't. Which is exactly why they were moved into the vmmaker package for 3.8b6, which meant of course that they needed to be removed from the basic image, which lead to 6735RemoveLeftoverVMMakerBits-38b4 being part of 3.8.1. The combination of a MC package and a changeset update doesn't work as cleverly as we might dream. > Okay, so I reverted to 3.8-6665 to generate the VM, only to run > into one of those (foo isMemberOf: Symbol) issues from the post- > m17n transition phase. I very vaguely recall some of that but don't seem to have any record of details. I thought it had been fixed before the 3.8 release? > That fixed I was almost capable of generating a new VM only to > notice that you mustn't have the VMMaker tool or else loading a new > Win32VMMaker class is being ignored. Took me a while to find that. Is this the new Win32VMMaker class to support your new build setup? I haven't had an opportunity to do anything with that yet. > > Finally, I was able to generate a new VM but failed immediately > with compiling it because of conflicting definitions of byteAt: etc. Never seen that issue. Did it tell you where the conflicting versions are and what they are? What should work as the cannonical approach is run 3.8.1 load vmmaker3.8b6 run vmmaker compile It works on RISC OS and so as I can tell on OSX - since john has been building vms - and apparently on unix - since Dave L has been building vms. I think the ball got away from us collectively about last june, as everyone scattered off doing more urgent seeming work items. I certainly haven't had any available time since around then. tim -- tim Rowledge; [hidden email]; http://www.rowledge.org/tim Strange OpCodes: EFB: Emulate Five-volt Battery mode |
Hi Tim-- > However, do remember that I do not have a Windows machine nor a *nix > machine so can't do anything but rely on others to test and report > back in a timely manner. I thought you had a MacOSX machine? -C -- Craig Latta http://netjam.org/resume |
Free forum by Nabble | Edit this page |