<html dir="ltr">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1256">
<style id="owaParaStyle">P {
        MARGIN-BOTTOM: 0px; MARGIN-TOP: 0px
}
P {
        MARGIN-BOTTOM: 0px; MARGIN-TOP: 0px
}
</style>
</head>
<body fPStyle="1" ocsi="0">
<div style="direction: ltr;font-family: Tahoma;color: #000000;font-size: 10pt;">
<p> </p>
<p>I previously found an issue in mingw/include/ddk/ntapi.h</p>
<div style="FONT-SIZE: 16px; FONT-FAMILY: Times New Roman; COLOR: #000000">
<div>
<div style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma; COLOR: #000000; DIRECTION: ltr">
<p><br>
/* FIXME: Unknown definitions */</p>
<p><br>
typedef PVOID POBJECT_TYPE_LIST;</p>
<p>typedef PVOID PEXECUTION_STATE;</p>
<p>typedef PVOID PLANGID;</p>
<p><br>
commenting out as follows:</p>
<p><br>
/* FIXME: Unknown definitions */</p>
<p><br>
typedef PVOID POBJECT_TYPE_LIST;</p>
<p>//typedef PVOID PEXECUTION_STATE;</p>
<p>typedef PVOID PLANGID;</p>
<p> </p>
<p>Is this a problem for Cygwin or ming?<br>
----------------------------------------------<br>
went back to the mono directory and</p>
<p>did make clean<br>
followed by make</p>
<p>It looks like a mingw header problem not mono as I thought. It would seem like everyone should hit this now that mono must use mingw to do cygwin build. I guess this has to be fixed by mingw.</p>
<p> </p>
<p>-------------------------------------------------------------------------------------------------------------------</p>
<p> </p>
<p>Unfortunately build does not complete. There is more. Next stop is here. Why is atomic.c even here? I think somehow configure is setting up the makefile wrong.</p>
<p> </p>
<p>ogc.a -L../../eglib/src /usr/src/mono/eglib/src/.libs/libeglib.a -lws2_32 -lpsap<br>
i -lole32 -lwinmm -loleaut32 -ladvapi32 -lversion<br>
../utils/.libs/libmonoutils.a(atomic.o): In function `InterlockedCompareExchange<br>
64':<br>
/usr/src/mono/mono/utils/atomic.c:240: undefined reference to `_imp__pthread_mut<br>
ex_lock'<br>
/usr/src/mono/mono/utils/atomic.c:246: undefined reference to `_imp__pthread_mut<br>
ex_unlock'<br>
collect2: error: ld returned 1 exit status<br>
Reaping losing child 0x8029f118 PID 6776<br>
Makefile:1243: recipe for target `pedump.exe' failed<br>
make[3]: *** [pedump.exe] Error 1<br>
Removing child 0x8029f118 PID 6776 from chain.<br>
make[3]: Leaving directory `/usr/src/mono/mono/metadata'<br>
Reaping losing child 0x800652c0 PID 8344<br>
Makefile:429: recipe for target `all-recursive' failed<br>
make[2]: *** [all-recursive] Error 1<br>
Removing child 0x800652c0 PID 8344 from chain.<br>
make[2]: Leaving directory `/usr/src/mono/mono'<br>
Reaping losing child 0x80060de8 PID 8968<br>
Makefile:510: recipe for target `all-recursive' failed<br>
make[1]: *** [all-recursive] Error 1<br>
Removing child 0x80060de8 PID 8968 from chain.<br>
make[1]: Leaving directory `/usr/src/mono'<br>
Reaping losing child 0x80088b28 PID 8692<br>
Makefile:437: recipe for target `all' failed<br>
make: *** [all] Error 2<br>
Removing child 0x80088b28 PID 8692 from chain.</p>
<p> </p>
<p>grep tells me this really is not defined</p>
<p> </p>
<p>me<a href="mailto:me@My-PC" target="_blank">@My-PC</a> /usr/src/mono<br>
$ grep -rl _imp__pthread_mutex_unlock .<br>
./mono/utils/.libs/atomic.o<br>
./mono/utils/.libs/libmonoutils.a<br>
./mono/utils/atomic.o</p>
<p> </p>
<p> </p>
<p>So looking at atomic.c</p>
<p> </p>
<p>#if defined (TARGET_MACH) && defined (TARGET_ARM) && (defined(__ARM_ARCH_7__) || defined(__ARM_ARCH_7A__) || defined(__ARM_ARCH_7S__))</p>
<p>gint64 InterlockedCompareExchange64(volatile gint64 *dest, gint64 exch, gint64 comp)  __attribute__ ((naked));</p>
<p>gint64<br>
InterlockedCompareExchange64(volatile gint64 *dest, gint64 exch, gint64 comp)<br>
{<br>
 __asm__ (<br>
 "push {r4, r5, r6, r7}\n"<br>
 "ldr r4, [sp, #16]\n"<br>
 "dmb\n"<br>
"1:\n"<br>
 "ldrexd r6, r7, [r0]\n"<br>
 "cmp r7, r4\n"<br>
 "bne 2f\n"<br>
 "cmp r6, r3\n"<br>
 "bne 2f\n"<br>
 "strexd r5, r1, r2, [r0]\n"<br>
 "cmp r5, #0\n"<br>
 "bne 1b\n"<br>
"2:\n"<br>
 "dmb\n"<br>
 "mov r0, r6\n"<br>
 "mov r1, r7\n"<br>
 "pop {r4, r5, r6, r7}\n"<br>
 "bx lr\n"<br>
 );<br>
}</p>
<p>#else</p>
<p>gint64<br>
InterlockedCompareExchange64(volatile gint64 *dest, gint64 exch, gint64 comp)<br>
{<br>
 gint64 old;</p>
<p> pthread_mutex_lock (&spin);</p>
<p> old = *dest;<br>
 if(old == comp)<br>
  *dest = exch;</p>
<p> pthread_mutex_unlock (&spin);<br>
 return old;<br>
}</p>
<p> </p>
<p><br>
 </p>
