2008/7/23 Eliot Miranda eliot.miranda@gmail.com:
On Wed, Jul 23, 2008 at 12:38 PM, Igor Stasenko siguctua@gmail.com wrote:
Good news Elliot! To what i see, changes you made are not too hard to merge with Hydra changes. :)
Good. I would be very surprised if I did anything incompatible. I want to change as little as possible only to enable closures and a context-to-stack mapping VM. I would doubt that either my Stack VM or a JIT that derives from it would have significant conflicts with Hydra and that these would be resolvable quite easily. You are making VMs play together I'm merely speeding up the execution core.
I done writing a small overview of code generator changes. You can find it there: http://squeakvm.org/~sig/hydravm/codegen.html
Too bad, i had little time to work with Hydra for last two weeks.
There are little news, except that Hydra able to run Qwaq Forums on win32, and it does it quite stable.
Excellent. The StackVM is nearly able to run forums (it at least starts up). I'm taking a couple of days away form it to finish some blog posts on closures.
Yesterday i started writing a CodeGenerator changes overview, i think i'll finish it tomorrow.
I'm also planned to release an update of Hydra sources and VMMaker package.. but i postponing release day by day.. because i'm little nervous, can't really tell the reason.. Maybe because, if these changes, after some evaluation show that VM is quite stable, this will mean declaring a Hydra VM entering a Beta stage (on win32 platform only for now). :)
I think you should wait until after ESUG. We should meet at ESUG, show each other our modifications and then publish a merge. What do you think?
Definitely, we should merge efforts :) Well, your changes is not backwards compatible with current squeak images, while Hydra can run them w/o problems. This is the reason, why i want to release them now - at least in binary form. So people may try run it and report problems found.
So here is update. ----
VMMaker and HydraVM packages is now at squeaksource.
MCHttpRepository location: 'http://www.squeaksource.com/HydraVM' user: '' password: ''
The platform sources are located here:
http://squeakvm.org/svn/squeak/branches/HydraVM
I also wanted to put binaries to ftp.squeak.org/HydraVM, but forgot the password :) Ken, can you remind me please?
Changes in last update:
- fixed bug with queues - revised many plugins which can be now built with VM. It now builds with 100% plugins which coming by default with VMMaker package (if i didn't miss anything).
Changes in last update:
- fixed bug with queues
- revised many plugins which can be now built with VM. It now builds
with 100% plugins which coming by default with VMMaker package (if i didn't miss anything).
Forgot to node, that FFI plugin revised to use attached state instead of mutexes. Tests showing that FFI now works few clocks faster than in original Squeak VM :) This is because i changed an asm slightly :)
On Fri, Jul 25, 2008 at 7:27 AM, Igor Stasenko siguctua@gmail.com wrote:
2008/7/23 Eliot Miranda eliot.miranda@gmail.com:
On Wed, Jul 23, 2008 at 12:38 PM, Igor Stasenko siguctua@gmail.com
wrote:
Good news Elliot! To what i see, changes you made are not too hard to merge with Hydra changes. :)
Good. I would be very surprised if I did anything incompatible. I want
to
change as little as possible only to enable closures and a
context-to-stack
mapping VM. I would doubt that either my Stack VM or a JIT that derives from it would have significant conflicts with Hydra and that these would
be
resolvable quite easily. You are making VMs play together I'm merely speeding up the execution core.
I done writing a small overview of code generator changes. You can find it there: http://squeakvm.org/~sig/hydravm/codegen.html
Too bad, i had little time to work with Hydra for last two weeks.
There are little news, except that Hydra able to run Qwaq Forums on win32, and it does it quite stable.
Excellent. The StackVM is nearly able to run forums (it at least starts up). I'm taking a couple of days away form it to finish some blog posts
on
closures.
Yesterday i started writing a CodeGenerator changes overview, i think i'll finish it tomorrow.
I'm also planned to release an update of Hydra sources and VMMaker package.. but i postponing release day by day.. because i'm little nervous, can't really tell the reason.. Maybe because, if these changes, after some evaluation show that VM is quite stable, this will mean declaring a Hydra VM entering a Beta stage (on win32 platform only for now). :)
I think you should wait until after ESUG. We should meet at ESUG, show
each
other our modifications and then publish a merge. What do you think?
Definitely, we should merge efforts :) Well, your changes is not backwards compatible with current squeak images, while Hydra can run them w/o problems.
My changes _are_ backward compatible. I add five new bytecodes taken from the unused experimental bytecodes. The existing bytecodes are still supported and the VM runs both closures and BlockContext blocks side-by-side.
I have another VM in the works which does context-to-stack mapping and that only runs closures. But I have yet to publish this or the Slang changes that go with it.
This is the reason, why i want to release them now - at least in binary form. So people may try run it and report problems found.
So here is update.
VMMaker and HydraVM packages is now at squeaksource.
MCHttpRepository location: 'http://www.squeaksource.com/HydraVM' user: '' password: ''
The platform sources are located here:
http://squeakvm.org/svn/squeak/branches/HydraVM
I also wanted to put binaries to ftp.squeak.org/HydraVM, but forgot the password :) Ken, can you remind me please?
Changes in last update:
- fixed bug with queues
- revised many plugins which can be now built with VM. It now builds
with 100% plugins which coming by default with VMMaker package (if i didn't miss anything).
-- Best regards, Igor Stasenko AKA sig.
2008/7/25 Eliot Miranda eliot.miranda@gmail.com:
On Fri, Jul 25, 2008 at 7:27 AM, Igor Stasenko siguctua@gmail.com wrote:
2008/7/23 Eliot Miranda eliot.miranda@gmail.com:
On Wed, Jul 23, 2008 at 12:38 PM, Igor Stasenko siguctua@gmail.com wrote:
Good news Elliot! To what i see, changes you made are not too hard to merge with Hydra changes. :)
Good. I would be very surprised if I did anything incompatible. I want to change as little as possible only to enable closures and a context-to-stack mapping VM. I would doubt that either my Stack VM or a JIT that derives from it would have significant conflicts with Hydra and that these would be resolvable quite easily. You are making VMs play together I'm merely speeding up the execution core.
I done writing a small overview of code generator changes. You can find it there: http://squeakvm.org/~sig/hydravm/codegen.html
Too bad, i had little time to work with Hydra for last two weeks.
There are little news, except that Hydra able to run Qwaq Forums on win32, and it does it quite stable.
Excellent. The StackVM is nearly able to run forums (it at least starts up). I'm taking a couple of days away form it to finish some blog posts on closures.
Yesterday i started writing a CodeGenerator changes overview, i think i'll finish it tomorrow.
I'm also planned to release an update of Hydra sources and VMMaker package.. but i postponing release day by day.. because i'm little nervous, can't really tell the reason.. Maybe because, if these changes, after some evaluation show that VM is quite stable, this will mean declaring a Hydra VM entering a Beta stage (on win32 platform only for now). :)
I think you should wait until after ESUG. We should meet at ESUG, show each other our modifications and then publish a merge. What do you think?
Definitely, we should merge efforts :) Well, your changes is not backwards compatible with current squeak images, while Hydra can run them w/o problems.
My changes _are_ backward compatible. I add five new bytecodes taken from the unused experimental bytecodes. The existing bytecodes are still supported and the VM runs both closures and BlockContext blocks side-by-side.
Oh, really.. i didn't realized that, sorry. :)
I have another VM in the works which does context-to-stack mapping and that only runs closures. But I have yet to publish this or the Slang changes that go with it.
On Fri, 25 Jul 2008 16:27:58 +0200, Igor Stasenko wrote:
...
Well, [] changes is not backwards compatible with current squeak images, while Hydra can run them w/o problems. This is the reason, why i want to release them now - at least in binary form. So people may try run it and report problems found.
So here is update.
VMMaker and HydraVM packages is now at squeaksource.
MCHttpRepository location: 'http://www.squeaksource.com/HydraVM' user: '' password: ''
Which base .image should load this? If base .image is Croquet, have URL?
The platform sources are located here:
Checked this branch out (on my brand new dual core notebook :)
Where's the file interp.c, which used to be in win32/vm ?
I also wanted to put binaries to ftp.squeak.org/HydraVM, but forgot the password :) Ken, can you remind me please?
Changes in last update:
- fixed bug with queues
- revised many plugins which can be now built with VM. It now builds
with 100% plugins which coming by default with VMMaker package (if i didn't miss anything).
Hey, plugins :)
2008/7/29 Klaus D. Witzel klaus.witzel@cobss.com:
On Fri, 25 Jul 2008 16:27:58 +0200, Igor Stasenko wrote:
...
Well, [] changes is not backwards compatible with current squeak images, while Hydra can run them w/o problems. This is the reason, why i want to release them now - at least in binary form. So people may try run it and report problems found.
So here is update.
VMMaker and HydraVM packages is now at squeaksource.
MCHttpRepository location: 'http://www.squeaksource.com/HydraVM' user: '' password: ''
Which base .image should load this? If base .image is Croquet, have URL?
it should work well on Croquet 1.0.18 took from Croquet SDK. Also, i don't see a reason why it should not work on any other image. VMMaker pakcage don't have too much dependencies, so it should work fine on any image starting from squeak 3.8 , i assume. Please tell me if you find any problems loading/using VMMaker on 3.9-3.10. And Croquet SDK can be downloaded here: http://www.opencroquet.org/index.php/Downloads
The platform sources are located here:
Checked this branch out (on my brand new dual core notebook :)
Where's the file interp.c, which used to be in win32/vm ?
of course there is no such file. Because it is generated by vmmaker :) What the reason in putting a files which is a product of automatic code generation under version control? :)
I also wanted to put binaries to ftp.squeak.org/HydraVM, but forgot the password :) Ken, can you remind me please?
Changes in last update:
- fixed bug with queues
- revised many plugins which can be now built with VM. It now builds
with 100% plugins which coming by default with VMMaker package (if i didn't miss anything).
Hey, plugins :)
oh, and i forgot to add. use WinBuild dir for generating sources by vmmaker and for making vm.
if your 'path to platforms code'
bla bla bla \platforms
then path for generated sources should be:
bla bla bla \winbuild\src
there is already a makefiles in winbuild dir, ready for use & building vm.
I changed the vmmaker to enable use any dir for generated source. Not sure why Andreas fixed it. I find it more convenient (and error safe) to keep manually created files and automatically generated files in separate directories. So, that i always having a clean platforms source code and don't have a chance to mess things with it by occasion.
and one more thing: i uploaded a binary to squeak.org ftp location: ftp://ftp.squeak.org/HydraVM/latest_builds/win32/HydraVM-bin-25.07.2008.zip
On Tue, 29 Jul 2008 16:08:35 +0200, Igor Stasenko wrote:
oh, and i forgot to add. use WinBuild dir for generating sources by vmmaker and for making vm.
if your 'path to platforms code'
bla bla bla \platforms
then path for generated sources should be:
bla bla bla \winbuild\src
Don't touch the button besides that field in VMMaker :(
there is already a makefiles in winbuild dir, ready for use & building vm.
I changed the vmmaker to enable use any dir for generated source. Not sure why Andreas fixed it. I find it more convenient (and error safe) to keep manually created files and automatically generated files in separate directories. So, that i always having a clean platforms source code and don't have a chance to mess things with it by occasion.
Whatever the procedure, it does not work, it complains :( But gnu-interp.c is indeed in ./src/vm/interp.c ... so, just redoing make without any further ado, but then got the error list below.
[1st run of make]
E:\cygwin\home\HydraVM\winbuild>make ---------------- Makefile settings ------------------ VPATH=./src/vm ../platforms/win32/vm ../platforms/Cross/vm INCLUDES=-I. -I./src/vm -I../platforms/win32/vm -I../platforms/Cross/vm -Ic:/dx7 sdk/include CFLAGS=-g -mpentium -mwindows -fomit-frame-pointer -funroll-loops -fschedule-ins ns2 -O2 ----------------------------------------------------- mkdir .\obj\vm gawk -f ../platforms/win32/misc/gnuify ./src/vm/interp.c > ./src/vm/gnu-interp.c
copying first section of file interpret: adding static register assignments interpret: adding bytecode dispatch table interpret: rewriting case labels and outer breaks gcc -o ./obj/vm/gnu-interp.o -g -mpentium -mwindows -fomit-frame-pointer -funrol l-loops -fschedule-insns2 -O2 -I. -I./src/vm -I../platforms/win32/vm -I../platfo rms/Cross/vm -Ic:/dx7sdk/include -DUSE_STDIO_PRINTF -DWIN32_FILE_SUPPORT -DNO_S ERVICE -DNO_STD_FILE_SUPPORT -DDEBUG -DLSB_FIRST -DVM_NAME="Croquet" -DX86 -DS QUEAK_BUILTIN_PLUGIN -DCROQUET -c gnu-interp.c gcc: gnu-interp.c: No such file or directory gcc: No input files make: *** [gnu-interp.o] Error 1
[2nd run of make]
In file included from C:\GNUTools\bin..\lib\gcc-lib\i386-mingw32\2.95.2........\i386-mingw32\include\oleauto.h:79, from C:\GNUTools\bin..\lib\gcc-lib\i386-mingw32\2.95.2........\i386-mingw32\include\ole2.h:7, from ../platforms/win32/vm/sqWin32DirectInput.c:28: C:\GNUTools\bin..\lib\gcc-lib\i386-mingw32\2.95.2........\i386-mingw32\include\oaidl.h:63: warning: redefinition of `LPTYPECOMP' C:\GNUTools\bin..\lib\gcc-lib\i386-mingw32\2.95.2........\i386-mingw32\include\oaidl.h:57: warning: `LPTYPECOMP' previously declared here In file included from ../platforms/win32/vm/sqWin32GUID.c:11: c:\dx7sdk\include\dsound.h:61: warning: redefinition of `LPCWAVEFORMATEX' C:\GNUTools\bin..\lib\gcc-lib\i386-mingw32\2.95.2........\i386-mingw32\include\mmsystem.h:1015: warning: `LPCWAVEFORMATEX' previously declared here In file included from C:\GNUTools\bin..\lib\gcc-lib\i386-mingw32\2.95.2........\i386-mingw32\include\oleauto.h:79, from C:\GNUTools\bin..\lib\gcc-lib\i386-mingw32\2.95.2........\i386-mingw32\include\ole2.h:7, from ../platforms/win32/vm/sqWin32Intel.c:20: C:\GNUTools\bin..\lib\gcc-lib\i386-mingw32\2.95.2........\i386-mingw32\include\oaidl.h:63: warning: redefinition of `LPTYPECOMP' C:\GNUTools\bin..\lib\gcc-lib\i386-mingw32\2.95.2........\i386-mingw32\include\oaidl.h:57: warning: `LPTYPECOMP' previously declared here ./obj/vm/gnu-interp.o: In function `checkImageVersionFromstartingAt': //E/cygwin/home/HydraVM/winbuild/./src/vm/gnu-interp.c:3696: undefined reference to `sqImageFileSeek' //E/cygwin/home/HydraVM/winbuild/./src/vm/gnu-interp.c:3701: undefined reference to `sqImageFileSeek' //E/cygwin/home/HydraVM/winbuild/./src/vm/gnu-interp.c:3707: undefined reference to `sqImageFileSeek' //E/cygwin/home/HydraVM/winbuild/./src/vm/gnu-interp.c:3712: undefined reference to `sqImageFileSeek' ./obj/vm/gnu-interp.o: In function `dumpImage': //E/cygwin/home/HydraVM/winbuild/./src/vm/gnu-interp.c:4654: undefined reference to `sqImageFileOpen' //E/cygwin/home/HydraVM/winbuild/./src/vm/gnu-interp.c:4659: undefined reference to `sqImageFileWrite' //E/cygwin/home/HydraVM/winbuild/./src/vm/gnu-interp.c:4661: undefined reference to `sqImageFileClose' ./obj/vm/gnu-interp.o: In function `getLongFromFileswap': //E/cygwin/home/HydraVM/winbuild/./src/vm/gnu-interp.c:5624: undefined reference to `sqImageFileRead' ./obj/vm/gnu-interp.o: In function `loadAndRunNewImage': //E/cygwin/home/HydraVM/winbuild/./src/vm/gnu-interp.c:11767: undefined reference to `sqImageFileOpen' //E/cygwin/home/HydraVM/winbuild/./src/vm/gnu-interp.c:11781: undefined reference to `sqImageFileClose' //E/cygwin/home/HydraVM/winbuild/./src/vm/gnu-interp.c:11785: undefined reference to `sqImageFileClose' ./obj/vm/gnu-interp.o: In function `putLongtoFile': //E/cygwin/home/HydraVM/winbuild/./src/vm/gnu-interp.c:22836: undefined reference to `sqImageFileWrite' ./obj/vm/gnu-interp.o: In function `readImageFromFileHeapSizeStartingAt': //E/cygwin/home/HydraVM/winbuild/./src/vm/gnu-interp.c:22877: undefined reference to `sqImageFilePosition' //E/cygwin/home/HydraVM/winbuild/./src/vm/gnu-interp.c:22912: undefined reference to `sqImageFileSeek' //E/cygwin/home/HydraVM/winbuild/./src/vm/gnu-interp.c:22913: undefined reference to `sqImageFileRead' ./obj/vm/gnu-interp.o: In function `writeImageFileIO': //E/cygwin/home/HydraVM/winbuild/./src/vm/gnu-interp.c:25240: undefined reference to `sqImageFileOpen' //E/cygwin/home/HydraVM/winbuild/./src/vm/gnu-interp.c:25248: undefined reference to `sqImageFileSeek' //E/cygwin/home/HydraVM/winbuild/./src/vm/gnu-interp.c:25262: undefined reference to `sqImageFileClose' //E/cygwin/home/HydraVM/winbuild/./src/vm/gnu-interp.c:25265: undefined reference to `sqImageFileSeek' //E/cygwin/home/HydraVM/winbuild/./src/vm/gnu-interp.c:25266: undefined reference to `sqImageFileWrite' //E/cygwin/home/HydraVM/winbuild/./src/vm/gnu-interp.c:25270: undefined reference to `sqImageFileClose' ./obj/vm/sqWin32Args.o: In function `IsImage': //E/cygwin/home/HydraVM/winbuild/../platforms/win32/vm/sqWin32Args.c:28: undefined reference to `sqImageFileOpen' //E/cygwin/home/HydraVM/winbuild/../platforms/win32/vm/sqWin32Args.c:30: undefined reference to `sqImageFileRead' //E/cygwin/home/HydraVM/winbuild/../platforms/win32/vm/sqWin32Args.c:35: undefined reference to `sqImageFileClose' //E/cygwin/home/HydraVM/winbuild/../platforms/win32/vm/sqWin32Args.c:40: undefined reference to `sqImageFileSeek' //E/cygwin/home/HydraVM/winbuild/../platforms/win32/vm/sqWin32Args.c:41: undefined reference to `sqImageFileRead' //E/cygwin/home/HydraVM/winbuild/../platforms/win32/vm/sqWin32Args.c:42: undefined reference to `sqImageFileClose' //E/cygwin/home/HydraVM/winbuild/../platforms/win32/vm/sqWin32Args.c:45: undefined reference to `sqImageFileClose' ./obj/vm/sqWin32Exports.o(.data+0x8)://E/cygwin/home/HydraVM/winbuild/../platforms/win32/vm/sqWin32Exports.c: undefined reference to `win32JoystickDebugInfo' ./obj/vm/sqWin32Exports.o(.data+0x14)://E/cygwin/home/HydraVM/winbuild/../platforms/win32/vm/sqWin32Exports.c: undefined reference to `win32JoystickDebugPrintRawValues' ./obj/vm/sqWin32Exports.o(.data+0x20)://E/cygwin/home/HydraVM/winbuild/../platforms/win32/vm/sqWin32Exports.c: undefined reference to `win32JoystickDebugPrintAlternativeValues' ./obj/vm/sqWin32Exports.o(.data+0x2c)://E/cygwin/home/HydraVM/winbuild/../platforms/win32/vm/sqWin32Exports.c: undefined reference to `win32DebugPrintSocketState' ./obj/vm/sqWin32Intel.o: In function `threadedInterpretFn': //E/cygwin/home/HydraVM/winbuild/../platforms/win32/vm/sqWin32Intel.c:988: undefined reference to `ioGetSecureUserDirectory' ./obj/vm/sqWin32Intel.o: In function `sqMain': //E/cygwin/home/HydraVM/winbuild/../platforms/win32/vm/sqWin32Intel.c:1448: undefined reference to `sqImageFileOpen' //E/cygwin/home/HydraVM/winbuild/../platforms/win32/vm/sqWin32Intel.c:1451: undefined reference to `sqImageFilePosition' //E/cygwin/home/HydraVM/winbuild/../platforms/win32/vm/sqWin32Intel.c:1453: undefined reference to `sqImageFileClose' //E/cygwin/home/HydraVM/winbuild/../platforms/win32/vm/sqWin32Intel.c:1458: undefined reference to `ioInitSecurity' ./obj/vm/sqWin32PluginSupport.o: In function `primitivePluginRequestFileHandle': //E/cygwin/home/HydraVM/winbuild/../platforms/win32/vm/sqWin32PluginSupport.c:241: undefined reference to `fileRecordSize' //E/cygwin/home/HydraVM/winbuild/../platforms/win32/vm/sqWin32PluginSupport.c:243: undefined reference to `fileValueOf' //E/cygwin/home/HydraVM/winbuild/../platforms/win32/vm/sqWin32PluginSupport.c:243: undefined reference to `sqFileOpen' ./obj/vm/sqWin32Prefs.o: In function `SetAllowFileAccess': //E/cygwin/home/HydraVM/winbuild/../platforms/win32/vm/sqWin32Prefs.c:97: undefined reference to `ioHasFileAccess' ./obj/vm/sqWin32Prefs.o: In function `SetAllowImageWrite': //E/cygwin/home/HydraVM/winbuild/../platforms/win32/vm/sqWin32Prefs.c:102: undefined reference to `ioCanWriteImage' ./obj/vm/sqWin32Prefs.o: In function `SetAllowSocketAccess': //E/cygwin/home/HydraVM/winbuild/../platforms/win32/vm/sqWin32Prefs.c:107: undefined reference to `ioHasSocketAccess' ./obj/vm/sqWin32Prefs.o: In function `HandlePrefsMenu': //E/cygwin/home/HydraVM/winbuild/../platforms/win32/vm/sqWin32Prefs.c:386: undefined reference to `ioHasFileAccess' //E/cygwin/home/HydraVM/winbuild/../platforms/win32/vm/sqWin32Prefs.c:386: undefined reference to `_ioSetFileAccess' //E/cygwin/home/HydraVM/winbuild/../platforms/win32/vm/sqWin32Prefs.c:390: undefined reference to `ioCanWriteImage' //E/cygwin/home/HydraVM/winbuild/../platforms/win32/vm/sqWin32Prefs.c:390: undefined reference to `_ioSetImageWrite' //E/cygwin/home/HydraVM/winbuild/../platforms/win32/vm/sqWin32Prefs.c:394: undefined reference to `ioHasSocketAccess' //E/cygwin/home/HydraVM/winbuild/../platforms/win32/vm/sqWin32Prefs.c:394: undefined reference to `_ioSetSocketAccess' //E/cygwin/home/HydraVM/winbuild/../platforms/win32/vm/sqWin32Prefs.c:403: undefined reference to `win32DebugPrintSocketState' make: *** [Croquet.exe] Error 1
Yes, i'm aware of this issue.
It looks like gawk -f ../platforms/win32/misc/gnuify ./src/vm/interp.c > ./src/vm/gnu-interp.c
forks another process and returns control to make immediately, before completely done generating gnu-interp.c. This leads to situation, that next command:
gcc -o ./obj/vm/gnu-interp.o ..... -c gnu-interp.c
don't see the gnu-interp.c at the moment and bails out with error. It is not a makefile issue, i guess its a make / gawk issue , maybe gawk forking child process and returns immediately.. , or maybe output redirection in windoze (> ./src/vm/gnu-interp.c) works in mystical ways incompatible with gnu make.
Concerning linker errors.. i will make a clean install & checkout to see if it works for me.
2008/8/2 Klaus D. Witzel klaus.witzel@cobss.com:
On Tue, 29 Jul 2008 16:08:35 +0200, Igor Stasenko wrote:
oh, and i forgot to add. use WinBuild dir for generating sources by vmmaker and for making vm.
if your 'path to platforms code'
bla bla bla \platforms
then path for generated sources should be:
bla bla bla \winbuild\src
Don't touch the button besides that field in VMMaker :(
there is already a makefiles in winbuild dir, ready for use & building vm.
I changed the vmmaker to enable use any dir for generated source. Not sure why Andreas fixed it. I find it more convenient (and error safe) to keep manually created files and automatically generated files in separate directories. So, that i always having a clean platforms source code and don't have a chance to mess things with it by occasion.
Whatever the procedure, it does not work, it complains :( But gnu-interp.c is indeed in ./src/vm/interp.c ... so, just redoing make without any further ado, but then got the error list below.
[1st run of make]
E:\cygwin\home\HydraVM\winbuild>make ---------------- Makefile settings ------------------ VPATH=./src/vm ../platforms/win32/vm ../platforms/Cross/vm INCLUDES=-I. -I./src/vm -I../platforms/win32/vm -I../platforms/Cross/vm -Ic:/dx7 sdk/include CFLAGS=-g -mpentium -mwindows -fomit-frame-pointer -funroll-loops -fschedule-ins ns2 -O2
mkdir .\obj\vm gawk -f ../platforms/win32/misc/gnuify ./src/vm/interp.c > ./src/vm/gnu-interp.c
copying first section of file interpret: adding static register assignments interpret: adding bytecode dispatch table interpret: rewriting case labels and outer breaks gcc -o ./obj/vm/gnu-interp.o -g -mpentium -mwindows -fomit-frame-pointer -funrol l-loops -fschedule-insns2 -O2 -I. -I./src/vm -I../platforms/win32/vm -I../platfo rms/Cross/vm -Ic:/dx7sdk/include -DUSE_STDIO_PRINTF -DWIN32_FILE_SUPPORT -DNO_S ERVICE -DNO_STD_FILE_SUPPORT -DDEBUG -DLSB_FIRST -DVM_NAME="Croquet" -DX86 -DS QUEAK_BUILTIN_PLUGIN -DCROQUET -c gnu-interp.c gcc: gnu-interp.c: No such file or directory gcc: No input files make: *** [gnu-interp.o] Error 1
[2nd run of make]
In file included from C:\GNUTools\bin..\lib\gcc-lib\i386-mingw32\2.95.2........\i386-mingw32\include\oleauto.h:79, from C:\GNUTools\bin..\lib\gcc-lib\i386-mingw32\2.95.2........\i386-mingw32\include\ole2.h:7, from ../platforms/win32/vm/sqWin32DirectInput.c:28: C:\GNUTools\bin..\lib\gcc-lib\i386-mingw32\2.95.2........\i386-mingw32\include\oaidl.h:63: warning: redefinition of `LPTYPECOMP' C:\GNUTools\bin..\lib\gcc-lib\i386-mingw32\2.95.2........\i386-mingw32\include\oaidl.h:57: warning: `LPTYPECOMP' previously declared here In file included from ../platforms/win32/vm/sqWin32GUID.c:11: c:\dx7sdk\include\dsound.h:61: warning: redefinition of `LPCWAVEFORMATEX' C:\GNUTools\bin..\lib\gcc-lib\i386-mingw32\2.95.2........\i386-mingw32\include\mmsystem.h:1015: warning: `LPCWAVEFORMATEX' previously declared here In file included from C:\GNUTools\bin..\lib\gcc-lib\i386-mingw32\2.95.2........\i386-mingw32\include\oleauto.h:79, from C:\GNUTools\bin..\lib\gcc-lib\i386-mingw32\2.95.2........\i386-mingw32\include\ole2.h:7, from ../platforms/win32/vm/sqWin32Intel.c:20: C:\GNUTools\bin..\lib\gcc-lib\i386-mingw32\2.95.2........\i386-mingw32\include\oaidl.h:63: warning: redefinition of `LPTYPECOMP' C:\GNUTools\bin..\lib\gcc-lib\i386-mingw32\2.95.2........\i386-mingw32\include\oaidl.h:57: warning: `LPTYPECOMP' previously declared here ./obj/vm/gnu-interp.o: In function `checkImageVersionFromstartingAt': //E/cygwin/home/HydraVM/winbuild/./src/vm/gnu-interp.c:3696: undefined reference to `sqImageFileSeek' //E/cygwin/home/HydraVM/winbuild/./src/vm/gnu-interp.c:3701: undefined reference to `sqImageFileSeek' //E/cygwin/home/HydraVM/winbuild/./src/vm/gnu-interp.c:3707: undefined reference to `sqImageFileSeek' //E/cygwin/home/HydraVM/winbuild/./src/vm/gnu-interp.c:3712: undefined reference to `sqImageFileSeek' ./obj/vm/gnu-interp.o: In function `dumpImage': //E/cygwin/home/HydraVM/winbuild/./src/vm/gnu-interp.c:4654: undefined reference to `sqImageFileOpen' //E/cygwin/home/HydraVM/winbuild/./src/vm/gnu-interp.c:4659: undefined reference to `sqImageFileWrite' //E/cygwin/home/HydraVM/winbuild/./src/vm/gnu-interp.c:4661: undefined reference to `sqImageFileClose' ./obj/vm/gnu-interp.o: In function `getLongFromFileswap': //E/cygwin/home/HydraVM/winbuild/./src/vm/gnu-interp.c:5624: undefined reference to `sqImageFileRead' ./obj/vm/gnu-interp.o: In function `loadAndRunNewImage': //E/cygwin/home/HydraVM/winbuild/./src/vm/gnu-interp.c:11767: undefined reference to `sqImageFileOpen' //E/cygwin/home/HydraVM/winbuild/./src/vm/gnu-interp.c:11781: undefined reference to `sqImageFileClose' //E/cygwin/home/HydraVM/winbuild/./src/vm/gnu-interp.c:11785: undefined reference to `sqImageFileClose' ./obj/vm/gnu-interp.o: In function `putLongtoFile': //E/cygwin/home/HydraVM/winbuild/./src/vm/gnu-interp.c:22836: undefined reference to `sqImageFileWrite' ./obj/vm/gnu-interp.o: In function `readImageFromFileHeapSizeStartingAt': //E/cygwin/home/HydraVM/winbuild/./src/vm/gnu-interp.c:22877: undefined reference to `sqImageFilePosition' //E/cygwin/home/HydraVM/winbuild/./src/vm/gnu-interp.c:22912: undefined reference to `sqImageFileSeek' //E/cygwin/home/HydraVM/winbuild/./src/vm/gnu-interp.c:22913: undefined reference to `sqImageFileRead' ./obj/vm/gnu-interp.o: In function `writeImageFileIO': //E/cygwin/home/HydraVM/winbuild/./src/vm/gnu-interp.c:25240: undefined reference to `sqImageFileOpen' //E/cygwin/home/HydraVM/winbuild/./src/vm/gnu-interp.c:25248: undefined reference to `sqImageFileSeek' //E/cygwin/home/HydraVM/winbuild/./src/vm/gnu-interp.c:25262: undefined reference to `sqImageFileClose' //E/cygwin/home/HydraVM/winbuild/./src/vm/gnu-interp.c:25265: undefined reference to `sqImageFileSeek' //E/cygwin/home/HydraVM/winbuild/./src/vm/gnu-interp.c:25266: undefined reference to `sqImageFileWrite' //E/cygwin/home/HydraVM/winbuild/./src/vm/gnu-interp.c:25270: undefined reference to `sqImageFileClose' ./obj/vm/sqWin32Args.o: In function `IsImage': //E/cygwin/home/HydraVM/winbuild/../platforms/win32/vm/sqWin32Args.c:28: undefined reference to `sqImageFileOpen' //E/cygwin/home/HydraVM/winbuild/../platforms/win32/vm/sqWin32Args.c:30: undefined reference to `sqImageFileRead' //E/cygwin/home/HydraVM/winbuild/../platforms/win32/vm/sqWin32Args.c:35: undefined reference to `sqImageFileClose' //E/cygwin/home/HydraVM/winbuild/../platforms/win32/vm/sqWin32Args.c:40: undefined reference to `sqImageFileSeek' //E/cygwin/home/HydraVM/winbuild/../platforms/win32/vm/sqWin32Args.c:41: undefined reference to `sqImageFileRead' //E/cygwin/home/HydraVM/winbuild/../platforms/win32/vm/sqWin32Args.c:42: undefined reference to `sqImageFileClose' //E/cygwin/home/HydraVM/winbuild/../platforms/win32/vm/sqWin32Args.c:45: undefined reference to `sqImageFileClose' ./obj/vm/sqWin32Exports.o(.data+0x8)://E/cygwin/home/HydraVM/winbuild/../platforms/win32/vm/sqWin32Exports.c: undefined reference to `win32JoystickDebugInfo' ./obj/vm/sqWin32Exports.o(.data+0x14)://E/cygwin/home/HydraVM/winbuild/../platforms/win32/vm/sqWin32Exports.c: undefined reference to `win32JoystickDebugPrintRawValues' ./obj/vm/sqWin32Exports.o(.data+0x20)://E/cygwin/home/HydraVM/winbuild/../platforms/win32/vm/sqWin32Exports.c: undefined reference to `win32JoystickDebugPrintAlternativeValues' ./obj/vm/sqWin32Exports.o(.data+0x2c)://E/cygwin/home/HydraVM/winbuild/../platforms/win32/vm/sqWin32Exports.c: undefined reference to `win32DebugPrintSocketState' ./obj/vm/sqWin32Intel.o: In function `threadedInterpretFn': //E/cygwin/home/HydraVM/winbuild/../platforms/win32/vm/sqWin32Intel.c:988: undefined reference to `ioGetSecureUserDirectory' ./obj/vm/sqWin32Intel.o: In function `sqMain': //E/cygwin/home/HydraVM/winbuild/../platforms/win32/vm/sqWin32Intel.c:1448: undefined reference to `sqImageFileOpen' //E/cygwin/home/HydraVM/winbuild/../platforms/win32/vm/sqWin32Intel.c:1451: undefined reference to `sqImageFilePosition' //E/cygwin/home/HydraVM/winbuild/../platforms/win32/vm/sqWin32Intel.c:1453: undefined reference to `sqImageFileClose' //E/cygwin/home/HydraVM/winbuild/../platforms/win32/vm/sqWin32Intel.c:1458: undefined reference to `ioInitSecurity' ./obj/vm/sqWin32PluginSupport.o: In function `primitivePluginRequestFileHandle': //E/cygwin/home/HydraVM/winbuild/../platforms/win32/vm/sqWin32PluginSupport.c:241: undefined reference to `fileRecordSize' //E/cygwin/home/HydraVM/winbuild/../platforms/win32/vm/sqWin32PluginSupport.c:243: undefined reference to `fileValueOf' //E/cygwin/home/HydraVM/winbuild/../platforms/win32/vm/sqWin32PluginSupport.c:243: undefined reference to `sqFileOpen' ./obj/vm/sqWin32Prefs.o: In function `SetAllowFileAccess': //E/cygwin/home/HydraVM/winbuild/../platforms/win32/vm/sqWin32Prefs.c:97: undefined reference to `ioHasFileAccess' ./obj/vm/sqWin32Prefs.o: In function `SetAllowImageWrite': //E/cygwin/home/HydraVM/winbuild/../platforms/win32/vm/sqWin32Prefs.c:102: undefined reference to `ioCanWriteImage' ./obj/vm/sqWin32Prefs.o: In function `SetAllowSocketAccess': //E/cygwin/home/HydraVM/winbuild/../platforms/win32/vm/sqWin32Prefs.c:107: undefined reference to `ioHasSocketAccess' ./obj/vm/sqWin32Prefs.o: In function `HandlePrefsMenu': //E/cygwin/home/HydraVM/winbuild/../platforms/win32/vm/sqWin32Prefs.c:386: undefined reference to `ioHasFileAccess' //E/cygwin/home/HydraVM/winbuild/../platforms/win32/vm/sqWin32Prefs.c:386: undefined reference to `_ioSetFileAccess' //E/cygwin/home/HydraVM/winbuild/../platforms/win32/vm/sqWin32Prefs.c:390: undefined reference to `ioCanWriteImage' //E/cygwin/home/HydraVM/winbuild/../platforms/win32/vm/sqWin32Prefs.c:390: undefined reference to `_ioSetImageWrite' //E/cygwin/home/HydraVM/winbuild/../platforms/win32/vm/sqWin32Prefs.c:394: undefined reference to `ioHasSocketAccess' //E/cygwin/home/HydraVM/winbuild/../platforms/win32/vm/sqWin32Prefs.c:394: undefined reference to `_ioSetSocketAccess' //E/cygwin/home/HydraVM/winbuild/../platforms/win32/vm/sqWin32Prefs.c:403: undefined reference to `win32DebugPrintSocketState' make: *** [Croquet.exe] Error 1
On Sat, 02 Aug 2008 10:59:09 +0200, Igor Stasenko wrote:
Yes, i'm aware of this issue.
It looks like gawk -f ../platforms/win32/misc/gnuify ./src/vm/interp.c > ./src/vm/gnu-interp.c
forks another process and returns control to make immediately, before completely done generating gnu-interp.c. This leads to situation, that next command:
gcc -o ./obj/vm/gnu-interp.o ..... -c gnu-interp.c
don't see the gnu-interp.c at the moment and bails out with error. It is not a makefile issue, i guess its a make / gawk issue , maybe gawk forking child process and returns immediately.. , or maybe output redirection in windoze (> ./src/vm/gnu-interp.c) works in mystical ways incompatible with gnu make.
Concerning linker errors.. i will make a clean install & checkout to see if it works for me.
Thanks.
BTW it also seems to be sensitive to none/what plugins are put internal. Have a list handy somewhere (just so that it DoesTheRightThing). TIA
2008/8/2 Klaus D. Witzel klaus.witzel@cobss.com:
On Sat, 02 Aug 2008 10:59:09 +0200, Igor Stasenko wrote:
Yes, i'm aware of this issue.
It looks like gawk -f ../platforms/win32/misc/gnuify ./src/vm/interp.c > ./src/vm/gnu-interp.c
forks another process and returns control to make immediately, before completely done generating gnu-interp.c. This leads to situation, that next command:
gcc -o ./obj/vm/gnu-interp.o ..... -c gnu-interp.c
don't see the gnu-interp.c at the moment and bails out with error. It is not a makefile issue, i guess its a make / gawk issue , maybe gawk forking child process and returns immediately.. , or maybe output redirection in windoze (> ./src/vm/gnu-interp.c) works in mystical ways incompatible with gnu make.
Concerning linker errors.. i will make a clean install & checkout to see if it works for me.
Thanks.
BTW it also seems to be sensitive to none/what plugins are put internal. Have a list handy somewhere (just so that it DoesTheRightThing). TIA
ah, yes, some plugins should be mandatory included as internal into build, otherwise you'll be unable to build vm.
Here the list of internal plugins which included in my build: #ADPCMCodecPlugin #AsynchFilePlugin #B3DAcceleratorPlugin #BalloonEnginePlugin #BitBltSimulation #BMPReadWriterPlugin #CroquetPlugin #DeflatePlugin #DropPlugin #DSAPlugin #FFTPlugin #FileDialogPlugin #FilePlugin #FloatArrayPlugin #FloatMathPlugin #GeniePlugin #HostWindowPlugin #JoystickTabletPlugin #JPEGReaderPlugin #JPEGReadWriter2Plugin #KlattSynthesizerPlugin #LargeIntegersPlugin #LocalePlugin #Matrix2x3Plugin #MIDIPlugin #MiscPrimitivePlugin #Mpeg3Plugin #RePlugin #SecurityPlugin #SerialPlugin #SocketPlugin #SoundCodecPlugin #SoundGenerationPlugin #SoundPlugin #StarSqueakPlugin #SurfacePlugin #UUIDPlugin
On Sat, 02 Aug 2008 11:18:38 +0200, Igor Stasenko wrote:
2008/8/2 Klaus D. Witzel:
...
BTW it also seems to be sensitive to none/what plugins are put internal. Have a list handy somewhere (just so that it DoesTheRightThing). TIA
ah, yes, some plugins should be mandatory included as internal into build, otherwise you'll be unable to build vm.
Here the list of internal plugins which included in my build: #ADPCMCodecPlugin #AsynchFilePlugin #B3DAcceleratorPlugin #BalloonEnginePlugin #BitBltSimulation #BMPReadWriterPlugin #CroquetPlugin #DeflatePlugin #DropPlugin #DSAPlugin #FFTPlugin
No such class in the .image #FileDialogPlugin :(
#FilePlugin #FloatArrayPlugin #FloatMathPlugin #GeniePlugin #HostWindowPlugin #JoystickTabletPlugin #JPEGReaderPlugin #JPEGReadWriter2Plugin #KlattSynthesizerPlugin #LargeIntegersPlugin #LocalePlugin #Matrix2x3Plugin #MIDIPlugin #MiscPrimitivePlugin #Mpeg3Plugin #RePlugin #SecurityPlugin #SerialPlugin #SocketPlugin #SoundCodecPlugin #SoundGenerationPlugin #SoundPlugin #StarSqueakPlugin #SurfacePlugin #UUIDPlugin
Scaring: too few args for messages to interpreter and memory (at the bottom):
../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:7: warning: `byteAt' redefined ......\platforms\Cross\vm\sqMemoryAccess.h:111: warning: this is the location of the previous definition ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:8: warning: `byteAtput' redefined ......\platforms\Cross\vm\sqMemoryAccess.h:112: warning: this is the location of the previous definition ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:9: warning: `longAt' redefined ......\platforms\Cross\vm\sqMemoryAccess.h:115: warning: this is the location of the previous definition ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:10: warning: `longAtput' redefined ......\platforms\Cross\vm\sqMemoryAccess.h:116: warning: this is the location of the previous definition ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:13: conflicting types for `stackValue' .....\src\vm\interp_prototypes.h:159: previous declaration of `stackValue' ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c: In function `primFMSoundmixSampleCountintostartingAtpan': ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:47: warning: passing arg 1 of `checkedIntegerValueOf' makes pointer from integer without a cast ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:47: too few arguments to function `checkedIntegerValueOf' ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:49: warning: passing arg 1 of `checkedIntegerValueOf' makes pointer from integer without a cast ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:49: too few arguments to function `checkedIntegerValueOf' ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:50: warning: passing arg 1 of `checkedIntegerValueOf' makes pointer from integer without a cast ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:50: too few arguments to function `checkedIntegerValueOf' ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:51: warning: passing arg 1 of `fetchArrayofObject' makes pointer from integer without a cast ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:51: too few arguments to function `fetchArrayofObject' ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:52: warning: passing arg 1 of `fetchIntegerofObject' makes pointer from integer without a cast ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:52: too few arguments to function `fetchIntegerofObject' ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:53: warning: passing arg 1 of `fetchIntegerofObject' makes pointer from integer without a cast ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:53: too few arguments to function `fetchIntegerofObject' ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:54: warning: passing arg 1 of `fetchIntegerofObject' makes pointer from integer without a cast ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:54: too few arguments to function `fetchIntegerofObject' ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:55: warning: passing arg 1 of `fetchIntegerofObject' makes pointer from integer without a cast ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:55: too few arguments to function `fetchIntegerofObject' ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:56: warning: passing arg 1 of `fetchIntegerofObject' makes pointer from integer without a cast ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:56: too few arguments to function `fetchIntegerofObject' ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:57: warning: passing arg 1 of `fetchIntegerofObject' makes pointer from integer without a cast ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:57: too few arguments to function `fetchIntegerofObject' ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:58: warning: passing arg 1 of `fetchIntegerofObject' makes pointer from integer without a cast ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:58: too few arguments to function `fetchIntegerofObject' ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:59: warning: passing arg 1 of `fetchIntegerofObject' makes pointer from integer without a cast ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:59: too few arguments to function `fetchIntegerofObject' ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:101: warning: passing arg 1 of `storeIntegerofObjectwithValue' makes pointer from integer without a cast ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:101: too few arguments to function `storeIntegerofObjectwithValue' ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:102: warning: passing arg 1 of `storeIntegerofObjectwithValue' makes pointer from integer without a cast ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:102: too few arguments to function `storeIntegerofObjectwithValue' ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:103: warning: passing arg 1 of `storeIntegerofObjectwithValue' makes pointer from integer without a cast ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:103: too few arguments to function `storeIntegerofObjectwithValue' ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:104: warning: passing arg 1 of `pop' makes pointer from integer without a cast ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:104: too few arguments to function `pop' ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c: In function `primPluckedSoundmixSampleCountintostartingAtpan': ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:126: warning: passing arg 1 of `checkedIntegerValueOf' makes pointer from integer without a cast ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:126: too few arguments to function `checkedIntegerValueOf' ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:128: warning: passing arg 1 of `checkedIntegerValueOf' makes pointer from integer without a cast ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:128: too few arguments to function `checkedIntegerValueOf' ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:129: warning: passing arg 1 of `checkedIntegerValueOf' makes pointer from integer without a cast ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:129: too few arguments to function `checkedIntegerValueOf' ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:130: warning: passing arg 1 of `fetchIntegerofObject' makes pointer from integer without a cast ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:130: too few arguments to function `fetchIntegerofObject' ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:131: warning: passing arg 1 of `fetchArrayofObject' makes pointer from integer without a cast ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:131: too few arguments to function `fetchArrayofObject' ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:132: warning: passing arg 1 of `fetchIntegerofObject' makes pointer from integer without a cast ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:132: too few arguments to function `fetchIntegerofObject' ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:133: warning: passing arg 1 of `fetchIntegerofObject' makes pointer from integer without a cast ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:133: too few arguments to function `fetchIntegerofObject' ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:169: warning: passing arg 1 of `storeIntegerofObjectwithValue' makes pointer from integer without a cast ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:169: too few arguments to function `storeIntegerofObjectwithValue' ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:170: warning: passing arg 1 of `storeIntegerofObjectwithValue' makes pointer from integer without a cast ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:170: too few arguments to function `storeIntegerofObjectwithValue' ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:171: warning: passing arg 1 of `pop' makes pointer from integer without a cast ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:171: too few arguments to function `pop' ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c: In function `primSampledSoundmixSampleCountintostartingAtpan': ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:193: warning: passing arg 1 of `checkedIntegerValueOf' makes pointer from integer without a cast ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:193: too few arguments to function `checkedIntegerValueOf' ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:195: warning: passing arg 1 of `checkedIntegerValueOf' makes pointer from integer without a cast ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:195: too few arguments to function `checkedIntegerValueOf' ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:196: warning: passing arg 1 of `checkedIntegerValueOf' makes pointer from integer without a cast ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:196: too few arguments to function `checkedIntegerValueOf' ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:197: warning: passing arg 1 of `fetchArrayofObject' makes pointer from integer without a cast ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:197: too few arguments to function `fetchArrayofObject' ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:198: warning: passing arg 1 of `fetchIntegerofObject' makes pointer from integer without a cast ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:198: too few arguments to function `fetchIntegerofObject' ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:199: warning: passing arg 1 of `fetchIntegerofObject' makes pointer from integer without a cast ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:199: too few arguments to function `fetchIntegerofObject' ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:200: warning: passing arg 1 of `fetchIntegerofObject' makes pointer from integer without a cast ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:200: too few arguments to function `fetchIntegerofObject' ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:201: warning: passing arg 1 of `fetchIntegerofObject' makes pointer from integer without a cast ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:201: too few arguments to function `fetchIntegerofObject' ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:237: warning: passing arg 1 of `storeIntegerofObjectwithValue' makes pointer from integer without a cast ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:237: too few arguments to function `storeIntegerofObjectwithValue' ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:238: warning: passing arg 1 of `storeIntegerofObjectwithValue' makes pointer from integer without a cast ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:238: too few arguments to function `storeIntegerofObjectwithValue' ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:239: warning: passing arg 1 of `pop' makes pointer from integer without a cast ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:239: too few arguments to function `pop' ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c: In function `primWaveTableSoundmixSampleCountintostartingAtpan': ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:261: warning: passing arg 1 of `checkedIntegerValueOf' makes pointer from integer without a cast ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:261: too few arguments to function `checkedIntegerValueOf' ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:263: warning: passing arg 1 of `checkedIntegerValueOf' makes pointer from integer without a cast ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:263: too few arguments to function `checkedIntegerValueOf' ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:264: warning: passing arg 1 of `checkedIntegerValueOf' makes pointer from integer without a cast ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:264: too few arguments to function `checkedIntegerValueOf' ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:265: warning: passing arg 1 of `fetchArrayofObject' makes pointer from integer without a cast ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:265: too few arguments to function `fetchArrayofObject' ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:266: warning: passing arg 1 of `fetchIntegerofObject' makes pointer from integer without a cast ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:266: too few arguments to function `fetchIntegerofObject' ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:267: warning: passing arg 1 of `fetchIntegerofObject' makes pointer from integer without a cast ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:267: too few arguments to function `fetchIntegerofObject' ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:268: warning: passing arg 1 of `fetchIntegerofObject' makes pointer from integer without a cast ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:268: too few arguments to function `fetchIntegerofObject' ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:269: warning: passing arg 1 of `fetchIntegerofObject' makes pointer from integer without a cast ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:269: too few arguments to function `fetchIntegerofObject' ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:270: warning: passing arg 1 of `fetchIntegerofObject' makes pointer from integer without a cast ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:270: too few arguments to function `fetchIntegerofObject' ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:305: warning: passing arg 1 of `storeIntegerofObjectwithValue' makes pointer from integer without a cast ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:305: too few arguments to function `storeIntegerofObjectwithValue' ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:306: warning: passing arg 1 of `storeIntegerofObjectwithValue' makes pointer from integer without a cast ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:306: too few arguments to function `storeIntegerofObjectwithValue' ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:307: warning: passing arg 1 of `pop' makes pointer from integer without a cast ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:307: too few arguments to function `pop' ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c: In function `oldprimSampledSoundmixSampleCountintostartingAtleftVolrightVol': ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:333: warning: passing arg 1 of `checkedIntegerValueOf' makes pointer from integer without a cast ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:333: too few arguments to function `checkedIntegerValueOf' ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:336: warning: passing arg 1 of `checkedIntegerValueOf' makes pointer from integer without a cast ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:336: too few arguments to function `checkedIntegerValueOf' ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:337: warning: passing arg 1 of `checkedIntegerValueOf' makes pointer from integer without a cast ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:337: too few arguments to function `checkedIntegerValueOf' ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:338: warning: passing arg 1 of `checkedIntegerValueOf' makes pointer from integer without a cast ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:338: too few arguments to function `checkedIntegerValueOf' ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:339: warning: passing arg 1 of `fetchIntegerofObject' makes pointer from integer without a cast ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:339: too few arguments to function `fetchIntegerofObject' ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:340: warning: passing arg 1 of `fetchIntegerofObject' makes pointer from integer without a cast ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:340: too few arguments to function `fetchIntegerofObject' ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:341: warning: passing arg 1 of `fetchIntegerofObject' makes pointer from integer without a cast ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:341: too few arguments to function `fetchIntegerofObject' ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:342: warning: passing arg 1 of `fetchIntegerofObject' makes pointer from integer without a cast ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:342: too few arguments to function `fetchIntegerofObject' ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:343: warning: passing arg 1 of `fetchArrayofObject' makes pointer from integer without a cast ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:343: too few arguments to function `fetchArrayofObject' ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:345: warning: passing arg 1 of `fetchIntegerofObject' makes pointer from integer without a cast ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:345: too few arguments to function `fetchIntegerofObject' ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:346: warning: passing arg 1 of `fetchIntegerofObject' makes pointer from integer without a cast ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:346: too few arguments to function `fetchIntegerofObject' ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:347: warning: passing arg 1 of `fetchIntegerofObject' makes pointer from integer without a cast ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:347: too few arguments to function `fetchIntegerofObject' ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:393: warning: passing arg 1 of `storeIntegerofObjectwithValue' makes pointer from integer without a cast ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:393: too few arguments to function `storeIntegerofObjectwithValue' ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:394: warning: passing arg 1 of `storeIntegerofObjectwithValue' makes pointer from integer without a cast ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:394: too few arguments to function `storeIntegerofObjectwithValue' ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:395: warning: passing arg 1 of `storeIntegerofObjectwithValue' makes pointer from integer without a cast ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:395: too few arguments to function `storeIntegerofObjectwithValue' ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:396: warning: passing arg 1 of `storeIntegerofObjectwithValue' makes pointer from integer without a cast ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:396: too few arguments to function `storeIntegerofObjectwithValue' ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:397: warning: passing arg 1 of `pop' makes pointer from integer without a cast ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:397: too few arguments to function `pop' make[1]: *** [sqOldSoundPrims.o] Error 1 make: *** [SoundGenerationPlugin.lib] Error 2
2008/8/2 Klaus D. Witzel klaus.witzel@cobss.com:
On Sat, 02 Aug 2008 11:18:38 +0200, Igor Stasenko wrote:
2008/8/2 Klaus D. Witzel:
...
BTW it also seems to be sensitive to none/what plugins are put internal. Have a list handy somewhere (just so that it DoesTheRightThing). TIA
ah, yes, some plugins should be mandatory included as internal into build, otherwise you'll be unable to build vm.
Here the list of internal plugins which included in my build: #ADPCMCodecPlugin #AsynchFilePlugin #B3DAcceleratorPlugin #BalloonEnginePlugin #BitBltSimulation #BMPReadWriterPlugin #CroquetPlugin #DeflatePlugin #DropPlugin #DSAPlugin #FFTPlugin
No such class in the .image #FileDialogPlugin :(
Yes. You shouldn't have this plugin :) But its not a problem.
#FilePlugin #FloatArrayPlugin #FloatMathPlugin #GeniePlugin #HostWindowPlugin #JoystickTabletPlugin #JPEGReaderPlugin #JPEGReadWriter2Plugin #KlattSynthesizerPlugin #LargeIntegersPlugin #LocalePlugin #Matrix2x3Plugin #MIDIPlugin #MiscPrimitivePlugin #Mpeg3Plugin #RePlugin #SecurityPlugin #SerialPlugin #SocketPlugin #SoundCodecPlugin #SoundGenerationPlugin #SoundPlugin #StarSqueakPlugin #SurfacePlugin #UUIDPlugin
Scaring: too few args for messages to interpreter and memory (at the bottom):
../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:7: warning: `byteAt' redefined ......\platforms\Cross\vm\sqMemoryAccess.h:111: warning: this is the location of the previous definition ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:8: warning: `byteAtput' redefined ......\platforms\Cross\vm\sqMemoryAccess.h:112: warning: this is the location of the previous definition ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:9: warning: `longAt' redefined ......\platforms\Cross\vm\sqMemoryAccess.h:115: warning: this is the location of the previous definition ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:10: warning: `longAtput' redefined ......\platforms\Cross\vm\sqMemoryAccess.h:116: warning: this is the location of the previous definition ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:13: conflicting types for `stackValue' .....\src\vm\interp_prototypes.h:159: previous declaration of `stackValue' ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c: In function `primFMSoundmixSampleCountintostartingAtpan': ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:47: warning: passing arg 1 of `checkedIntegerValueOf' makes pointer from integer without a cast ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:47: too few arguments to function `checkedIntegerValueOf' ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:49: warning: passing arg 1 of `checkedIntegerValueOf' makes pointer from integer without a cast ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:49: too few arguments to function `checkedIntegerValueOf' ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:50: warning: passing arg 1 of `checkedIntegerValueOf' makes pointer from integer without a cast ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:50: too few arguments to function `checkedIntegerValueOf' ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:51: warning: passing arg 1 of `fetchArrayofObject' makes pointer from integer without a cast ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:51: too few arguments to function `fetchArrayofObject' ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:52: warning: passing arg 1 of `fetchIntegerofObject' makes pointer from integer without a cast ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:52: too few arguments to function `fetchIntegerofObject' ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:53: warning: passing arg 1 of `fetchIntegerofObject' makes pointer from integer without a cast ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:53: too few arguments to function `fetchIntegerofObject' ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:54: warning: passing arg 1 of `fetchIntegerofObject' makes pointer from integer without a cast ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:54: too few arguments to function `fetchIntegerofObject' ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:55: warning: passing arg 1 of `fetchIntegerofObject' makes pointer from integer without a cast ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:55: too few arguments to function `fetchIntegerofObject' ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:56: warning: passing arg 1 of `fetchIntegerofObject' makes pointer from integer without a cast ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:56: too few arguments to function `fetchIntegerofObject' ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:57: warning: passing arg 1 of `fetchIntegerofObject' makes pointer from integer without a cast ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:57: too few arguments to function `fetchIntegerofObject' ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:58: warning: passing arg 1 of `fetchIntegerofObject' makes pointer from integer without a cast ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:58: too few arguments to function `fetchIntegerofObject' ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:59: warning: passing arg 1 of `fetchIntegerofObject' makes pointer from integer without a cast ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:59: too few arguments to function `fetchIntegerofObject' ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:101: warning: passing arg 1 of `storeIntegerofObjectwithValue' makes pointer from integer without a cast ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:101: too few arguments to function `storeIntegerofObjectwithValue' ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:102: warning: passing arg 1 of `storeIntegerofObjectwithValue' makes pointer from integer without a cast ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:102: too few arguments to function `storeIntegerofObjectwithValue' ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:103: warning: passing arg 1 of `storeIntegerofObjectwithValue' makes pointer from integer without a cast ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:103: too few arguments to function `storeIntegerofObjectwithValue' ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:104: warning: passing arg 1 of `pop' makes pointer from integer without a cast ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:104: too few arguments to function `pop' ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c: In function `primPluckedSoundmixSampleCountintostartingAtpan': ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:126: warning: passing arg 1 of `checkedIntegerValueOf' makes pointer from integer without a cast ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:126: too few arguments to function `checkedIntegerValueOf' ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:128: warning: passing arg 1 of `checkedIntegerValueOf' makes pointer from integer without a cast ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:128: too few arguments to function `checkedIntegerValueOf' ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:129: warning: passing arg 1 of `checkedIntegerValueOf' makes pointer from integer without a cast ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:129: too few arguments to function `checkedIntegerValueOf' ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:130: warning: passing arg 1 of `fetchIntegerofObject' makes pointer from integer without a cast ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:130: too few arguments to function `fetchIntegerofObject' ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:131: warning: passing arg 1 of `fetchArrayofObject' makes pointer from integer without a cast ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:131: too few arguments to function `fetchArrayofObject' ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:132: warning: passing arg 1 of `fetchIntegerofObject' makes pointer from integer without a cast ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:132: too few arguments to function `fetchIntegerofObject' ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:133: warning: passing arg 1 of `fetchIntegerofObject' makes pointer from integer without a cast ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:133: too few arguments to function `fetchIntegerofObject' ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:169: warning: passing arg 1 of `storeIntegerofObjectwithValue' makes pointer from integer without a cast ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:169: too few arguments to function `storeIntegerofObjectwithValue' ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:170: warning: passing arg 1 of `storeIntegerofObjectwithValue' makes pointer from integer without a cast ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:170: too few arguments to function `storeIntegerofObjectwithValue' ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:171: warning: passing arg 1 of `pop' makes pointer from integer without a cast ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:171: too few arguments to function `pop' ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c: In function `primSampledSoundmixSampleCountintostartingAtpan': ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:193: warning: passing arg 1 of `checkedIntegerValueOf' makes pointer from integer without a cast ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:193: too few arguments to function `checkedIntegerValueOf' ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:195: warning: passing arg 1 of `checkedIntegerValueOf' makes pointer from integer without a cast ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:195: too few arguments to function `checkedIntegerValueOf' ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:196: warning: passing arg 1 of `checkedIntegerValueOf' makes pointer from integer without a cast ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:196: too few arguments to function `checkedIntegerValueOf' ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:197: warning: passing arg 1 of `fetchArrayofObject' makes pointer from integer without a cast ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:197: too few arguments to function `fetchArrayofObject' ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:198: warning: passing arg 1 of `fetchIntegerofObject' makes pointer from integer without a cast ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:198: too few arguments to function `fetchIntegerofObject' ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:199: warning: passing arg 1 of `fetchIntegerofObject' makes pointer from integer without a cast ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:199: too few arguments to function `fetchIntegerofObject' ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:200: warning: passing arg 1 of `fetchIntegerofObject' makes pointer from integer without a cast ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:200: too few arguments to function `fetchIntegerofObject' ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:201: warning: passing arg 1 of `fetchIntegerofObject' makes pointer from integer without a cast ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:201: too few arguments to function `fetchIntegerofObject' ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:237: warning: passing arg 1 of `storeIntegerofObjectwithValue' makes pointer from integer without a cast ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:237: too few arguments to function `storeIntegerofObjectwithValue' ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:238: warning: passing arg 1 of `storeIntegerofObjectwithValue' makes pointer from integer without a cast ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:238: too few arguments to function `storeIntegerofObjectwithValue' ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:239: warning: passing arg 1 of `pop' makes pointer from integer without a cast ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:239: too few arguments to function `pop' ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c: In function `primWaveTableSoundmixSampleCountintostartingAtpan': ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:261: warning: passing arg 1 of `checkedIntegerValueOf' makes pointer from integer without a cast ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:261: too few arguments to function `checkedIntegerValueOf' ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:263: warning: passing arg 1 of `checkedIntegerValueOf' makes pointer from integer without a cast ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:263: too few arguments to function `checkedIntegerValueOf' ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:264: warning: passing arg 1 of `checkedIntegerValueOf' makes pointer from integer without a cast ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:264: too few arguments to function `checkedIntegerValueOf' ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:265: warning: passing arg 1 of `fetchArrayofObject' makes pointer from integer without a cast ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:265: too few arguments to function `fetchArrayofObject' ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:266: warning: passing arg 1 of `fetchIntegerofObject' makes pointer from integer without a cast ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:266: too few arguments to function `fetchIntegerofObject' ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:267: warning: passing arg 1 of `fetchIntegerofObject' makes pointer from integer without a cast ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:267: too few arguments to function `fetchIntegerofObject' ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:268: warning: passing arg 1 of `fetchIntegerofObject' makes pointer from integer without a cast ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:268: too few arguments to function `fetchIntegerofObject' ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:269: warning: passing arg 1 of `fetchIntegerofObject' makes pointer from integer without a cast ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:269: too few arguments to function `fetchIntegerofObject' ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:270: warning: passing arg 1 of `fetchIntegerofObject' makes pointer from integer without a cast ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:270: too few arguments to function `fetchIntegerofObject' ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:305: warning: passing arg 1 of `storeIntegerofObjectwithValue' makes pointer from integer without a cast ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:305: too few arguments to function `storeIntegerofObjectwithValue' ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:306: warning: passing arg 1 of `storeIntegerofObjectwithValue' makes pointer from integer without a cast ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:306: too few arguments to function `storeIntegerofObjectwithValue' ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:307: warning: passing arg 1 of `pop' makes pointer from integer without a cast ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:307: too few arguments to function `pop' ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c: In function `oldprimSampledSoundmixSampleCountintostartingAtleftVolrightVol': ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:333: warning: passing arg 1 of `checkedIntegerValueOf' makes pointer from integer without a cast ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:333: too few arguments to function `checkedIntegerValueOf' ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:336: warning: passing arg 1 of `checkedIntegerValueOf' makes pointer from integer without a cast ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:336: too few arguments to function `checkedIntegerValueOf' ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:337: warning: passing arg 1 of `checkedIntegerValueOf' makes pointer from integer without a cast ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:337: too few arguments to function `checkedIntegerValueOf' ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:338: warning: passing arg 1 of `checkedIntegerValueOf' makes pointer from integer without a cast ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:338: too few arguments to function `checkedIntegerValueOf' ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:339: warning: passing arg 1 of `fetchIntegerofObject' makes pointer from integer without a cast ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:339: too few arguments to function `fetchIntegerofObject' ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:340: warning: passing arg 1 of `fetchIntegerofObject' makes pointer from integer without a cast ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:340: too few arguments to function `fetchIntegerofObject' ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:341: warning: passing arg 1 of `fetchIntegerofObject' makes pointer from integer without a cast ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:341: too few arguments to function `fetchIntegerofObject' ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:342: warning: passing arg 1 of `fetchIntegerofObject' makes pointer from integer without a cast ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:342: too few arguments to function `fetchIntegerofObject' ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:343: warning: passing arg 1 of `fetchArrayofObject' makes pointer from integer without a cast ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:343: too few arguments to function `fetchArrayofObject' ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:345: warning: passing arg 1 of `fetchIntegerofObject' makes pointer from integer without a cast ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:345: too few arguments to function `fetchIntegerofObject' ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:346: warning: passing arg 1 of `fetchIntegerofObject' makes pointer from integer without a cast ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:346: too few arguments to function `fetchIntegerofObject' ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:347: warning: passing arg 1 of `fetchIntegerofObject' makes pointer from integer without a cast ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:347: too few arguments to function `fetchIntegerofObject' ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:393: warning: passing arg 1 of `storeIntegerofObjectwithValue' makes pointer from integer without a cast ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:393: too few arguments to function `storeIntegerofObjectwithValue' ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:394: warning: passing arg 1 of `storeIntegerofObjectwithValue' makes pointer from integer without a cast ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:394: too few arguments to function `storeIntegerofObjectwithValue' ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:395: warning: passing arg 1 of `storeIntegerofObjectwithValue' makes pointer from integer without a cast ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:395: too few arguments to function `storeIntegerofObjectwithValue' ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:396: warning: passing arg 1 of `storeIntegerofObjectwithValue' makes pointer from integer without a cast ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:396: too few arguments to function `storeIntegerofObjectwithValue' ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:397: warning: passing arg 1 of `pop' makes pointer from integer without a cast ../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:397: too few arguments to function `pop' make[1]: *** [sqOldSoundPrims.o] Error 1 make: *** [SoundGenerationPlugin.lib] Error 2
yeah, just delete this file (sqOldSoundPrims.c) by hands. Its not used anywhere, just a leftover of what was the old sound plugin.. I wonder myself why it kept in repository while none of its functions is used anywhere in plugin. So, i didn't converted it to Hydra.. Need to figure out how to remove it from SVN branch to not confuse people.
On Sat, 02 Aug 2008 12:01:35 +0200, Igor Stasenko wrote:
2008/8/2 Klaus D. Witzel :
Scaring: too few args for messages to interpreter and memory (at the bottom):
...
../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:397: too few arguments to function `pop' make[1]: *** [sqOldSoundPrims.o] Error 1 make: *** [SoundGenerationPlugin.lib] Error 2
yeah, just delete this file (sqOldSoundPrims.c) by hands. Its not used anywhere, just a leftover of what was the old sound plugin.. I wonder myself why it kept in repository while none of its functions is used anywhere in plugin. So, i didn't converted it to Hydra..
Voila: E:\cygwin\home\HydraVM\winbuild\obj\vm\Croquet.exe :)
Need to figure out how to remove it from SVN branch to not confuse people.
2008/8/2 Klaus D. Witzel klaus.witzel@cobss.com:
On Sat, 02 Aug 2008 12:01:35 +0200, Igor Stasenko wrote:
2008/8/2 Klaus D. Witzel :
Scaring: too few args for messages to interpreter and memory (at the bottom):
...
../../../platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c:397: too few arguments to function `pop' make[1]: *** [sqOldSoundPrims.o] Error 1 make: *** [SoundGenerationPlugin.lib] Error 2
yeah, just delete this file (sqOldSoundPrims.c) by hands. Its not used anywhere, just a leftover of what was the old sound plugin.. I wonder myself why it kept in repository while none of its functions is used anywhere in plugin. So, i didn't converted it to Hydra..
Voila: E:\cygwin\home\HydraVM\winbuild\obj\vm\Croquet.exe :)
Congratulations!!! :)
/me stops trying to repeat process from the scratch, since Klaus already succeeded.
Need to figure out how to remove it from SVN branch to not confuse people.
On Sat, 02 Aug 2008 13:02:22 +0200, Igor Stasenko wrote:
2008/8/2 Klaus D. Witzel :
...
Voila: E:\cygwin\home\HydraVM\winbuild\obj\vm\Croquet.exe :)
Congratulations!!! :)
:)
/me stops trying to repeat process from the scratch, since Klaus already succeeded.
But you cannot stop trying, the Hydra classes still don't work in stock .images like Squeak3.10.2-7179-basic.image ;)
It's still the EventSensor>>#installInterruptWatcher: which it wants to send home to a Croquet based .image ...
Need to figure out how to remove it from SVN branch to not confuse people.
2008/8/4 Klaus D. Witzel klaus.witzel@cobss.com:
On Sat, 02 Aug 2008 13:02:22 +0200, Igor Stasenko wrote:
2008/8/2 Klaus D. Witzel :
...
Voila: E:\cygwin\home\HydraVM\winbuild\obj\vm\Croquet.exe :)
Congratulations!!! :)
:)
/me stops trying to repeat process from the scratch, since Klaus already succeeded.
But you cannot stop trying, the Hydra classes still don't work in stock .images like Squeak3.10.2-7179-basic.image ;)
Sure :)
It's still the EventSensor>>#installInterruptWatcher: which it wants to send home to a Croquet based .image ...
Fixed. Load HydraVM-sig.11
Need to figure out how to remove it from SVN branch to not confuse people.
2008/8/4 Igor Stasenko siguctua@gmail.com:
2008/8/4 Klaus D. Witzel klaus.witzel@cobss.com:
On Sat, 02 Aug 2008 13:02:22 +0200, Igor Stasenko wrote:
2008/8/2 Klaus D. Witzel :
...
Voila: E:\cygwin\home\HydraVM\winbuild\obj\vm\Croquet.exe :)
Congratulations!!! :)
:)
/me stops trying to repeat process from the scratch, since Klaus already succeeded.
But you cannot stop trying, the Hydra classes still don't work in stock .images like Squeak3.10.2-7179-basic.image ;)
Sure :)
It's still the EventSensor>>#installInterruptWatcher: which it wants to send home to a Croquet based .image ...
Fixed. Load HydraVM-sig.11
Oh.. there was another thing , in difference where sending messages to Smalltalk (in 3.8) and SmalltalkImage current (in 3.9-3.10)
now fixed in HydraVM-sig.12.
I tested it in 3.10.2, works fine.
Need to figure out how to remove it from SVN branch to not confuse people.
-- Best regards, Igor Stasenko AKA sig.
On Mon, 04 Aug 2008 10:18:20 +0200, Igor Stasenko wrote:
2008/8/4 Klaus D. Witzel :
...
It's still the EventSensor>>#installInterruptWatcher: which it wants to send home to a Croquet based .image ...
Fixed. Load HydraVM-sig.11
HydraVM interpreterInstanceCount => 2
HydraChannel hasChannel: #doIt at: (HydraInterpreter at: 2) => true
HydraChannel send: 'Transcript test' to: (HydraInterpreter current) channel: #transcript => true
(HydraInterpreter at: 2) doIt: 'SmalltalkImage current timeStamp: Transcript cr. Transcript endEntry' => From Squeak3.10.2 of '5 June 2008' [latest update: #7179] on 4 August 2008 at 10:59:27 am
Need to figure out how to remove it from SVN branch to not confuse people.
On Tue, 29 Jul 2008 16:02:47 +0200, Igor Stasenko wrote:
2008/7/29 Klaus D. Witzel:
On Fri, 25 Jul 2008 16:27:58 +0200, Igor Stasenko wrote:
...
Well, [] changes is not backwards compatible with current squeak images, while Hydra can run them w/o problems. This is the reason, why i want to release them now - at least in binary form. So people may try run it and report problems found.
So here is update.
VMMaker and HydraVM packages is now at squeaksource.
MCHttpRepository location: 'http://www.squeaksource.com/HydraVM' user: '' password: ''
Which base .image should load this? If base .image is Croquet, have URL?
it should work well on Croquet 1.0.18 took from Croquet SDK. Also, i don't see a reason why it should not work on any other image. VMMaker pakcage don't have too much dependencies, so it should work fine on any image starting from squeak 3.8 , i assume. Please tell me if you find any problems loading/using VMMaker on 3.9-3.10. And Croquet SDK can be downloaded here: http://www.opencroquet.org/index.php/Downloads
Thx. And thx for the WinBuild dir hint in your 2nd message.
The platform sources are located here:
Checked this branch out (on my brand new dual core notebook :)
Where's the file interp.c, which used to be in win32/vm ?
of course there is no such file. Because it is generated by vmmaker :)
Yes, by your's from your local .image ;)
What the reason in putting a files which is a product of automatic code generation under version control? :)
In this case? It's the documentation, which tells about compiling only, then in another section tells about using VMMaker for generating (some) plugin, then in yet another section about modding the VM tself ;)
For practical purpose: I think that is very practical, and all this should be tested anyways. If loading VMMaker+generating+compilation leaves a problem, then users can always see how it should be without asking dumb questions by email.
Is it possible you update the branch in that way? TIA.
squeak-dev@lists.squeakfoundation.org