<?xml version="1.0"?>
<rss version="2.0">
	<channel>
		<title>Allegro Guide: Building on Windows with MSYS2 and Mingw-w64</title>
		<link>http://www.allegro.cc/forums/view/614242</link>
		<description>Allegro.cc Forum Thread</description>
		<webMaster>matthew@allegro.cc (Matthew Leverton)</webMaster>
		<lastBuildDate>Thu, 15 May 2014 14:29:39 +0000</lastBuildDate>
	</channel>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Hello there a.cc community.</p><p>Thanks to the fine Elias, there is <b>finally</b> a guide to compile Allegro from sources on Windows using the MSYS2 shell and a recent mingw-w64 gcc.</p><p>You can find that on the wiki <a href="http://wiki.allegro.cc/index.php?title=Building_with_msys2">here</a>.</p><p>This should be a very QUICK (and easy?) method to get allegro built on Windows, that seems oh-so-much-needed</p><p>Please if anybody interested can peer-review and give feedback, that would be great.</p><p>NOW, I&#39;m definitely boiled...g&#39;nite everyone.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (pkrcel)</author>
		<pubDate>Mon, 12 May 2014 03:00:17 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Wow, msys2 uses a port of pacman? That&#39;s a golden idea. Now installing dev packages on Windows will be as easy as it is on Linux! <img src="http://www.allegro.cc/forums/smileys/smiley.gif" alt=":)" />
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (beoran)</author>
		<pubDate>Mon, 12 May 2014 10:24:08 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><div class="quote_container"><div class="title"><a href="https://www.allegro.cc/forums/thread/614232/1000605#target">me in the other thread</a> said:</div><div class="quote"><p>
I haven&#39;t changed the final cmake command even thou it is QUITE different to the one I use myself, mostly because I actually build allegro through QtCreator IDE and so some bits differ (namely it uses MinGW Makefiles)</p><p>Anyway my cmake command if ran from the MSYS2 prompt <b>should</b> look like:</p><pre>
cmake \
	-G&quot;MSYS Makefiles&quot; \
	-DCMAKE_SYSTEM_PREFIX_PATH=/mingw64/x86_64-w64-mingw32/
	-DWANT_MONOLITH=on \
	-DSHARED=off \
	../allegro
</pre><p>
</p></div></div><p>

I have to confirm this, as I tried in a new MSYS2 and the command proposed by Elias does not work for me, while this proposed one does.</p><p>I&#39;ll edit the wiki but it would be nice for an outsider to test it on a clean slate <img src="http://www.allegro.cc/forums/smileys/grin.gif" alt=";D" /> <img src="http://www.allegro.cc/forums/smileys/grin.gif" alt=";D" /> <img src="http://www.allegro.cc/forums/smileys/grin.gif" alt=";D" /> </p><p>I thikn I&#39;ll steal also some info on git and build options from Siegelord&#39;s guide, <img src="http://www.allegro.cc/forums/smileys/tongue.gif" alt=":P" /></p><div class="quote_container"><div class="title"><a href="http://www.allegro.cc/forums/thread/614242/1000620#target">beoran</a> said:</div><div class="quote"><p> Wow, msys2 uses a port of pacman? That&#39;s a golden idea. Now installing dev packages on Windows will be as easy as it is on Linux!</p></div></div><p>You wish! anyway it&#39;s quite <i>manageable</i> do write down your build recipe (PKGBUILD), I know I did this for the Freetype library when the &#39;stock&#39; one used harfbuzz and a bunch of other things...
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (pkrcel)</author>
		<pubDate>Mon, 12 May 2014 14:17:54 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>No, change to yours, and I&#39;ll try it next time I&#39;m in windows. I didn&#39;t install the mingw64 tool chain I think, but instead had some msys2 packages, so that may explain. What error did you get?
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Elias)</author>
		<pubDate>Mon, 12 May 2014 14:53:44 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>I tried it and got this