<p>Windows has interlocked operations. The if statement does not seem to be relevant to windows, neither option is correct for windows, I don't believe it should be building this file on windows and intel hardware. This all built fine a couple of months ago
 and it builds fine on Centos 6.4 but then Centos has pthreads.<br>
</p>
<div style="FONT-SIZE: 16px; FONT-FAMILY: Times New Roman; COLOR: #000000">
<hr tabindex="-1">
<div id="divRpF475787" style="DIRECTION: ltr"><font color="#000000" size="2" face="Tahoma"><b>From:</b> Zoltan Varga [vargaz@gmail.com]<br>
<b>Sent:</b> Tuesday, September 03, 2013 11:45 PM<br>
<b>To:</b> Mark Lintner<br>
<b>Cc:</b> mono-devel<br>
<b>Subject:</b> Re: [Mono-dev] mono from git will not build on cygwin 32<br>
</font><br>
</div>
<div></div>
<div>
<div dir="ltr">Hi,
<div><br>
</div>
<div>  Try running with make V=1, that will print more information.</div>
<div><br>
</div>
<div>           Zoltan</div>
</div>
<div class="gmail_extra"><br>
<br>
<div class="gmail_quote">On Wed, Sep 4, 2013 at 6:05 AM, mlgo <span dir="ltr"><<a href="mailto:mlintner@sinenomine.net" target="_blank">mlintner@sinenomine.net</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="PADDING-LEFT: 1ex; MARGIN: 0px 0px 0px 0.8ex; BORDER-LEFT: #ccc 1px solid">
I updated Cygwin and now it no longer supports compilation of mono with gcc.<br>
There is no way to backlevel it. I found Zoltan's suggestion to use this<br>
configure statement:<br>
<br>
"Hi,<br>
<br>
  mono master can be built on windows using the mingw cross-compiler gcc,<br>
i.e. install the mingw-gcc package, and configure using:<br>
<br>
./autogen.sh --host=i686-pc-mingw32<br>
                  Zoltan"<br>
<br>
<br>
I'm using mono from git. Cygwin has all the recommended packages and I did<br>
not install the gcc-g++ but installed all mingw packages.  The build now<br>
always stops here. I have reinstalled Cygwin several times and pulled a new<br>
mono each time. I'm wondering now since there is a 64 bit Cygwin and a I<br>
have 64 bit machine should I be configuring with mingw64 or something.<br>
However I had the old Cygwin environment down to a science and now I'm<br>
crippled again. Has anybody seen this yet. This seems like something<br>
configure is failing to generate properly to map ming types to mono types.<br>
Zoltan will know what to do about this if anybody. It doesn't seem like it<br>
could be a bug in ming.<br>
<br>
al':<br>
process.c:912:3: warning: passing argument 1 of 'EnumProcesses' from<br>
incompatibl<br>
e pointer type [enabled by default]<br>
In file included from ../../mono/io-layer/io-layer.h:34:0,<br>
                 from ../../mono/metadata/domain-internals.h:15,<br>
                 from ../../mono/metadata/metadata-internals.h:8,<br>
                 from ../../mono/metadata/class-internals.h:10,<br>
                 from ../../mono/metadata/object-internals.h:8,<br>
                 from process.c:16:<br>
/usr/i686-pc-mingw32/sys-root/mingw/include/psapi.h:108:13: note: expected<br>
'DWOR<br>
D *' but argument is of type 'guint32 *'<br>
Makefile:2221: recipe for target `libmonoruntime_la-process.lo' failed<br>
make[3]: *** [libmonoruntime_la-process.lo] Error 1<br>
make[3]: Leaving directory `/usr/src/mono/mono/metadata'<br>
Makefile:429: recipe for target `all-recursive' failed<br>
make[2]: *** [all-recursive] Error 1<br>
make[2]: Leaving directory `/usr/src/mono/mono'<br>
Makefile:510: recipe for target `all-recursive' failed<br>
make[1]: *** [all-recursive] Error 1<br>
make[1]: Leaving directory `/usr/src/mono'<br>
Makefile:437: recipe for target `all' failed<br>
make: *** [all] Error 2<br>
<br>
<br>
<br>
--<br>
View this message in context: <a href="http://mono.1490590.n4.nabble.com/mono-from-git-will-not-build-on-cygwin-32-tp4660749.html" target="_blank">
http://mono.1490590.n4.nabble.com/mono-from-git-will-not-build-on-cygwin-32-tp4660749.html</a><br>
Sent from the Mono - Dev mailing list archive at Nabble.com.<br>
_______________________________________________<br>
Mono-devel-list mailing list<br>
<a href="mailto:Mono-devel-list@lists.ximian.com" target="_blank">Mono-devel-list@lists.ximian.com</a><br>
<a href="http://lists.ximian.com/mailman/listinfo/mono-devel-list" target="_blank">http://lists.ximian.com/mailman/listinfo/mono-devel-list</a><br>
</blockquote>
</div>
<br>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</body>
</html>