[Vm-dev] I have a 3.9 VM and a few questions ...

Raymer David-fdr017 David.Raymer at motorola.com
Mon Oct 9 15:55:14 UTC 2006


Skipped content of type multipart/alternative-------------- next part --------------
* using the 3.9g-7061 image, and my 3.8b4 VM
* using squeakmap, installed VMMaker 3.8b6
	-- received an error message "This package depends on the following classes: FFIContants"
	-- You must resolve these dependencies before you will be able to load these definitions:
		pretty much all of the FFI plugin.
	-- I clicked proceed, will deal with this later when things break because of this issue.
		
* removed the "bad" Win32VMMaker and installed the "good" one from the SVN code.
* pulled the corresponding Rev 1444 code from SVN for platforms/Cross and platforms/win32
* setup paths, and selected interna vs. external plugins in VMMaker
* generated code

* attempted build -- failed (note a later discovery indicated/proved that this was not the correct solution).
	no plugins.int or plugins.ext found.

		+ copied the ones from my 3.8b4 build

* attempted build -- failed
	no sq.h found.

		+ copied all files from platforms/Cross/vm to platforms/win32/vm (as all turned out to be missing)

* attempted build -- failed
	In file included from vm\sq.h:19,
                 from ./vm/sqNamedPrims.c:14:
	vm\sqMemoryAccess.h:22: interp.h: No such file or directory
	vm\sqMemoryAccess.h:59: #error long long integers are not 64-bits wide?
	
		+ commented out all of "#if defined(HAVE_INTERP_H) except for the 32bit 
		  VM define on line 24.
		
* attempted build -- failed
	./vm/sqWin32PluginSupport.c:4: ..\plugins\FilePlugin\FilePlugin.h: No such file or directory		

		+ copied FilePlugin.h from platforms/Cross/plugins/FilePlugin to platforms/win32/plugins/FilePlugin

* attempted build -- failed
	make: *** No rule to make target `interp.c', needed by `gnu-interp.c'.  Stop.
	
		+ *YIKES* --	after some digging around, I copied the generated interp.c and interp.h into the 
		  platforms/win32 directory

* attempted build -- failed
	make: *** plugins/ADPCMCodecPlugin: No such file or directory.  Stop.
	make: *** [ADPCMCodecPlugin.lib] Error 2
	
		+ *YIKES* -- rather than remove and regen, I grabbed the one from 3.8b4 vm build.
		
* attempted build -- failed
	previous error above repeated; 
	
		+ I did a compare of the 3.8b4 and 1444 plugins directory, and copied all missing
		  plugins over.  
		+ { BitBlt, BMPReadWriter, DSA, FFT, FloatArray, Genie, JPEGReader, Klatt, 
		    LargeIntegers, Matrix2x3, MiscPrimitive, Squeak3d, StarSqueak, Zip }

* attempted build -- failed
	sqWin32AsyncFilePrims.c:50: AsynchFilePlugin.h: No such file or directory
	make[1]: *** [sqWin32AsyncFilePrims.o] Error 1
	
		+ copied from platforms/Cross/plugins/AsynchFilePlugin
		
* attempted build -- failed
	sqWin32D3D.c:30: ..\SurfacePlugin\SurfacePlugin.h: No such file or directory
	sqWin32D3D.c:31: B3DAcceleratorPlugin.h: No such file or directory
	make[1]: *** [sqWin32D3D.o] Error 1
	make[1]: Leaving directory `C:/home/squeak/squeak-3.9/build/platforms/win32/plugins/B3DAcceleratorPlugin'
	make: *** [B3DAcceleratorPlugin.lib] Error 2
	
		+ copied files from platforms/Cross/plugins; 
		  note that several files appeared to missing from B3DAccelerator
			{ B3DAcceleratorPlugin.h, sqOpenGLRenderer.c, sqOpenGLRenderer.h } -- all files copied over.
			
* attempted build -- failed
	several more missing plugins found,  { Squeak3d, B2D, RePlugin, SoundCodePrims, SoundGeneration }
		+ copied from platforms/Cross/plugins.  (note, these were present in 1444 Cross, but not 1444 win32)	
 
* attempted build -- failed
	LargeIntegers.c:1130: redefinition of `flag'
	LargeIntegers.c:70: `flag' previously defined here
	make[1]: *** [LargeIntegers.o] Error 1
		
		+ root cause of this was in vm/sqMemoryAccess.h -- a different defintion of flag, that had a 
		  "this doesn't belong here ..." remark.  So I commented it out, deleted the contents of win32/release
		  and did a rebuild.
		
* attempted build -- failed
	sqWin32NewNet.c:24: SocketPlugin.h: No such file or directory
	make[1]: *** [sqWin32NewNet.o] Error 1
	make[1]: Leaving directory `C:/home/squeak/squeak-3.9/build/platforms/win32/plugins/SocketPlugin'
	make: *** [SocketPlugin.lib] Error 2
	
		+ copied from platforms/Cross/plugins/SocketPlugin to platforms/win32/plugins/SocketPlugin
		