</p><pre>
pepsi@microcrap ~
$ pacman -S mingw-w64-x86_64-theora
error: target not found: mingw-w64-x86_64-theora
</pre><p>
so I googled just a few seconds and tried &#39;mingw-w64-x86_64-libtheora&#39; and it said something about SDL! <img src="http://www.allegro.cc/forums/smileys/shocked.gif" alt=":o" />
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Arthur Kalliokoski)</author>
		<pubDate>Mon, 12 May 2014 16:30:14 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>That&#39;s because the Theora example program is based on SDL 1.2 and that is by default inclided in the libteoradec package.</p><p><img src="http://www.allegro.cc/forums/smileys/rolleyes.gif" alt="::)" /></p><div class="quote_container"><div class="title"><a href="http://www.allegro.cc/forums/thread/614242/1000626#target">Elias</a> said:</div><div class="quote"><p> What error did you get? </p></div></div><p>It didn&#39;t find DINPUT, and that has been as always...there&#39;s also a thread buired somewhere on a.cc....
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (pkrcel)</author>
		<pubDate>Mon, 12 May 2014 18:30:07 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><div class="quote_container"><div class="title"><a href="http://www.allegro.cc/forums/thread/614242/1000646#target">pkrcel</a> said:</div><div class="quote"><p> That&#39;s because the Theora example program is based on SDL 1.2 and that is by default inclided in the libteoradec package.</p></div></div><p>So the wiki should be changed to say &quot;pacman -S mingw-w64-x86_64-libtheora&quot;?
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Arthur Kalliokoski)</author>
		<pubDate>Tue, 13 May 2014 00:06:58 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>It should, yes <img src="http://www.allegro.cc/forums/smileys/grin.gif" alt=";D" /> , ehm whoopsie.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (pkrcel)</author>
		<pubDate>Tue, 13 May 2014 00:24:01 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><div class="quote_container"><div class="title"><a href="http://www.allegro.cc/forums/thread/614242/1000646#target">pkrcel</a> said:</div><div class="quote"><p>It didn&#39;t find DINPUT</p></div></div><p>

That&#39;s why I had the library path in mine, but I might have had a different win32api package? For me it is in /usr/lib/w32api/libdinput.a.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Elias)</author>
		<pubDate>Tue, 13 May 2014 01:04:28 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>It <b>might</b> depend on your compiler, all mingw builds flavors have different layouts depending on the &quot;target&quot;.</p><p>TDM-gcc for example didn&#39;t need ANY hint to cmake to find DINPUT, when I tried it.</p><p>EDIT: I might add, <tt>libdinput.a</tt> is in <b><tt>/mingw64/x86_64-w64-mingw32/</tt></b> in the MSYS2 compiled toolchain I used for the wiki.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (pkrcel)</author>
		<pubDate>Tue, 13 May 2014 11:59:40 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><div class="quote_container"><div class="title">The wiki guide said:</div><div class="quote"><p>
    IMPORTANT NOTE: if you intend to use the 32-bit version of MinGW-gcc, you need to susbstitute EACH occurrence of &#39;x86_64&#39; in the following instructions with &#39;i686&#39; </p><p>Then, we need our compiler, binutils and all the stuff that come with gcc...</p><p> pacman -S mingw-w64-x86_64-toolchain
</p></div></div><p>
So I should use mingw-w64-i686-toolchain instead? Why is it w64? I installed the 32 bit version of MSYS2. Should I use something else instead?
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Edgar Reynaldo)</author>
		<pubDate>Wed, 14 May 2014 10:07:29 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>That&#39;s perfectly okay Edgar, you can use 32bits version of of MSYS and that should download the right toolchain as far as I am aware. </p><p>Mingw-w64 is so called to distingiush it from the &quot;original&quot; mingw from which it is clearly separated for all the good reasons (developers diverging for some reason).</p><p>The &#39;w64&#39; should not scare you out, that CRT is perfectly tuned for a native 32-bit system, whichi is mingw32 in all cases <img src="http://www.allegro.cc/forums/smileys/tongue.gif" alt=":P" /></p><p>In fact the &#39;<tt>-dumpmachine</tt>&#39; for the two gcc is:</p><pre>
