[squeak-dev] Re: HydraVM win32 update

Igor Stasenko siguctua at gmail.com
Sat Aug 2 08:59:09 UTC 2008


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 at 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
>
>
>



-- 
Best regards,
Igor Stasenko AKA sig.



More information about the Squeak-dev mailing list