* attempted build -- 	failed
	sqWin32Sound.c:18: SoundPlugin.h: No such file or directory
	make[1]: *** [sqWin32Sound.o] Error 1
	make[1]: Leaving directory `C:/home/squeak/squeak-3.9/build/platforms/win32/plugins/SoundPlugin'
	make: *** [SoundPlugin.lib] Error 2
	
		+ copied from platforms/Cross/plugins/SoundPlugin to platforms/win32/plugins/SoundPlugin
		
* attempted build -- failed
	./release/sqNamedPrims.o: In function `findLoadedModule':
	//C/home/squeak/squeak-3.9/build/platforms/win32/./vm/sqNamedPrims.c:48: undefined reference to `AsynchFilePlugin_exports'
	//C/home/squeak/squeak-3.9/build/platforms/win32/./vm/sqNamedPrims.c:48: undefined reference to `B3DAcceleratorPlugin_exports'
	//C/home/squeak/squeak-3.9/build/platforms/win32/./vm/sqNamedPrims.c:48: undefined reference to `Squeak3D_exports'
	//C/home/squeak/squeak-3.9/build/platforms/win32/./vm/sqNamedPrims.c:49: undefined reference to `DropPlugin_exports'
	//C/home/squeak/squeak-3.9/build/platforms/win32/./vm/sqNamedPrims.c:51: undefined reference to `FilePlugin_exports'
	//C/home/squeak/squeak-3.9/build/platforms/win32/./vm/sqNamedPrims.c:54: undefined reference to `Mpeg3Plugin_exports'
	./release/sqNamedPrims.o: In function `addToModuleList':
	//C/home/squeak/squeak-3.9/build/platforms/win32/./vm/sqNamedPrims.c:58: undefined reference to `RePlugin_exports'
	//C/home/squeak/squeak-3.9/build/platforms/win32/./vm/sqNamedPrims.c:58: undefined reference to `SecurityPlugin_exports'
	//C/home/squeak/squeak-3.9/build/platforms/win32/./vm/sqNamedPrims.c:58: undefined reference to `SerialPlugin_exports'
	//C/home/squeak/squeak-3.9/build/platforms/win32/./vm/sqNamedPrims.c:58: undefined reference to `SocketPlugin_exports'
	//C/home/squeak/squeak-3.9/build/platforms/win32/./vm/sqNamedPrims.c:58: undefined reference to `SoundCodecPrims_exports'
	//C/home/squeak/squeak-3.9/build/platforms/win32/./vm/sqNamedPrims.c:61: undefined reference to `SoundGenerationPlugin_exports'
	//C/home/squeak/squeak-3.9/build/platforms/win32/./vm/sqNamedPrims.c:61: undefined reference to `SoundPlugin_exports'
	//C/home/squeak/squeak-3.9/build/platforms/win32/./vm/sqNamedPrims.c:61: undefined reference to `UUIDPlugin_exports'
	./release/sqWin32Exports.o(.data+0x8)://C/home/squeak/squeak-3.9/build/platforms/win32/./vm/sqWin32Exports.c: undefined reference to `win32JoystickDebugInfo'
	./release/sqWin32Exports.o(.data+0x14)://C/home/squeak/squeak-3.9/build/platforms/win32/./vm/sqWin32Exports.c: undefined reference to `win32JoystickDebugPrintRawValues'
	./release/sqWin32Exports.o(.data+0x20)://C/home/squeak/squeak-3.9/build/platforms/win32/./vm/sqWin32Exports.c: undefined reference to `win32JoystickDebugPrintAlternativeValues'	
	./release/sqWin32PluginSupport.o: In function `primitivePluginRequestFileHandle':
	//C/home/squeak/squeak-3.9/build/platforms/win32/./vm/sqWin32PluginSupport.c:252: undefined reference to `fileRecordSize'
	//C/home/squeak/squeak-3.9/build/platforms/win32/./vm/sqWin32PluginSupport.c:254: undefined reference to `fileValueOf'
	./release/gnu-interp.o: In function `addressOfstartingAtsize':
	//C/home/squeak/squeak-3.9/build/platforms/win32/gnu-interp.c:2191: undefined reference to `flag'
	./release/gnu-interp.o: In function `byteSizeOf':
	//C/home/squeak/squeak-3.9/build/platforms/win32/gnu-interp.c:2876: undefined reference to `flag'
	./release/gnu-interp.o: In function `byteSwapByteObjectsFromto':
	//C/home/squeak/squeak-3.9/build/platforms/win32/gnu-interp.c:2946: undefined reference to `flag'
	./release/gnu-interp.o: In function `copyObjtoSegmentaddrstopAtsaveOopAtheaderAt':
	//C/home/squeak/squeak-3.9/build/platforms/win32/gnu-interp.c:3868: undefined reference to `flag'
	//C/home/squeak/squeak-3.9/build/platforms/win32/gnu-interp.c:3889: undefined reference to `flag'
	./release/gnu-interp.o://C/home/squeak/squeak-3.9/build/platforms/win32/gnu-interp.c:3950: more undefined references to `flag' follow
	./release/DropPlugin.lib(sqWin32Drop.o.b): In function `dropRequestFileHandle':
	//C/home/squeak/squeak-3.9/build/platforms/win32/plugins/DropPlugin/sqWin32Drop.c:739: undefined reference to `fileRecordSize'
	//C/home/squeak/squeak-3.9/build/platforms/win32/plugins/DropPlugin/sqWin32Drop.c:742: undefined reference to `fileValueOf'
	make: *** [Croquet.exe] Error 1		
	
		+ went back and added croquet to my list of plugins -- why is this trying to build croquet? upon examination, files in platforms/Cross/plugins/CroquetPlugin
		  were not in the equivalent win32 directory, so I copied them over
		+ removed flag from LargeIntegers.c and un-commented it in sqMemoryAccess.h.  Cleaned out platforms/win32/release, rebuilt
		+ rebuild removed all errors related to flag.
		+ moved all plugins to internal, and rebuilt
		
