[squeak-dev] Re: vm build environment on windows

Henry Lavado henrylavado at gmx.com
Sat Oct 10 02:11:52 UTC 2015


Hi Marcel,

I got quite far with your suggestion. I had to remove -mno-cygwin flags 
in many places, when I switched to i686-w64-mingw32-gcc and so. mvm 
managed to compile and link many libs.

However, I have hit an error and I wonder if you've any ideas. Trace is 
below.

Regards,
Henry


make  -C ./build/FilePlugin BUILD=build \
         -f../../Makefile.plugin \
         PLATDIR=../../../../platforms BASEDIR=../../. \
         PLUGINSRCDIR=../../../../src VMSRCDIR=../../../../spursrc \
         LIBNAME=FilePlugin COGDEFS="-DCOGMTVM=0 -DDEBUGVM=0" 
XDEFS=-DSQUEAK_BUILTIN_PLUGIN \
         ../.././build/vm/FilePlugin.lib
make[1]: Entering directory 
'/home/rabbit/Cog/build.win32x86/squeak.cog.spur/build/FilePlugin'
i686-w64-mingw32-gcc -isystem/usr/include/mingw -I/usr/include/w32api 
-msse2 -ggdb2 -mwindows -mdll -mwin32 -mno-rtd -mms-bitfields 
-mno-accumulate-outgoing-args -D_MT -O1 -march=pentium4 
-momit-leaf-frame-pointer -funroll-loops -fno-builtin-printf 
-fno-builtin-putchar -fno-builtin-fprintf -I. 
-I../../../../platforms/win32/third-party/dx9sdk/Include 
-I../../../../spursrc/vm -I../../../../platforms/win32/vm 
-I../../../../platforms/Cross/vm -I../../../../src/plugins/FilePlugin 
-I../../../../platforms/win32/plugins/FilePlugin 
-I../../../../platforms/Cross/plugins/FilePlugin -D_WIN32_WINNT=0x0501 
-DWINVER=0x0501 -DWIN32 -DWIN32_FILE_SUPPORT -DNO_ISNAN -DNO_SERVICE 
-DNO_STD_FILE_SUPPORT -DNDEBUG -DLSB_FIRST -DVM_NAME=\"\" -DX86 
-DSQUEAK_BUILTIN_PLUGIN -c ../../../../src/plugins/FilePlugin/FilePlugin.c
../../../../src/plugins/FilePlugin/FilePlugin.c:1:0: warning: stack 
probing requires -maccumulate-outgoing-args for correctness
  /* Automatically generated by
  ^
i686-w64-mingw32-gcc -isystem/usr/include/mingw -I/usr/include/w32api 
-msse2 -ggdb2 -mwindows -mdll -mwin32 -mno-rtd -mms-bitfields 
-mno-accumulate-outgoing-args -D_MT -O1 -march=pentium4 
-momit-leaf-frame-pointer -funroll-loops -fno-builtin-printf 
-fno-builtin-putchar -fno-builtin-fprintf -I. 
-I../../../../platforms/win32/third-party/dx9sdk/Include 
-I../../../../spursrc/vm -I../../../../platforms/win32/vm 
-I../../../../platforms/Cross/vm -I../../../../src/plugins/FilePlugin 
-I../../../../platforms/win32/plugins/FilePlugin 
-I../../../../platforms/Cross/plugins/FilePlugin -D_WIN32_WINNT=0x0501 
-DWINVER=0x0501 -DWIN32 -DWIN32_FILE_SUPPORT -DNO_ISNAN -DNO_SERVICE 
-DNO_STD_FILE_SUPPORT -DNDEBUG -DLSB_FIRST -DVM_NAME=\"\" -DX86 
-DSQUEAK_BUILTIN_PLUGIN -c 
../../../../platforms/win32/plugins/FilePlugin/sqWin32FilePrims.c
../../../../platforms/win32/plugins/FilePlugin/sqWin32FilePrims.c:1:0: 
warning: stack probing requires -maccumulate-outgoing-args for correctness
  /****************************************************************************
  ^
In file included from /usr/include/w32api/windows.h:72:0,
                  from 
../../../../platforms/win32/plugins/FilePlugin/sqWin32FilePrims.c:22:
/usr/include/w32api/winuser.h:2168:3: warning: ‘dllimport’ attribute 
ignored [-Wattributes]
    WINUSERAPI WINBOOL WINAPI UpdateLayeredWindowIndirect (HWND hWnd, 
const UPDATELAYEREDWINDOWINFO *pULWInfo);
    ^
../../../../platforms/win32/plugins/FilePlugin/sqWin32FilePrims.c: In 
function ‘sqFileSync’:
../../../../platforms/win32/plugins/FilePlugin/sqWin32FilePrims.c:305:22: error: 
expected expression before ‘SQFile’
    return sqFileFlush(SQFile *f);
                       ^
../../Makefile.plugin:164: recipe for target 'sqWin32FilePrims.o' failed
make[1]: *** [sqWin32FilePrims.o] Error 1


On 10/9/2015 8:30 AM, marcel.taeumel wrote:
> Hi Henry,
>
> here is how it works with GCC 4.9.2 using only the SVN C sources (i.e. w/o
> having to run VM-Maker):
>
> 1. Install latest Cygwin.
> 2. Load all requried mingw64-i686-* packages (binutils, gcc-g++, runtime
> should be enough)
> 3. Check-out latest cog sources.
> 4. Adapt the particular Makefile (e.g.
> C:\Tools\cogvm_cygwin\build.win32x86\squeak.cog.spur\Markfile) to find the
> tools with the "mingw64-i686*" prefix. Do it also with the "Makefile.plugin"
> file.
> 5. Fix some build-in bee-5.patch
> <http://forum.world.st/file/n4854700/bee-5.patch>   flags that do not work
> with GCC 4 anymore. (see attached patch file).
> 6. Open Cygwin and run "./mvm"
>
> Please find attached a patch to update the Windows build files. We will
> integrate it into the SVN soon.
>
> Best,
> Marcel
>
>
>
> --
> View this message in context: http://forum.world.st/vm-build-environment-on-windows-tp4854659p4854700.html
> Sent from the Squeak - Dev mailing list archive at Nabble.com.
>



More information about the Squeak-dev mailing list