$ gcc -dumpmachine
x86_64-w64-mingw32
</pre><p>

for the 64-bit flavor of gcc and</p><pre>
$ gcc -dumpmachine
i686-w64-mingw32
</pre><p>

for the 32-bit one.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (pkrcel)</author>
		<pubDate>Wed, 14 May 2014 13:17:20 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Okay, got everything installed, but haven&#39;t built allegro yet with MSYS2. Installation of all those packages was a breeze!</p><p>How do I search for a package with pacman?</p><p>Also, cmake worked fine in MSYS2 but mingw32-make does not, and make is not installed. Here&#39;s the error (It&#39;s searching for the other cmake I have installed outside of MSYS for some reason) :
</p><div class="quote_container"><div class="title">Quote:</div><div class="quote"><p>
Edgar@GatewayM ~/a5git/allegro/build<br />$ mingw32-make<br />process_begin: CreateProcess(NULL, /C/downloads/Programming/CompilingTools/CMake2.8.12/bin/cmake.exe -H/C/MSYS2/msys32/home/Edgar/a5git/allegro -B/C/MSYS2/msys32/home/Edgar/a5git/allegro/build --check-build-system CMakeFiles/Makefile.cmake 0, ...) failed.<br />make (e=3): The system cannot find the path specified.<br />mingw32-make: *** [cmake_check_build_system] Error 3
</p></div></div><p>
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Edgar Reynaldo)</author>
		<pubDate>Thu, 15 May 2014 10:49:36 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><div class="quote_container"><div class="title"><a href="http://www.allegro.cc/forums/thread/614242/1000772#target">Edgar Reynaldo</a> said:</div><div class="quote"><p> How do I search for a package with pacman?</p></div></div><p>Try the regex expression Search
</p><pre>
pacman -Ss &lt;regex&gt;
</pre><p>

for example
</p><pre>
$ pacman -Ss theora
mingw32/mingw-w64-i686-libtheora 1.1.1-1 [installato]
    An open video codec developed by the Xiph.org (mingw-w64)
mingw64/mingw-w64-x86_64-libtheora 1.1.1-1 [installato]
    An open video codec developed by the Xiph.org (mingw-w64)
</pre><p>

while, to search for GROUPS you do 
</p><pre>
pacman -Sg
</pre><p>

and to look the packages in a specific GROUP
</p><pre>
pacman -Sg &lt;groupname&gt;
</pre><p>

for example:
</p><pre>
$ pacman -Sg VCS
VCS git
VCS mercurial
VCS subversion
</pre><p>




</p><div class="quote_container"><div class="title">Quote:</div><div class="quote"><p> Also, cmake worked fine in MSYS2 but mingw32-make does not</p></div></div><p>That is okay, since you have to run native MSYS2 make, mingw32-make would not work.</p><p>it&#39;s strange make is not installed, it SHOULD have been in the mingw-w64-&lt;arch&gt;-toolchain.</p><p>In mine:
</p><pre>
$ pacman -Sg mingw-w64-x86_64-toolchain
mingw-w64-x86_64-toolchain mingw-w64-x86_64-binutils
mingw-w64-x86_64-toolchain mingw-w64-x86_64-crt-svn
mingw-w64-x86_64-toolchain mingw-w64-x86_64-gcc
mingw-w64-x86_64-toolchain mingw-w64-x86_64-gcc-ada
mingw-w64-x86_64-toolchain mingw-w64-x86_64-gcc-fortran
mingw-w64-x86_64-toolchain mingw-w64-x86_64-gcc-libgfortran
mingw-w64-x86_64-toolchain mingw-w64-x86_64-gcc-libs
mingw-w64-x86_64-toolchain mingw-w64-x86_64-gcc-objc
mingw-w64-x86_64-toolchain mingw-w64-x86_64-gdb
mingw-w64-x86_64-toolchain mingw-w64-x86_64-headers-svn
mingw-w64-x86_64-toolchain mingw-w64-x86_64-libmangle-svn
mingw-w64-x86_64-toolchain mingw-w64-x86_64-libwinpthread-svn
** mingw-w64-x86_64-toolchain mingw-w64-x86_64-make **
mingw-w64-x86_64-toolchain mingw-w64-x86_64-tools-svn
mingw-w64-x86_64-toolchain mingw-w64-x86_64-winpthreads-svn
</pre><p>