* attempted build -- failed
	sqWin32MIDI.c:20: MIDIPlugin.h: No such file or directory
	make[1]: *** [sqWin32MIDI.o] Error 1
	make[1]: Leaving directory `C:/home/squeak/squeak-3.9/build/platforms/win32/plugins/MIDIPlugin'
	make: *** [MIDIPlugin.lib] Error 2
	
		+ copied MIDIPlugin.h from platforms/Cross/plugins/MIDIPlugin to platforms/win32/plugins/MIDIPlugin.
		
* attempted build -- failed
	./release/sqNamedPrims.o: In function `findLoadedModule':
	//C/home/squeak/squeak-3.9/build/platforms/win32/./vm/sqNamedPrims.c:48: undefined reference to `AsynchFilePlugin_exports'
	//C/home/squeak/squeak-3.9/build/platforms/win32/./vm/sqNamedPrims.c:48: undefined reference to `B3DAcceleratorPlugin_exports'
	//C/home/squeak/squeak-3.9/build/platforms/win32/./vm/sqNamedPrims.c:48: undefined reference to `Squeak3D_exports'
	//C/home/squeak/squeak-3.9/build/platforms/win32/./vm/sqNamedPrims.c:49: undefined reference to `DropPlugin_exports'
	//C/home/squeak/squeak-3.9/build/platforms/win32/./vm/sqNamedPrims.c:51: undefined reference to `FilePlugin_exports'
	//C/home/squeak/squeak-3.9/build/platforms/win32/./vm/sqNamedPrims.c:54: undefined reference to `Mpeg3Plugin_exports'
	./release/sqNamedPrims.o: In function `addToModuleList':
	//C/home/squeak/squeak-3.9/build/platforms/win32/./vm/sqNamedPrims.c:58: undefined reference to `RePlugin_exports'
	//C/home/squeak/squeak-3.9/build/platforms/win32/./vm/sqNamedPrims.c:58: undefined reference to `SecurityPlugin_exports'
	//C/home/squeak/squeak-3.9/build/platforms/win32/./vm/sqNamedPrims.c:58: undefined reference to `SerialPlugin_exports'
	//C/home/squeak/squeak-3.9/build/platforms/win32/./vm/sqNamedPrims.c:58: undefined reference to `SocketPlugin_exports'
	//C/home/squeak/squeak-3.9/build/platforms/win32/./vm/sqNamedPrims.c:58: undefined reference to `SoundCodecPrims_exports'
	//C/home/squeak/squeak-3.9/build/platforms/win32/./vm/sqNamedPrims.c:61: undefined reference to `SoundGenerationPlugin_exports'
	//C/home/squeak/squeak-3.9/build/platforms/win32/./vm/sqNamedPrims.c:61: undefined reference to `SoundPlugin_exports'
	//C/home/squeak/squeak-3.9/build/platforms/win32/./vm/sqNamedPrims.c:61: undefined reference to `UUIDPlugin_exports'
	//C/home/squeak/squeak-3.9/build/platforms/win32/./vm/sqNamedPrims.c:61: undefined reference to `JoystickTabletPlugin_exports'
	//C/home/squeak/squeak-3.9/build/platforms/win32/./vm/sqNamedPrims.c:61: undefined reference to `MIDIPlugin_exports'
	./release/sqWin32PluginSupport.o: In function `primitivePluginRequestFileHandle':
	//C/home/squeak/squeak-3.9/build/platforms/win32/./vm/sqWin32PluginSupport.c:252: undefined reference to `fileRecordSize'
	//C/home/squeak/squeak-3.9/build/platforms/win32/./vm/sqWin32PluginSupport.c:254: undefined reference to `fileValueOf'
	./release/DropPlugin.lib(sqWin32Drop.o.b): In function `dropRequestFileHandle':
	//C/home/squeak/squeak-3.9/build/platforms/win32/plugins/DropPlugin/sqWin32Drop.c:739: undefined reference to `fileRecordSize'
	//C/home/squeak/squeak-3.9/build/platforms/win32/plugins/DropPlugin/sqWin32Drop.c:742: undefined reference to `fileValueOf'
	make: *** [Croquet.exe] Error 1
	
		+ after some digging around, I discovered that the FilePlugin.c file that was being generated had not been copied over to the
		  plugins directory ... so I manualy moved it, and that removed the "fileRecordSize" and "fileValueOf" problems.
		
