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 -DNO_STD_FILE_SUPPORT -DNDEBUG -DLSB_FIRST -DVM_NAME="" -DX86 -c ../.././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).
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?
Dave
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 -DNO_STD_FILE_SUPPORT -DNDEBUG -DLSB_FIRST -DVM_NAME="" -DX86 -c ../.././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.
vm-dev@lists.squeakfoundation.org