and</p><pre>
$ pacman -Sg mingw-w64-i686-toolchain
mingw-w64-i686-toolchain mingw-w64-i686-binutils
mingw-w64-i686-toolchain mingw-w64-i686-crt-svn
mingw-w64-i686-toolchain mingw-w64-i686-gcc
mingw-w64-i686-toolchain mingw-w64-i686-gcc-ada
mingw-w64-i686-toolchain mingw-w64-i686-gcc-fortran
mingw-w64-i686-toolchain mingw-w64-i686-gcc-libgfortran
mingw-w64-i686-toolchain mingw-w64-i686-gcc-libs
mingw-w64-i686-toolchain mingw-w64-i686-gcc-objc
mingw-w64-i686-toolchain mingw-w64-i686-gdb
mingw-w64-i686-toolchain mingw-w64-i686-headers-svn
mingw-w64-i686-toolchain mingw-w64-i686-libmangle-svn
mingw-w64-i686-toolchain mingw-w64-i686-libwinpthread-svn
** mingw-w64-i686-toolchain mingw-w64-i686-make **
mingw-w64-i686-toolchain mingw-w64-i686-tools-svn
mingw-w64-i686-toolchain mingw-w64-i686-winpthreads-svn
</pre><p>

(emphasis mine)</p><p>Try to look for make and in case just &#39;<tt>pacman -S</tt>&#39; it, worse can happen is asking you to reinstall the same package.</p><p>&quot;native&quot; MSYS2 make should look into MSYS2 PATH that should contain your cmake-git.</p><p>Care that you have to pass &#39;*<tt>-G&quot;MSYS Makefiles&quot;</tt>*&#39; to cmake and NOT MinGW, thou cmake itslef should warn you about that having &#39;<tt>sh</tt>&#39; in your PATH.</p><p>EDIT(s): tried to straightn up vertical spacing...unsuccessfully <img src="http://www.allegro.cc/forums/smileys/sad.gif" alt=":(" />
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (pkrcel)</author>
		<pubDate>Thu, 15 May 2014 11:38:11 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>I installed mingw-w64-i686-make again but it still says</p><p>-bash: make: command not found</p><p>Is it called something else?</p><p>And just for comparison I just got done manually downloading mingw 4.8.1-4 and it took me like an hour to get everything downloaded and unpacked where I spent like 10 minutes on MSYS2 and I still don&#39;t have the dependencies for allegro downloaded and built with mingw 4.8.1 yet. That will probably take like another couple hours at least. <img src="http://www.allegro.cc/forums/smileys/tongue.gif" alt=":P" /></p><p>Edit<br />It&#39;s installed alright :
</p><pre>
$ pacman -Ss make
...
mingw32/mingw-w64-i686-make 4.0.2289.432cb65-1 (mingw-w64-i686-toolchain) [installed]
    GNU make utility to maintain groups of programs
...
</pre><p>
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Edgar Reynaldo)</author>
		<pubDate>Thu, 15 May 2014 12:10:07 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Often the mingw make isnt called &quot;make&quot; but &quot;mingw32-make&quot; iirc. it might even be worse with the new msys? maybe it&#39;s called: mingw-w64-i686-make on your setup.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Thomas Fjellstrom)</author>
		<pubDate>Thu, 15 May 2014 12:24:48 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>I think my PATH in MSYS2 is broken somehow, but I don&#39;t know how to fix it. It must be trying to use mingw32-make from c:\mingw instead of /usr/bin, but /usr/bin is first in the PATH in MSYS2, and it tries to run the cmake installed outside of MSYS as well :</p><pre>