* attempted build -- failed
	./release/sqNamedPrims.o: In function `findLoadedModule':
	//C/home/squeak/squeak-3.9/build/platforms/win32/./vm/sqNamedPrims.c:48: undefined reference to `AsynchFilePlugin_exports'
	//C/home/squeak/squeak-3.9/build/platforms/win32/./vm/sqNamedPrims.c:48: undefined reference to `B3DAcceleratorPlugin_exports'
	//C/home/squeak/squeak-3.9/build/platforms/win32/./vm/sqNamedPrims.c:48: undefined reference to `Squeak3D_exports'
	//C/home/squeak/squeak-3.9/build/platforms/win32/./vm/sqNamedPrims.c:49: undefined reference to `DropPlugin_exports'
	//C/home/squeak/squeak-3.9/build/platforms/win32/./vm/sqNamedPrims.c:54: undefined reference to `Mpeg3Plugin_exports'
	./release/sqNamedPrims.o: In function `addToModuleList':
	//C/home/squeak/squeak-3.9/build/platforms/win32/./vm/sqNamedPrims.c:58: undefined reference to `RePlugin_exports'
	//C/home/squeak/squeak-3.9/build/platforms/win32/./vm/sqNamedPrims.c:58: undefined reference to `SecurityPlugin_exports'
	//C/home/squeak/squeak-3.9/build/platforms/win32/./vm/sqNamedPrims.c:58: undefined reference to `SerialPlugin_exports'
	//C/home/squeak/squeak-3.9/build/platforms/win32/./vm/sqNamedPrims.c:58: undefined reference to `SocketPlugin_exports'
	//C/home/squeak/squeak-3.9/build/platforms/win32/./vm/sqNamedPrims.c:58: undefined reference to `SoundCodecPrims_exports'
	//C/home/squeak/squeak-3.9/build/platforms/win32/./vm/sqNamedPrims.c:61: undefined reference to `SoundGenerationPlugin_exports'
	//C/home/squeak/squeak-3.9/build/platforms/win32/./vm/sqNamedPrims.c:61: undefined reference to `SoundPlugin_exports'
	//C/home/squeak/squeak-3.9/build/platforms/win32/./vm/sqNamedPrims.c:61: undefined reference to `UUIDPlugin_exports'
	//C/home/squeak/squeak-3.9/build/platforms/win32/./vm/sqNamedPrims.c:61: undefined reference to `JoystickTabletPlugin_exports'
	//C/home/squeak/squeak-3.9/build/platforms/win32/./vm/sqNamedPrims.c:61: undefined reference to `MIDIPlugin_exports'

		+ after some consideration, I noticed a slight difference in the "*_exports" problem -- FilePlugin_exports had been resolved by
		  the last fix ("fileRecordSize" and "fileValueOf")  so I just copied the contents of build/src for all plugins into the plugins directory
		
* attempted build -- failed.
	This was actually a number of builds resulting in a number of new "file not found" problems, all of which I resolved by copying 
	missing files from the platforms/Cross file tree. A cleanout of release and a few rebuilds.
	
	I am guessing this was caused by my paths in VMMaker.
		path to platforms code 		--> C:\home\squeak\squeak-3.9\build\platforms	
		path to generated sources	--> C:\home\squeak\squeak-3.9\build\platforms\win32\build\src

	Actually, I would hazard a more precise guess that the problem is the latter.  As an aside I also found at this time the generated
	plugins.int and plugins.ext files ... so my first fix above is obviously wrong.
	
* attempted build -- succeeded -- but I ended up with a croquet.exe, not a squeak.exe.


More information about the Vm-dev mailing list