[Bug] [VM] [Linux] VMMaker experience

Serge Stinckwich Serge.Stinckwich at info.unicaen.fr
Sat May 4 07:24:57 UTC 2002


At Sat, 04 May 2002 00:11:32 -0600,
Nevin Pratt wrote:
> 
> But anyway, here's what I did:
> 
> 1. I googled "Squeak VMMaker".  It gave me Lex's page: 
> "http://minnow.cc.gatech.edu/squeak/2173 "
> 
> 2. Following the instructions on Lex's page, I downloaded and installed 
> VMMaker into my existing Linux image (a 3.2g-4843 image).  I get the 
> VMMaker filein by clicking the VMMaker link in Lex's page, and then on 
> the next page scrolling to the bottom and clicking on the link that says 
> "The changesets are at: ...".  Immediately below this changesets link, 
> it suggests also using a "ClassBuilderFix.cs" filein, which I try and it 
> crashes the image complaining about a serious meta inconsistency, so I 
> redo everything again without using ClassBuilderFix.cs this time.  I 
> move on without the ClassBuilderFix.cs.
> 
>            PROBLEM #1: THE "ClassBulderFix.cs" FILEIN CRASHES MY IMAGE

Just click on proceed.
 
> 3. Back on Lex's page, I click on "Getting source using the CVS 
> repository".  I create a 'src' directory within the directory I am 
> currently running squeak in, and then follow the cvs login instructions 
> in Lex's page.
> 
> 4. The cvs instructions say to either 'co squeak', or to 'co unix'. 
>  Since I am only interested in unix, I issue the cvs instructions to 'co 
> unix'.  It creates and populates a 'src/platforms' directory, and within 
> the 'platforms' directory, I have 'CVS', 'Cross', and 'unix' directories.
> 
> 5.  I issue the cvs 'co CVSROOT' command, per Lex's instructions, from 
> the same directory I did the 'co unix' in (within the 'src' directory). 
>  Now, within the 'src' directory, I have both a 'CVSROOT' directory, and 
> a 'platforms' directory.  And, of course, my 'src' directory is inside 
> of my current working directory that I launched Squeak from.
> 
> 6. I go back to Lex's page.  He says to "Run VMMaker and generate source 
> code including the plugins you want".  So, in my existing Squeak image, 
> I do 'VMMakerTool openInWorld'.  In that UI, I click "Find Path", and it 
> finds my platforms directory OK.  I then click on "Find platform", and 
> it shows me the choices "CVS" and "unix".  I select "unix".
> 
> 7. What is this "Path to generated sources" thing on the VMMaker UI?  It 
> has defaulted to the 'src' directory, which is the parent directory to 
> the 'platforms' directory.  I leave it with this default.
> 
>           PROBLEM #2: THE "Path to generated sources" STUFF IS NOT CLEAR.
> 
> 8. In the "Plugins not built" pane, I right mouse click and select "Make 
> all internal".  Then I click the "Generate All" button and wait for a 
> little while.
> 
> 9.  I go back to Lex's web page to see what to do next.  He says to 
> "Make a 'build' directory", but he doesn't say where.  However, he next 
> says to 'cd build', and then '../platforms/unix/misc/configure'.  Aha, 
> this reveals where the 'build' directory should be-- it should be on the 
> same directory level as the 'platforms' directory (i.e., inside of the 
> 'src' directory).  Otherwise you couldn't do a 
> '../platforms/unix/misc/configure' command.
> 
> Hmm, the configure generated an error.  It says:
> 
>    find: ../platforms/unix/misc/../../../src/vm: No such file or directory
> 
> If you follow all of those '..' paths, you will see that it is looking 
> for a 'src' directory at the same level as the 'platforms' and 'build' 
> directories are at.  That's not the level that the 'src' directory is 
> at.  It is instead one directory higher.
> 
> So, within my 'src' directory, I issue the following:
> 
>    ln -s . src
> 
> This gives me a soft link 'src' which just links back to the same 
> directory, within which the 'vm' directory can now be found.  This makes 
> it so that the 'find' path shown in the configure error should now work.
> 
> 10. I rerun '../platforms/unix/misc/configure', and this time it seems 
> to work.
> 
>          PROBLEM #3: WHERE SHOULD YOU PUT THE 'build' DIRECTORY?  WHY 
> DID I NEED TO CREATE THIS 'src' LINK?  ARE THESE TWO ISSUES RELATED?

src, build and platforms should be at the same level just under the top-level
directory squeak.
 
> 11. I type 'make', and cross my fingers (on my Linux 7.1 box, 'gmake' is 
> a link to 'make', which is the standard make on the box).  It builds me 
> a 'squeak' VM.
> 
> 12. I quit my existing Squeak image, and replace the old 'squeak' VM 
> with the new one, and try to restart my image.  I get a walkback.  The 
> relevant part of the stack walkback is the following:
> 
>     Error: Cannot truncate this number
>     (... a few other stack frames, then...)
>    Float(Object)>>error:
>    Float>>truncated
>    Float>>rounded
>    Color>>setRed:green:blue:
>    Color class>>r:g:b:
>    Color class>>r:g:b:alpha:
>    Color>>alphaMixed:with:
>    Color>>veryMuchLighter
>    PreDebugWindow(SystemWindow)>>paneColor:
>    PreDebugWindow(SystemWindow)>>paneColor
>    PreDebugWindow(SystemWindow)>>paneColorToUse
>    PreDebugWindow(SystemWindow)>>extent:
>    PreDebugWindow>>extent:
>    PreDebugWindow(SystemWindow)>>initialize
>    PreDebugWindow>>initialize
> 
> I switched back to the old VM and launched the image.  I poked a little 
> at the code shown in the walkback, and on a hunch turned off the 
> alternativeWindowLook (which should stop the Color>>veryMuchLighter call 
> from happening).  Then I saved the image and switched back to the new 
> VM.  I got the same kind of error, but from the ScrollBar>>thumbColor, 
> then some more ScrollBar methods, then Color methods, then the Float 
> rounded thing, then Float truncated, then bam, "Cannot truncate this 
> number" error.
> 
>            PROBLEM #4: THE NEW VM DOESN'T WORK, AND I DON'T KNOW WHY
> 

I've got the same error with gcc 3.0, works without problems with gcc
2.95.

-- 
Serge Stinckwich                                         -< )  http://multiagent.com/
Université de Caen>CNRS UMR 6072>GREYC>I3>SMILE           /~\  http://squeak.org/
http://www.iutc3.unicaen.fr/serge/                       (/  | http://zope.org/
Smalltalkers do: [:it | All with: Class, (And love: it)] _|_/  http://debian.org/



More information about the Squeak-dev mailing list