[Vm-dev] "make debug" target for building Cog VM fails in Windows using latest Cygwin

oslsachem oslsachem at gmail.com
Tue Dec 30 02:06:45 UTC 2014


I have tried to build the Cog VM in an athlon-xp using revision 3164.

I have used the latest release of Cygwin to build the Cog VM as indicated in:

http://www.squeakvm.org/svn/squeak/branches/Cog/build.win32x86/HowToBuild

This requires adjustments to the switches in the makefiles (removal of
-mno-cygwin) and specifying the paths to use the MinGW toolchain
binaries to avoid the dependency of the resulting binaries on Cygwin
dlls (cygwin1.dll, cyggcc_s-1.dll).

This is because seemingly, GCC 4.7.0 and later have finally removed
the deprecated -mno-cygwin option:

"gcc: error: unrecognized command line option '-mno-cygwin'"

Besides, I have had to downgrade the default binutils version to
binutils-2.21.1 because windres apparently has a bug:

"i686-pc-mingw32-windres: unexpected version string length 68 != 32 + 8"

I have attached a patch with the modifications I have had to make to
the makefiles just for reference (CygwinTuning.patch).


The (./mvm) script or more specifically (make debug) doesn't run
successfully  in Cygwin:

[...]

../../src/vm/gcc3x-cointerp.c:9081:1: error: conflicting types for
'cmHomeMethod'
../../src/vm/gcc3x-cointerp.c:386:20: note: previous declaration of
'cmHomeMethod' was here
../../src/vm/gcc3x-cointerp.c:9092:1: error: conflicting types for
'activateCoggedNewMethod'
../../src/vm/gcc3x-cointerp.c:387:13: note: previous declaration of
'activateCoggedNewMethod' was here
../../src/vm/gcc3x-cointerp.c:9330:1: error: conflicting types for
'addNewMethodToCache'
../../src/vm/gcc3x-cointerp.c:389:13: note: previous declaration of
'addNewMethodToCache' was here

[...]

This is probably due to the appearance of the problem with
NoDbgRegParms that is mentioned at:

http://lists.squeakfoundation.org/pipermail/vm-dev/2014-November/016948.html

I have attached the log of the failed build of the VM for debugging (LOGD).

On the other hand, (make product) builds successfully.

And using a standalone MinGW/MSYS environment (without Cygwin) avoids
this problem altogether.

Greetings,
    Osl
-------------- next part --------------
A non-text attachment was scrubbed...
Name: CygwinTuning.patch
Type: application/octet-stream
Size: 7141 bytes
Desc: not available
Url : http://lists.squeakfoundation.org/pipermail/vm-dev/attachments/20141230/8f65e0bf/CygwinTuning-0001.obj
-------------- next part --------------
A non-text attachment was scrubbed...
Name: LOGD
Type: application/octet-stream
Size: 87204 bytes
Desc: not available
Url : http://lists.squeakfoundation.org/pipermail/vm-dev/attachments/20141230/8f65e0bf/LOGD-0001.obj


More information about the Vm-dev mailing list