$ mingw32-make
process_begin: CreateProcess(NULL, /C/downloads/Programming/CompilingTools/CMake2.8.12/bin/cmake.exe -H/C/MSYS2/msys32/home/Edgar/a5git/allegro -B/C/MSYS2/msys32/home/Edgar/a5git/allegro/build --check-build-system CMakeFiles/Makefile.cmake 0, ...) failed.
make (e=3): The system cannot find the path specified.
mingw32-make: *** [cmake_check_build_system] Error 3
</pre><p>
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Edgar Reynaldo)</author>
		<pubDate>Thu, 15 May 2014 12:46:15 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><div class="quote_container"><div class="title"><a href="http://www.allegro.cc/forums/thread/614242/1000783#target">Thomas Fjellstrom</a> said:</div><div class="quote"><p> Often the mingw make isnt called &quot;make&quot; but &quot;mingw32-make&quot; iirc. it might even be worse with the new msys? maybe it&#39;s called: mingw-w64-i686-make on your setup. </p></div></div><p>It shouldn&#39;t be, it is make on mine:
</p><pre>$ where make
C:\msys2\bin\make.exe</pre><p>

but of course there also is Mingw32-make
</p><pre>$ where mingw32-make
C:\msys2\mingw64\bin\mingw32-make.exe</pre><p>

to be used outside MSYS.</p><div class="quote_container"><div class="title"><a href="http://www.allegro.cc/forums/thread/614242/1000786#target">Edgar Reynaldo</a> said:</div><div class="quote"><p> I think my PATH in MSYS2 is broken somehow</p></div></div><p>That&#39;s the most likely explanation, it could be because you have those in your Windows PATH, thou I am not sure. Could you pls paste the MSYS2 path here?</p><p>also try 
</p><pre>$ which make
</pre><p>

to identify WHICH make it is launching</p><p>In any case DO NOT use mingw32-make as it won&#39;t work...at least AFAIK.</p><p>EDIT: also, which bat file are you using to launch the MSYS2 env?
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (pkrcel)</author>
		<pubDate>Thu, 15 May 2014 13:20:27 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Okay, so I have been starting the msys_shell.bat file - I suppose that was wrong. I started the mingw32 batch file instead, and now it recognizes mingw32-make and doesn&#39;t bork out with the wrong cmake. However it now fails when trying to build allegro because it can&#39;t find FLAC/stream_decoder.h, and it is not in /usr/include - there are only like 4 files in there! Where does MSYS2 keep it&#39;s include files?<br />FLAC is installed, I checked.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Edgar Reynaldo)</author>
		<pubDate>Thu, 15 May 2014 14:03:55 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Are you still using minw32-make? In that case DON&#39;T, you have to use regular &#39;make&#39;.</p><p>The lib, bin and includes are kept in &#39;*<tt>/mingw32/i686-w64-mingw32/</tt>*&#39; but you should have passed that to cmake as &#39;*<tt>-DCMAKE_SYSTEM_PREFIX_PATH:PATH=/mingw32/i686-w64-mingw32/</tt>*&#39; otherwise cmake should have booted you out early.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (pkrcel)</author>
		<pubDate>Thu, 15 May 2014 14:15:57 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>It can&#39;t find make. &#39;where make&#39; comes up empty.</p><p>My old MSYS has make, but MSYS2 does not, even though it says it is installed.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Edgar Reynaldo)</author>
		<pubDate>Thu, 15 May 2014 14:21:46 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Does Windows show any file named &quot;make,exe&quot; in the bin directory?</p><p>Try also <tt>which make</tt></p><p>I now think I got it, would you please try:
</p><pre>pacman -Ss make</pre><p> </p><p>please?</p><p>you have to use MSYS make, while the one in the toolchain is indeed the mingw32-make </p><p>I think the wiki is due updating if so...</p><p>(Late) EDIT: that definitely needs to be updated.</p><p>You have either to install the &#39;<tt>base-devel</tt>&#39; group or simply &#39;<tt>make</tt>&#39; <b>for msys</b> which is..
</p><pre>pacman -S make</pre><p>

