[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