Latest trunk (1954) and a clean svn checkout.
I tried to make the latest vm under unix and received the following errors. Assuming that this is from latest Pharo changes on OSX which resulted in unix not building. Yes?
/bin/sh /home/bfuller/dev/squeak/platforms/unix/libtool --mode=link gcc -O0 -g -DLSB_FIRST=1 -Wl,--hash-style=sysv -export-dynamic -R/usr/local/lib -o squeak vm/vm.a ADPCMCodecPlugin/ADPCMCodecPlugin.a AsynchFilePlugin/AsynchFilePlugin.a BMPReadWriterPlugin/BMPReadWriterPlugin.a B2DPlugin/B2DPlugin.a BitBltPlugin/BitBltPlugin.a CroquetPlugin/CroquetPlugin.a DSAPrims/DSAPrims.a ZipPlugin/ZipPlugin.a DropPlugin/DropPlugin.a FFTPlugin/FFTPlugin.a FilePlugin/FilePlugin.a FloatArrayPlugin/FloatArrayPlugin.a FloatMathPlugin/FloatMathPlugin.a GeniePlugin/GeniePlugin.a JPEGReadWriter2Plugin/JPEGReadWriter2Plugin.a JPEGReaderPlugin/JPEGReaderPlugin.a JoystickTabletPlugin/JoystickTabletPlugin.a Klatt/Klatt.a LargeIntegers/LargeIntegers.a LocalePlugin/LocalePlugin.a Matrix2x3Plugin/Matrix2x3Plugin.a MiscPrimitivePlugin/MiscPrimitivePlugin.a RePlugin/RePlugin.a SecurityPlugin/SecurityPlugin.a SerialPlugin/SerialPlugin.a SocketPlugin/SocketPlugin.a SoundCodecPrims/SoundCodecPrims.a SoundGenerationPlugin/SoundGenerationPlugin.a SoundPlugin/SoundPlugin.a StarSqueakPlugin/StarSqueakPlugin.a SurfacePlugin/SurfacePlugin.a disabledPlugins.o version.o -lutil -ldl -lm -lnsl vm/vm.a mkdir .libs gcc -O0 -g -DLSB_FIRST=1 -Wl,--hash-style=sysv -o squeak disabledPlugins.o version.o -Wl,--export-dynamic vm/vm.a ADPCMCodecPlugin/ADPCMCodecPlugin.a AsynchFilePlugin/AsynchFilePlugin.a BMPReadWriterPlugin/BMPReadWriterPlugin.a B2DPlugin/B2DPlugin.a BitBltPlugin/BitBltPlugin.a CroquetPlugin/CroquetPlugin.a DSAPrims/DSAPrims.a ZipPlugin/ZipPlugin.a DropPlugin/DropPlugin.a FFTPlugin/FFTPlugin.a FilePlugin/FilePlugin.a FloatArrayPlugin/FloatArrayPlugin.a FloatMathPlugin/FloatMathPlugin.a GeniePlugin/GeniePlugin.a JPEGReadWriter2Plugin/JPEGReadWriter2Plugin.a JPEGReaderPlugin/JPEGReaderPlugin.a JoystickTabletPlugin/JoystickTabletPlugin.a Klatt/Klatt.a LargeIntegers/LargeIntegers.a LocalePlugin/LocalePlugin.a Matrix2x3Plugin/Matrix2x3Plugin.a MiscPrimitivePlugin/MiscPrimitivePlugin.a RePlugin/RePlugin.a SecurityPlugin/SecurityPlugin.a SerialPlugin/SerialPlugin.a SocketPlugin/SocketPlugin.a SoundCodecPrims/SoundCodecPrims.a SoundGenerationPlugin/SoundGenerationPlugin.a SoundPlugin/SoundPlugin.a StarSqueakPlugin/StarSqueakPlugin.a SurfacePlugin/SurfacePlugin.a -lutil -ldl -lm -lnsl vm/vm.a -Wl,--rpath -Wl,/usr/local/lib vm/vm.a(sqVirtualMachine.o): In function `sqGetInterpreterProxy': /home/bfuller/dev/squeak/platforms/Cross/vm/sqVirtualMachine.c:351: undefined reference to `internalIsImmutable' /home/bfuller/dev/squeak/platforms/Cross/vm/sqVirtualMachine.c:352: undefined reference to `internalIsMutable' /home/bfuller/dev/squeak/platforms/Cross/vm/sqVirtualMachine.c:353: undefined reference to `primitiveFailFor' /home/bfuller/dev/squeak/platforms/Cross/vm/sqVirtualMachine.c:354: undefined reference to `classAlien' /home/bfuller/dev/squeak/platforms/Cross/vm/sqVirtualMachine.c:355: undefined reference to `getStackPointer' /home/bfuller/dev/squeak/platforms/Cross/vm/sqVirtualMachine.c:356: undefined reference to `sendInvokeCallbackStackRegistersJmpbuf' /home/bfuller/dev/squeak/platforms/Cross/vm/sqVirtualMachine.c:357: undefined reference to `reestablishContextPriorToCallback' /home/bfuller/dev/squeak/platforms/Cross/vm/sqVirtualMachine.c:358: undefined reference to `classUnsafeAlien' collect2: ld returned 1 exit status make: *** [squeak] Error 1
I really don't know what these are for in sqVirtualMachine.c:
#if VM_PROXY_MINOR > 7
VM->internalIsImmutable = internalIsImmutable; VM->internalIsMutable = internalIsMutable; VM->primitiveFailFor = primitiveFailFor; VM->classAlien = classAlien; VM->getStackPointer = (sqInt *(*)(void))getStackPointer; VM->sendInvokeCallbackStackRegistersJmpbuf = sendInvokeCallbackStackRegistersJmpbuf; VM->reestablishContextPriorToCallback = reestablishContextPriorToCallback; VM->classUnsafeAlien = classUnsafeAlien;
#endif
but these are undefined (errors below)
if someone could tell me a bit, I would be happy to track down the problem. Since it's a recent issue, the problem must have been introduced in the last couple of days.
On Mon, Nov 24, 2008 at 1:11 PM, Brad Fuller bradallenfuller@gmail.com wrote:
Latest trunk (1954) and a clean svn checkout.
I tried to make the latest vm under unix and received the following errors. Assuming that this is from latest Pharo changes on OSX which resulted in unix not building. Yes?
/bin/sh /home/bfuller/dev/squeak/platforms/unix/libtool --mode=link gcc -O0 -g -DLSB_FIRST=1 -Wl,--hash-style=sysv -export-dynamic -R/usr/local/lib -o squeak vm/vm.a ADPCMCodecPlugin/ADPCMCodecPlugin.a AsynchFilePlugin/AsynchFilePlugin.a BMPReadWriterPlugin/BMPReadWriterPlugin.a B2DPlugin/B2DPlugin.a BitBltPlugin/BitBltPlugin.a CroquetPlugin/CroquetPlugin.a DSAPrims/DSAPrims.a ZipPlugin/ZipPlugin.a DropPlugin/DropPlugin.a FFTPlugin/FFTPlugin.a FilePlugin/FilePlugin.a FloatArrayPlugin/FloatArrayPlugin.a FloatMathPlugin/FloatMathPlugin.a GeniePlugin/GeniePlugin.a JPEGReadWriter2Plugin/JPEGReadWriter2Plugin.a JPEGReaderPlugin/JPEGReaderPlugin.a JoystickTabletPlugin/JoystickTabletPlugin.a Klatt/Klatt.a LargeIntegers/LargeIntegers.a LocalePlugin/LocalePlugin.a Matrix2x3Plugin/Matrix2x3Plugin.a MiscPrimitivePlugin/MiscPrimitivePlugin.a RePlugin/RePlugin.a SecurityPlugin/SecurityPlugin.a SerialPlugin/SerialPlugin.a SocketPlugin/SocketPlugin.a SoundCodecPrims/SoundCodecPrims.a SoundGenerationPlugin/SoundGenerationPlugin.a SoundPlugin/SoundPlugin.a StarSqueakPlugin/StarSqueakPlugin.a SurfacePlugin/SurfacePlugin.a disabledPlugins.o version.o -lutil -ldl -lm -lnsl vm/vm.a mkdir .libs gcc -O0 -g -DLSB_FIRST=1 -Wl,--hash-style=sysv -o squeak disabledPlugins.o version.o -Wl,--export-dynamic vm/vm.a ADPCMCodecPlugin/ADPCMCodecPlugin.a AsynchFilePlugin/AsynchFilePlugin.a BMPReadWriterPlugin/BMPReadWriterPlugin.a B2DPlugin/B2DPlugin.a BitBltPlugin/BitBltPlugin.a CroquetPlugin/CroquetPlugin.a DSAPrims/DSAPrims.a ZipPlugin/ZipPlugin.a DropPlugin/DropPlugin.a FFTPlugin/FFTPlugin.a FilePlugin/FilePlugin.a FloatArrayPlugin/FloatArrayPlugin.a FloatMathPlugin/FloatMathPlugin.a GeniePlugin/GeniePlugin.a JPEGReadWriter2Plugin/JPEGReadWriter2Plugin.a JPEGReaderPlugin/JPEGReaderPlugin.a JoystickTabletPlugin/JoystickTabletPlugin.a Klatt/Klatt.a LargeIntegers/LargeIntegers.a LocalePlugin/LocalePlugin.a Matrix2x3Plugin/Matrix2x3Plugin.a MiscPrimitivePlugin/MiscPrimitivePlugin.a RePlugin/RePlugin.a SecurityPlugin/SecurityPlugin.a SerialPlugin/SerialPlugin.a SocketPlugin/SocketPlugin.a SoundCodecPrims/SoundCodecPrims.a SoundGenerationPlugin/SoundGenerationPlugin.a SoundPlugin/SoundPlugin.a StarSqueakPlugin/StarSqueakPlugin.a SurfacePlugin/SurfacePlugin.a -lutil -ldl -lm -lnsl vm/vm.a -Wl,--rpath -Wl,/usr/local/lib vm/vm.a(sqVirtualMachine.o): In function `sqGetInterpreterProxy': /home/bfuller/dev/squeak/platforms/Cross/vm/sqVirtualMachine.c:351: undefined reference to `internalIsImmutable' /home/bfuller/dev/squeak/platforms/Cross/vm/sqVirtualMachine.c:352: undefined reference to `internalIsMutable' /home/bfuller/dev/squeak/platforms/Cross/vm/sqVirtualMachine.c:353: undefined reference to `primitiveFailFor' /home/bfuller/dev/squeak/platforms/Cross/vm/sqVirtualMachine.c:354: undefined reference to `classAlien' /home/bfuller/dev/squeak/platforms/Cross/vm/sqVirtualMachine.c:355: undefined reference to `getStackPointer' /home/bfuller/dev/squeak/platforms/Cross/vm/sqVirtualMachine.c:356: undefined reference to `sendInvokeCallbackStackRegistersJmpbuf' /home/bfuller/dev/squeak/platforms/Cross/vm/sqVirtualMachine.c:357: undefined reference to `reestablishContextPriorToCallback' /home/bfuller/dev/squeak/platforms/Cross/vm/sqVirtualMachine.c:358: undefined reference to `classUnsafeAlien' collect2: ld returned 1 exit status make: *** [squeak] Error 1
-- Brad Fuller
Must not update svn late at night. You must load the alien VMMaker changes from http://www.squeaksource.com/Alien.html to resolve these. Likely we need to decide how to make these part of the general offering, or not. That or wrap the VM_PROXY_MINOR = 8 logic a bit more to make it optional based on a #DEFINE (SUPPORTALIENS)?
On 24-Nov-08, at 5:55 PM, Brad Fuller wrote:
I really don't know what these are for in sqVirtualMachine.c:
#if VM_PROXY_MINOR > 7
VM->internalIsImmutable = internalIsImmutable; VM->internalIsMutable = internalIsMutable; VM->primitiveFailFor = primitiveFailFor; VM->classAlien = classAlien; VM->getStackPointer = (sqInt *(*)(void))getStackPointer; VM->sendInvokeCallbackStackRegistersJmpbuf = sendInvokeCallbackStackRegistersJmpbuf; VM->reestablishContextPriorToCallback = reestablishContextPriorToCallback; VM->classUnsafeAlien = classUnsafeAlien;
#endif
-- = = = ======================================================================== John M. McIntosh johnmci@smalltalkconsulting.com Corporate Smalltalk Consulting Ltd. http://www.smalltalkconsulting.com = = = ========================================================================
2008/11/25 John M McIntosh johnmci@smalltalkconsulting.com:
Must not update svn late at night. You must load the alien VMMaker changes from http://www.squeaksource.com/Alien.html to resolve these. Likely we need to decide how to make these part of the general offering, or not. That or wrap the VM_PROXY_MINOR = 8 logic a bit more to make it optional based on a #DEFINE (SUPPORTALIENS)?
.. or maybe its a time to resolve it once and for all? ;) http://www.nabble.com/-squeak-dev--Better-VM-%3C-%3E-plugin-API-to20625149.h...
On 24-Nov-08, at 5:55 PM, Brad Fuller wrote:
I really don't know what these are for in sqVirtualMachine.c:
#if VM_PROXY_MINOR > 7
VM->internalIsImmutable = internalIsImmutable; VM->internalIsMutable = internalIsMutable; VM->primitiveFailFor = primitiveFailFor; VM->classAlien = classAlien; VM->getStackPointer = (sqInt *(*)(void))getStackPointer; VM->sendInvokeCallbackStackRegistersJmpbuf =
sendInvokeCallbackStackRegistersJmpbuf; VM->reestablishContextPriorToCallback = reestablishContextPriorToCallback; VM->classUnsafeAlien = classUnsafeAlien;
#endif
--
John M. McIntosh johnmci@smalltalkconsulting.com Corporate Smalltalk Consulting Ltd. http://www.smalltalkconsulting.com ===========================================================================
Igor Stasenko wrote:
.. or maybe its a time to resolve it once and for all? ;) http://www.nabble.com/-squeak-dev--Better-VM-%3C-%3E-plugin-API-to20625149.h...
It's a mistake to make these issues depend on each other. If you have a set of changes that can be applied to VMMaker and that result in a working VM with your proposed API, I'd be happy to look at it. Until that time I think we need to have a solution to the issue in question.
I'd recommend that these changes get added in branch on SVN that is being properly tagged. When this has stabilized we can push this to trunk.
Cheers, - Andreas
2008/11/25 Andreas Raab andreas.raab@gmx.de:
Igor Stasenko wrote:
.. or maybe its a time to resolve it once and for all? ;)
http://www.nabble.com/-squeak-dev--Better-VM-%3C-%3E-plugin-API-to20625149.h...
It's a mistake to make these issues depend on each other. If you have a set of changes that can be applied to VMMaker and that result in a working VM with your proposed API, I'd be happy to look at it. Until that time I think we need to have a solution to the issue in question.
Great. But it will take a time. First i want to make host windows working :)
I'd recommend that these changes get added in branch on SVN that is being properly tagged. When this has stabilized we can push this to trunk.
Cheers,
- Andreas
On 24-Nov-08, at 8:45 PM, Igor Stasenko wrote:
2008/11/25 Andreas Raab andreas.raab@gmx.de:
Igor Stasenko wrote:
.. or maybe its a time to resolve it once and for all? ;)
Well to resolve it short term, I SVN back in the old versions of sqVirtualMachine.c/h and stuck the newer ones in the Cross/IA32ABI
That way people casually building a VM still can build one, if they want to build the Alien plugin, then more effort is required, however in that case they will figure out what changes are required until we sort out if the Alien FFI stuff goes into the main trunk over the next few days.
-- = = = ======================================================================== John M. McIntosh johnmci@smalltalkconsulting.com Corporate Smalltalk Consulting Ltd. http://www.smalltalkconsulting.com = = = ========================================================================
I just made the latest unix vm (fresh) and it compiled and ran ok.
Thanks!
brad
On Mon, Nov 24, 2008 at 10:23 PM, John M McIntosh johnmci@smalltalkconsulting.com wrote:
On 24-Nov-08, at 8:45 PM, Igor Stasenko wrote:
2008/11/25 Andreas Raab andreas.raab@gmx.de:
Igor Stasenko wrote:
.. or maybe its a time to resolve it once and for all? ;)
Well to resolve it short term, I SVN back in the old versions of sqVirtualMachine.c/h and stuck the newer ones in the Cross/IA32ABI
That way people casually building a VM still can build one, if they want to build the Alien plugin, then more effort is required, however in that case they will figure out what changes are required until we sort out if the Alien FFI stuff goes into the main trunk over the next few days.
--
John M. McIntosh johnmci@smalltalkconsulting.com Corporate Smalltalk Consulting Ltd. http://www.smalltalkconsulting.com ===========================================================================
Ok well the changes to VMMaker-dtl.108.mcz are in http://www.squeaksource.com/Alien.html Alien-VMMaker-Support-John M McIntosh.4.mcz
If someone can take a look at them I fold them into a 109 release?
I note the IA32ABI plugin is not needed for the VM to compile and link it.
If there is no hurry with Eliot's help I hope to load in his primitive failure code, versus flag logic, and I'd guess the Immutable logic, later this week.
On 24-Nov-08, at 7:57 PM, Andreas Raab wrote:
Igor Stasenko wrote:
.. or maybe its a time to resolve it once and for all? ;) http://www.nabble.com/-squeak-dev--Better-VM-%3C-%3E-plugin-API-to20625149.h...
It's a mistake to make these issues depend on each other. If you have a set of changes that can be applied to VMMaker and that result in a working VM with your proposed API, I'd be happy to look at it. Until that time I think we need to have a solution to the issue in question.
I'd recommend that these changes get added in branch on SVN that is being properly tagged. When this has stabilized we can push this to trunk.
Cheers,
- Andreas
-- = = = ======================================================================== John M. McIntosh johnmci@smalltalkconsulting.com Corporate Smalltalk Consulting Ltd. http://www.smalltalkconsulting.com = = = ========================================================================
vm-dev@lists.squeakfoundation.org