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

phil at highoctane.be phil at highoctane.be
Tue Nov 19 13:12:24 UTC 2013


I did a full fresh clone of the repo and now, there is a cairo issue I
hadn't before:

checking for cairo's PNG functions feature...
configure: WARNING: Could not find libpng in the pkg-config search path
checking whether cairo's PNG functions feature could be enabled... no
configure: error: recommended PNG functions feature could not be enabled
make[3]: *** [thirdparty/out/bin/libcairo-2.dll] Error 1
make[2]: *** [thirdParty/cairo/CMakeFiles/cairo.dir/all] Error 2
make[1]: *** [thirdParty/cairo/CMakeFiles/cairo.dir/rule] Error 2
make: *** [cairo] Error 2

Looks like the build stuff is quite f*kced up on a 64-bit Windows 8 OS and
current MinGW.

Phil


On Tue, Nov 19, 2013 at 11:20 AM, Camillo Bruni <camillobruni at gmail.com>wrote:

>
> ok, you just discovered a minor mess... onto fixing it quickly..
>
> On 2013-11-19, at 11:16, phil at highoctane.be wrote:
>
> > I found why the vmVersionInfo.h isn't there...
> >
> > build.sh contains:
> >
> > #!bash
> >
> > if [ ! -e vmVersionInfo.h ]; then
> >       ../codegen-scripts/extract-commit-info.sh
> > fi
> > cmake -G "MSYS Makefiles" .
> > make
> >
> >
> > and ../codegen-scripts/extract-commit-info.sh is nowhere to be found
> from the git clone...
> >
> > It lives in scripts/
> >
> > Phil
> >
> >
> >
> >
> > On Tue, Nov 19, 2013 at 11:01 AM, phil at highoctane.be <phil at highoctane.be>
> wrote:
> > 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.squeakfoundation.org/pipermail/vm-dev/attachments/20131119/e63ee445/attachment.htm


More information about the Vm-dev mailing list