(Later) <b>IMPORTANT</b> EDIT:</p><p>I&#39;m testing through it, and I spotted a thing I do not like.</p><p>Seems that GDI+ does not work in MSYS2 (cmake reporting SUPPORT_GDIPLUS - failed), while using this toolchain in QtCreator (meaning i generate the build files externally with a &quot;windows&quot; cmake-git and use MINGW makefiles) works.</p><p>Anybody experiencing the same?</p><p>I should add that mine built anyway because I have both libjpg and libpng (the former NOT passing the test JPEG_COMPILES due to clashing headers), and allegro gets built with all features.</p><p>Still being on windows and having a way to have it work (externally) makes me propend for faulty tests? I&#39;ll look into it but I&#39;m not sure I&#39;m qualified <img src="http://www.allegro.cc/forums/smileys/tongue.gif" alt=":P" /></p><p>(already asleep) EDIT: </p><p>Checked cmakerror.log, and says this:
</p><div class="source-code"><div class="toolbar"><span class="button numbers"><b>#</b></span><span class="button select">Select</span><span class="button expand">Expand</span></div><div class="inner"><span class="number">  1</span>Performing C<span class="k3">+</span><span class="k3">+</span> SOURCE FILE Test SUPPORT_GDIPLUS failed with the following output:
<span class="number">  2</span>Change Dir: C:<span class="k3">/</span>msys64<span class="k3">/</span>home<span class="k3">/</span>utente<span class="k3">/</span>trial<span class="k3">/</span>build<span class="k3">/</span>CMakeFiles<span class="k3">/</span>CMakeTmp
<span class="number">  3</span>
<span class="number">  4</span>Run Build Command:C:<span class="k3">/</span>msys64<span class="k3">/</span>bin<span class="k3">/</span>make.exe <span class="s">"cmTryCompileExec2956396328/fast"</span>
<span class="number">  5</span><span class="k3">/</span>usr<span class="k3">/</span>bin<span class="k3">/</span>make <span class="k3">-</span>f CMakeFiles<span class="k3">/</span>cmTryCompileExec2956396328.dir<span class="k3">/</span>build.make CMakeFiles<span class="k3">/</span>cmTryCompileExec2956396328.dir<span class="k3">/</span>build
<span class="number">  6</span>make<span class="k2">[</span><span class="n">1</span><span class="k2">]</span><span class="k2">:</span> ingresso nella directory <span class="s">"/usr/home/utente/trial/build/CMakeFiles/CMakeTmp"</span>
<span class="number">  7</span><span class="k3">/</span>C<span class="k3">/</span>msys64<span class="k3">/</span>mingw64<span class="k3">/</span>bin<span class="k3">/</span>cmake.exe <span class="k3">-</span>E cmake_progress_report <span class="k3">/</span>C<span class="k3">/</span>msys64<span class="k3">/</span>home<span class="k3">/</span>utente<span class="k3">/</span>trial<span class="k3">/</span>build<span class="k3">/</span>CMakeFiles<span class="k3">/</span>CMakeTmp<span class="k3">/</span>CMakeFiles <span class="n">1</span>
<span class="number">  8</span>Building CXX object CMakeFiles<span class="k3">/</span>cmTryCompileExec2956396328.dir<span class="k3">/</span>src.cxx.obj
<span class="number">  9</span><span class="k3">/</span>C<span class="k3">/</span>msys64<span class="k3">/</span>mingw64<span class="k3">/</span>bin<span class="k3">/</span>g<span class="k3">+</span><span class="k3">+</span>.exe   <span class="k3">-</span>DGDIPLUS_LOWERCASE<span class="k3">=</span><span class="n">0</span> <span class="k3">-</span>W <span class="k3">-</span>Wall <span class="k3">-</span>Wpointer-arith <span class="k3">-</span>DSUPPORT_GDIPLUS <span class="k3">-</span>I<span class="k3">/</span>C<span class="k3">/</span>msys64<span class="k3">/</span>mingw64<span class="k3">/</span>x86_64-w64-mingw32<span class="k3">/</span>include    <span class="k3">-</span>o CMakeFiles<span class="k3">/</span>cmTryCompileExec2956396328.dir<span class="k3">/</span>src.cxx.obj <span class="k3">-</span>c <span class="k3">/</span>C<span class="k3">/</span>msys64<span class="k3">/</span>home<span class="k3">/</span>utente<span class="k3">/</span>trial<span class="k3">/</span>build<span class="k3">/</span>CMakeFiles<span class="k3">/</span>CMakeTmp<span class="k3">/</span>src.cxx
<span class="number"> 10</span>C:<span class="k3">/</span>msys64<span class="k3">/</span>home<span class="k3">/</span>utente<span class="k3">/</span>trial<span class="k3">/</span>build<span class="k3">/</span>CMakeFiles<span class="k3">/</span>CMakeTmp<span class="k3">/</span>src.cxx: In function <span class="s">'int main()'</span><span class="k2">:</span>
<span class="number"> 11</span>C:<span class="k3">/</span>msys64<span class="k3">/</span>home<span class="k3">/</span>utente<span class="k3">/</span>trial<span class="k3">/</span>build<span class="k3">/</span>CMakeFiles<span class="k3">/</span>CMakeTmp<span class="k3">/</span>src.cxx:12:25: warning: unused variable <span class="s">'pf'</span> <span class="k2">[</span><span class="k3">-</span>Wunused-variable<span class="k2">]</span>
<span class="number"> 12</span>                     <span class="k1">int</span> pf <span class="k3">=</span> PixelFormat32bppARGB<span class="k2">;</span>
<span class="number"> 13</span>                         ^
<span class="number"> 14</span>Linking CXX executable cmTryCompileExec2956396328.exe
<span class="number"> 15</span><span class="k3">/</span>C<span class="k3">/</span>msys64<span class="k3">/</span>mingw64<span class="k3">/</span>bin<span class="k3">/</span>g<span class="k3">+</span><span class="k3">+</span>.exe   <span class="k3">-</span>W <span class="k3">-</span>Wall <span class="k3">-</span>Wpointer-arith <span class="k3">-</span>DSUPPORT_GDIPLUS    <span class="s">"CMakeFiles/cmTryCompileExec2956396328.dir/src.cxx.obj"</span>   <span class="k3">-</span>o cmTryCompileExec2956396328.exe <span class="k3">-</span>Wl,<span class="k3">-</span><span class="k3">-</span>out-implib,libcmTryCompileExec2956396328.dll.a <span class="k3">-</span>Wl,<span class="k3">-</span><span class="k3">-</span>major-image-version,<span class="n">0</span>,<span class="k3">-</span><span class="k3">-</span>minor-image-version,<span class="n">0</span>  <span class="k3">/</span>C<span class="k3">/</span>Windows<span class="k3">/</span>System32<span class="k3">/</span>GdiPlus.dll <span class="k3">-</span>lkernel32 <span class="k3">-</span>luser32 <span class="k3">-</span>lgdi32 <span class="k3">-</span>lwinspool <span class="k3">-</span>lshell32 <span class="k3">-</span>lole32 <span class="k3">-</span>loleaut32 <span class="k3">-</span>luuid <span class="k3">-</span>lcomdlg32 <span class="k3">-</span>ladvapi32
<span class="number"> 16</span>collect2.exe: error: ld returned <span class="n">5</span> <a href="http://www.delorie.com/djgpp/doc/libc/libc_298.html" target="_blank">exit</a> status
<span class="number"> 17</span>CMakeFiles<span class="k3">/</span>cmTryCompileExec2956396328.dir<span class="k3">/</span>build.make:91: set di istruzioni per l<span class="s">'obiettivo "cmTryCompileExec2956396328.exe" non riuscito</span>
<span class="number"> 18</span><span class="s">make[1]: *** [cmTryCompileExec2956396328.exe] Errore 1</span>
<span class="number"> 19</span><span class="s">make[1]: uscita dalla directory "/usr/home/utente/trial/build/CMakeFiles/CMakeTmp"</span>
<span class="number"> 20</span><span class="s">Makefile:117: set di istruzioni per l'</span>obiettivo <span class="s">"cmTryCompileExec2956396328/fast"</span> non riuscito
<span class="number"> 21</span>make: <span class="k3">*</span><span class="k3">*</span><span class="k3">*</span> <span class="k2">[</span>cmTryCompileExec2956396328<span class="k3">/</span>fast<span class="k2">]</span> Errore <span class="n">2</span>
<span class="number"> 22</span>
<span class="number"> 23</span>Source file was:
<span class="number"> 24</span>
<span class="number"> 25</span>                <span class="p">#include &lt;windows.h&gt;</span>
<span class="number"> 26</span>                <span class="p">#include &lt;objidl.h&gt;</span>
<span class="number"> 27</span>                <span class="p">#if GDIPLUS_LOWERCASE</span>
<span class="number"> 28</span>                    <span class="p">#include &lt;gdiplus.h&gt;</span>
<span class="number"> 29</span>                <span class="p">#else</span>
<span class="number"> 30</span>                    <span class="p">#include &lt;GdiPlus.h&gt;</span>
<span class="number"> 31</span>                <span class="p">#endif</span>
<span class="number"> 32</span>                <span class="k1">using</span> <span class="k1">namespace</span> Gdiplus<span class="k2">;</span>
<span class="number"> 33</span>                <span class="k1">int</span> main<span class="k2">(</span><span class="k1">void</span><span class="k2">)</span>
<span class="number"> 34</span>                <span class="k2">{</span>
<span class="number"> 35</span>                    <span class="k1">int</span> pf <span class="k3">=</span> PixelFormat32bppARGB<span class="k2">;</span>
<span class="number"> 36</span>                    <span class="k1">return</span> <span class="n">0</span><span class="k2">;</span>
<span class="number"> 37</span>                <span class="k2">}</span>
</div></div><p>

