[Pharo-dev] Building VM on windows: lining problem

phil at highoctane.be phil at highoctane.be
Tue Nov 19 05:01:09 EST 2013


I've been moving forward with building the VM for Windows from the GitHub
sources with MinGW.

Now, to get the thing to compile, I had to replace the oft_t things by
_oft_t, same for the 64 flavor.

So, modifiying two header files, one being mingw.h where I put #define
oft_t _oft_t at the end.

This did the trick and I now have all plugins/dlls building fine:

FT2Plugin.dll
libcairo-2.dll
libeay32.dll
libfreetype-6.dll
libfreetype.dll.a
libFT2Plugin.dll.a
libpixman-1-0.dll
libpng-3.dll
libSqueakFFIPrims.dll.a
libSqueakSSL.dll.a
SqueakFFIPrims.dll
SqueakSSL.dll
ssleay32.dll
zlib1.dll

are in results/

Also, to get there, one has to create a vmVersionInfo.h file in
platforms\Cross\vm with something in the REVISION_STRING

#define REVISION_STRING "Pharo VM - Philippe Back from GitHub Sources
20131119"

I wonder why this isn't something automagically generated in the process as
it seems that the CI build has something.

The last step is getting Pharo.exe to link but this doesn't work:

Linking C executable
/C/MinGW/msys/1.0/home/Philippe/pharo-vm/results/Pharo.exe
c:/mingw/bin/../lib/gcc/mingw32/4.8.1/../../../../mingw32/bin/ld.exe:
cannot fin
d -lcrtdll
collect2.exe: error: ld returned 1 exit status
make[2]: *** [C:/MinGW/msys/1.0/home/Philippe/pharo-vm/results/Pharo.exe]
Error
1
make[1]: *** [CMakeFiles/Pharo.dir/all] Error 2
make: *** [all] Error 2


Looks like a library path is wrong or else.

Idea?

Also, there are quite a number of warnings spit out during the compiling
process all over the place, more than the Mac VM build I think.

e.g.

[ 92%] Building C object
CMakeFiles/Pharo.dir/C_/MinGW/msys/1.0/home/Philippe/ph
aro-vm/platforms/win32/vm/sqWin32Prefs.c.obj
In file included from
C:/MinGW/msys/1.0/home/Philippe/pharo-vm/platforms/Cross/v
m/sq.h:193:0,
                 from
c:/MinGW/msys/1.0/home/Philippe/pharo-vm/platforms/win32/v
m/sqWin32Prefs.c:20:
C:/MinGW/msys/1.0/home/Philippe/pharo-vm/platforms/win32/vm/sqPlatformSpecific.h
:52:0: warning: "VM_EXPORT" redefined [enabled by default]
 #  define VM_EXPORT __declspec( dllexport )
 ^
In file included from
c:/MinGW/msys/1.0/home/Philippe/pharo-vm/platforms/win32/v
m/sqWin32Prefs.c:20:0:
C:/MinGW/msys/1.0/home/Philippe/pharo-vm/platforms/Cross/vm/sq.h:48:0:
note: thi
s is the location of the previous definition
 #define VM_EXPORT
 ^
[ 93%] Building C object
CMakeFiles/Pharo.dir/C_/MinGW/msys/1.0/home/Philippe/ph
aro-vm/platforms/win32/vm/sqWin32Utils.c.obj
In file included from
C:/MinGW/msys/1.0/home/Philippe/pharo-vm/platforms/Cross/v
m/sq.h:193:0,
                 from
c:/MinGW/msys/1.0/home/Philippe/pharo-vm/platforms/win32/v
m/sqWin32Utils.c:14:
C:/MinGW/msys/1.0/home/Philippe/pharo-vm/platforms/win32/vm/sqPlatformSpecific.h
:52:0: warning: "VM_EXPORT" redefined [enabled by default]
 #  define VM_EXPORT __declspec( dllexport )
 ^
In file included from
c:/MinGW/msys/1.0/home/Philippe/pharo-vm/platforms/win32/v
m/sqWin32Utils.c:14:0:
C:/MinGW/msys/1.0/home/Philippe/pharo-vm/platforms/Cross/vm/sq.h:48:0:
note: thi
s is the location of the previous definition
 #define VM_EXPORT

Phil
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.pharo.org/pipermail/pharo-dev_lists.pharo.org/attachments/20131119/41c4afcd/attachment-0002.html>


More information about the Pharo-dev mailing list