[Vm-dev] Building OSProcess plugin on win32 fails

David T. Lewis lewis at mail.msen.com
Wed Oct 13 15:22:06 UTC 2010

You can either copy the two headers into the OSPP subdirectory, or
fix the makefile. OSPP needs both FilePlugin.h and SocketPlugin.h
from their respective subdirectories. I'm afraid I never put any
effort into fixing the makefile, so if you can share a makefile that
works properly, that would be great.

Also, be aware that the OSPP primitives related to OS pipes, stdio
handles, and (IIRC) console open/close will fail due the the file
handle registry. I usually just disable it in sqWin32HandleTable.h,
although I suspect this is not an approved procedure ;)

Andreas, I recall discussing the handle registration a few years
ago, but I don't think I ever followed up to do anything about it.
It would be good if we could have some mechanism such as
#primitiveRegisterHandle so that someone can e.g. get the two
handles for a new OSPipe and inform FilePlugin that they are
legitimate handles. Would you be willing to support a mechanism
like that?


On Wed, Oct 13, 2010 at 06:00:19PM +0300, Igor Stasenko wrote:
> I tried to build an OSProcess plugin on windoze,
> with VMMaker
> Name: VMMaker-dtl.186
> Author: dtl
> Time: 19 September 2010, 11:03:20 am
> UUID: d2271d63-e922-47de-9bf7-161900f8e7d0
> Ancestors: VMMaker-dtl.185
> And it fails compiling, unable to reach FilePlugin and SocketPlugin headers..
> make -C ./obj/Win32OSProcessPlugin -fMakefile.dll LIBNAME=Win32OSProcessPlugin \
> 	PLATDIR=../../../platforms BASEDIR=../../. \
> 	Win32OSProcessPlugin.dll
> make[1]: Entering directory
> `F:/projects/squeak/!trunk/src/winbuild/obj/Win32OSProcessPlugin'
> gcc -o ../.././obj/Win32OSProcessPlugin/Win32OSProcessPlugin.o -g
> -mpentium -mwindows -fomit-frame-pointer -funroll-loops
> -fschedule-insns2 -O2 -I. -Ic:/dx7sdk/include -I../.././src/vm
> -I../../../platforms/Win32/vm -I../../../platforms/Cross/vm
> -I../.././src/Win32OSProcessPlugin
> -I../../../platforms/Win32/plugins/Win32OSProcessPlugin
> -I../../../platforms/Cross/plugins/Win32OSProcessPlugin
> -DVM_VERSION=\""3.10.6 (release)"\" -DWIN32_FILE_SUPPORT -DNO_SERVICE
> ../.././src/Win32OSProcessPlugin/Win32OSProcessPlugin.c
> ../.././src/Win32OSProcessPlugin/Win32OSProcessPlugin.c:39:
> FilePlugin.h: No such file or directory
> ../.././src/Win32OSProcessPlugin/Win32OSProcessPlugin.c:40:
> SocketPlugin.h: No such file or directory
> make[1]: *** [Win32OSProcessPlugin.o] Error 1
> make[1]: Leaving directory
> `F:/projects/squeak/!trunk/src/winbuild/obj/Win32OSProcessPlugin'
> make: *** [Win32OSProcessPlugin.dll] Error 2
> looks like something wrong with headers search path, and i need to
> update/modify makefile(s).
> -- 
> Best regards,
> Igor Stasenko AKA sig.

More information about the Vm-dev mailing list