Unix: update #4640 crash. Also,VMMaker problem.

Steve Swerling sps2000 at mail.com
Tue Jan 22 23:27:02 UTC 2002


Tim,

I think you may have some files locally that have not made it up to SF.
It's been awhile since I've done any c programming, so I wouldn't bet my
house on it. And I don't even own a house. But please read the following
-- any help would be greatly appreciated to help me get the gamma image
running on linux. 

First, I did a fetch of the module "squeak" from SF. 

Next, I did a generate using VMMakerTool with all plugins internal on an
untainted 4599 image (after I pointed VMMaker at the "platforms"
subdirectory that I checked out of SF). I got the following error
message:

  "VMMaker could not make B2DPlugin as internal plugin because the
exports list appears not to match". 

So I moved it over to the external plugins list, tried to generate
internal, then got the same error message on the next plugin. So I did a
generate with *every* plugin as external. No problems on generation of
external plugins. 

Next I tried to make. It broke on interp.c:
  gnu-interp.c:1235: conflicting types for
`readImageFromFileHeapSizeStartingAt'
  ../src/vm/sq.h:309: previous declaration of
`readImageFromFileHeapSizeStartingAt

I looked in those files for the funtion definitions for readImage... and
found:
  gnu-int: int readImageFromFileHeapSizeStartingAt(sqImageFile f,
intdesiredHeapSize, int imageOffset);
  sq.h: int readImageFromFileHeapSizeStartingAt(sqImageFile f,
intdesiredHeapSize, off_t imageOffset);

The difference is the use of "off_t". Doing a search for "#define off_t"
revealed it was defined as "int", but only in
platforms/win32/vm/sqPlatformSpecific.h. (This is why I think something
might be missing from SF). So I replace the reference to off_t with
"int" and compile. Everything compiles, but it does not link. The error:

  sqVirtualMachine.o: In function `sqGetInterpreterProxy':
 
/home/swerling/mydesk/squeak/SourceForge/src/vm/sqVirtualMachine.c:306:
undefined reference to `positive64BitIntegerFor'
 
/home/swerling/mydesk/squeak/SourceForge/src/vm/sqVirtualMachine.c:307:
undefined reference to `positive64BitValueOf'
 
/home/swerling/mydesk/squeak/SourceForge/src/vm/sqVirtualMachine.c:308:
undefined reference to `signed64BitIntegerFor'
 
/home/swerling/mydesk/squeak/SourceForge/src/vm/sqVirtualMachine.c:309:
undefined reference to `signed64BitValueOf'

(I'm sorry this is such a long message, but it's been awhile since I've
done any c programming, I'm not sure what I can edit out). 

So that where I am currently stuck.

I would like to make a couple of suggestions for VMMaker. First, a
little message to the transcript along the lines of "VMMaker finished
generating" would by helpful. Second, in the help window, you might tell
unix users to put a script file called "sqconfigure" in their build
directory that contains the following:
at the moment.
	SRCDIR=/Path/To/My/src
	chmod 777 $SRCDIR/configure
	chmod 777 $SRCDIR/util/mkMake
	chmod 777 $SRCDIR/util/verstamp
	$SRCDIR/configure

It's a small thing, but you really have to look at the output of
configure to notice that mkMake was not run.

> I have just done a fresh fetch from SF, a 4599 image with my ...version4
> changeset and build. No errors, all plugins buildable on unix built ok.
> Looks good to me...
> 
> tim
> 
> --
> Tim Rowledge, tim at sumeru.stanford.edu, http://sumeru.stanford.edu/tim
> Strange OpCodes: WAF: Warn After the Fact



More information about the Squeak-dev mailing list