[Bug] [VM] [Linux] VMMaker experience

Nevin Pratt nevin at smalltalkpro.com
Sat May 4 06:19:24 UTC 2002


This whole exercise to build a VM on Linux is due to my wanting the 
JPEGReaderWriter2Plugin.

Does anybody have a working VM for Linux that includes that plugin that 
they could email me?  That would save me the building trouble.

But then again, as can be seen in my message below, the build attempt is 
perplexing.  I wouldn't mind knowing what the problem is, if anybody can 
tell.

Thanks,

Nevin


Nevin Pratt wrote:

> I'm playing around with VM building on Linux now, but I've run into 
> multiple errors.  I've got a RedHat 7.1 system that I long ago 
> upgraded the compiler to gcc 3.0.3.  The standard RedHat 7.1 compiler 
> is broken and wouldn't run Ingres for a contract I had awhile back, 
> but the 3.0.3 version ran all the Ingres stuff for that contract just 
> fine.  So, I think my compiler's OK.
>
> 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
>
> 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?
>
> 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
>
>
>
>
>
>






More information about the Squeak-dev mailing list