The more sharp-eyed surely have spotted the DREADED:<br /><b><tt>collect2.exe: error: ld returned 5 exit status</tt></b><br />which god knows what really means...usually that the linker ran out of memory....how could that be in THIS case? (!)</p><p>Anyway if I just try to manually compile on the command line that source REGARDLESS of how I define GDIPLUS_LOWERCASE, it compiles and link smoothly.</p><p>The same happens with JPEG_COMPILES test, ld returns exit status 5. I haven&#39;t bothered try out manually compiling, I&#39;m quite sure that a VOID main should not have the linker run out of memory.</p><p>There&#39;s something fishy going on when cmake invokes g++ compiles INSIDE MSYS2...the g++ driver seems not to have this problem.</p><p>Naturally I couldn&#39;t replicate 100% the cmake command line as it is a bit convoluted and HUMANLY impossible, still the g++ driver should invoke ld just as well from the command line, no?</p><p>(Morning glory) EDIT: Cmake 2.8.9 is reported to work fine and has not ld throw a fit on SUPPORT_GDIPLUS, while both cmake (2.8.12.2) and cmake-git packages available on MSYS repos have this quirky behaviour</p><p>I&#39;ll have to sort out this in the wiki...as it stands the current guide &quot;just works&quot; (cmake detects at least libPNG and thus the library and the examples work correctly), but it&#39;s a stupid issue and I&#39;d like to get a way to work around it...</p><p>Also, is there REALLY a bug somewhere? <img src="http://www.allegro.cc/forums/smileys/undecided.gif" alt=":-/" /></p><p>EDITLESS: (this becam a bambam-y wall of text!)</p><p>I tried a very dumb thing, I downloaded the windows version of cmake from cmake.org, and placed it into MSYS2 root directory, and I <tt>pacman -R</tt>&#39;d the MSYS2 cmake package.</p><p>Invoking the &quot;windows&quot; cmake instead of the MSYS one works perfectly, meaning GDIPLUS link test does not puke at me and NOW I think at least I know:</p><p>a) how to suggest a workaround for the guide in the wiki...<br />b) that it&#39;s the MSYS2 compiled cmake which <i>actually</i> has something worng with it.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (pkrcel)</author>
		<pubDate>Thu, 15 May 2014 14:29:39 +0000</pubDate>
	</item>
</rss>
