зеркало из https://github.com/mono/mail-archives.git
216 строки
8.1 KiB
HTML
216 строки
8.1 KiB
HTML
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
|
|
<HTML>
|
|
<HEAD>
|
|
<TITLE> [Mono-bugs] [Bug 621468] New: cross-compile script get confused by phread-win32 semaphore.h
|
|
</TITLE>
|
|
<LINK REL="Index" HREF="index.html" >
|
|
<LINK REL="made" HREF="mailto:mono-bugs%40lists.ximian.com?Subject=%5BMono-bugs%5D%20%5BBug%20621468%5D%20New%3A%20cross-compile%20script%20get%20confused%20by%0A%20phread-win32%20semaphore.h&In-Reply-To=">
|
|
<META NAME="robots" CONTENT="index,nofollow">
|
|
<META http-equiv="Content-Type" content="text/html; charset=us-ascii">
|
|
<LINK REL="Previous" HREF="102080.html">
|
|
<LINK REL="Next" HREF="102082.html">
|
|
</HEAD>
|
|
<BODY BGCOLOR="#ffffff">
|
|
<H1>[Mono-bugs] [Bug 621468] New: cross-compile script get confused by phread-win32 semaphore.h</H1>
|
|
<B>bugzilla_noreply at novell.com</B>
|
|
<A HREF="mailto:mono-bugs%40lists.ximian.com?Subject=%5BMono-bugs%5D%20%5BBug%20621468%5D%20New%3A%20cross-compile%20script%20get%20confused%20by%0A%20phread-win32%20semaphore.h&In-Reply-To="
|
|
TITLE="[Mono-bugs] [Bug 621468] New: cross-compile script get confused by phread-win32 semaphore.h">bugzilla_noreply at novell.com
|
|
</A><BR>
|
|
<I>Sun Jul 11 10:04:30 EDT 2010</I>
|
|
<P><UL>
|
|
<LI>Previous message: <A HREF="102080.html">[Mono-bugs] [Bug 609632] EGlib's g_get_home_dir() not able to read /etc/passwd
|
|
</A></li>
|
|
<LI>Next message: <A HREF="102082.html">[Mono-bugs] [Bug 621475] New: TextBox and RichTextBox crash on click when text value will be set to null
|
|
</A></li>
|
|
<LI> <B>Messages sorted by:</B>
|
|
<a href="date.html#102081">[ date ]</a>
|
|
<a href="thread.html#102081">[ thread ]</a>
|
|
<a href="subject.html#102081">[ subject ]</a>
|
|
<a href="author.html#102081">[ author ]</a>
|
|
</LI>
|
|
</UL>
|
|
<HR>
|
|
<!--beginarticle-->
|
|
<PRE><A HREF="http://bugzilla.novell.com/show_bug.cgi?id=621468">http://bugzilla.novell.com/show_bug.cgi?id=621468</A>
|
|
|
|
<A HREF="http://bugzilla.novell.com/show_bug.cgi?id=621468#c0">http://bugzilla.novell.com/show_bug.cgi?id=621468#c0</A>
|
|
|
|
|
|
Summary: cross-compile script get confused by phread-win32
|
|
semaphore.h
|
|
Classification: Mono
|
|
Product: Mono: Runtime
|
|
Version: SVN
|
|
Platform: x86-64
|
|
OS/Version: RHEL 5
|
|
Status: NEW
|
|
Severity: Normal
|
|
Priority: P5 - None
|
|
Component: io-layer
|
|
AssignedTo: <A HREF="http://lists.ximian.com/mailman/listinfo/mono-bugs">lupus at novell.com</A>
|
|
ReportedBy: <A HREF="http://lists.ximian.com/mailman/listinfo/mono-bugs">htl10 at users.sourceforge.net</A>
|
|
QAContact: <A HREF="http://lists.ximian.com/mailman/listinfo/mono-bugs">mono-bugs at lists.ximian.com</A>
|
|
Found By: ---
|
|
Blocker: ---
|
|
|
|
|
|
User-Agent: Mozilla/5.0 (compatible; Konqueror/4.4; Linux) KHTML/4.4.4
|
|
(like Gecko) Fedora/4.4.4-1.fc13
|
|
|
|
It is on Fedora 13, which can optionally have mingw32-pthreads ; with current
|
|
svn head (r160202 today):
|
|
The problem is that fedora 13 's mingw32-pthreads comes with <semaphore.h> (
|
|
/usr/i686-pc-mingw32/sys-root/mingw/include/semaphore.h) which the configure
|
|
script can detect when driven by ./build-mingw32.sh . Now, of course if
|
|
building for windows (cross-compiling), one should be using windows semaphore
|
|
rather than pthread-win32 semaphore. Things gets very confused and broken due
|
|
to the presence of /usr/i686-pc-mingw32/sys-root/mingw/include/semaphore.h and
|
|
/configure setting HAVE_SEMAPHORE_H .
|
|
|
|
I found that I need to unset HAVE_SEMAPHORE_H like this below in two places for
|
|
svn r160202 to build. (or move the header
|
|
"/usr/i686-pc-mingw32/sys-root/mingw/include/semaphore.h", for it not to be
|
|
detected, which is more troublesome).
|
|
|
|
-----------------
|
|
diff --git a/mono/io-layer/semaphores.c b/mono/io-layer/semaphores.c
|
|
index 73fda73..bb526b1 100644
|
|
--- a/mono/io-layer/semaphores.c
|
|
+++ b/mono/io-layer/semaphores.c
|
|
@@ -10,6 +10,9 @@
|
|
#include <config.h>
|
|
#include <glib.h>
|
|
#include <pthread.h>
|
|
+#if defined(__WIN32)
|
|
+#undef HAVE_SEMAPHORE_H
|
|
+#endif
|
|
#ifdef HAVE_SEMAPHORE_H
|
|
#include <semaphore.h>
|
|
#endif
|
|
diff --git a/mono/utils/mono-semaphore.h b/mono/utils/mono-semaphore.h
|
|
index d6be806..1ed0518 100644
|
|
--- a/mono/utils/mono-semaphore.h
|
|
+++ b/mono/utils/mono-semaphore.h
|
|
@@ -12,6 +12,9 @@
|
|
|
|
#include <config.h>
|
|
#include <glib.h>
|
|
+#if defined(__WIN32)
|
|
+#undef HAVE_SEMAPHORE_H
|
|
+#endif
|
|
#ifdef HAVE_SEMAPHORE_H
|
|
#include <semaphore.h>
|
|
#endif
|
|
--------------------------------------
|
|
|
|
Can you consider putting something similar (TARGET_WIN32?) to undef
|
|
HAVE_SEMAPHORE_H so as to use windows semaphore?
|
|
|
|
Reproducible: Always
|
|
|
|
Steps to Reproduce:
|
|
1. have semaphore.h from pthreads and put it somewhere findable by the mingw
|
|
cross-compiler
|
|
2. run ./build-mingw32.sh to attempt cross-compiling
|
|
3. compilation fails when compiling a file ...../mono-semephore.c , about
|
|
mode_t
|
|
Actual Results:
|
|
compilation fails
|
|
|
|
Expected Results:
|
|
compilation continues and build finishes.
|
|
|
|
The message:
|
|
--------
|
|
|
|
make[4]: Entering directory
|
|
`/home/Hin-Tak/tmp-git/mono-svn/build-cross-windows/mono/utils'
|
|
/bin/sh ../../libtool --tag=CC --mode=compile i686-pc-mingw32-gcc
|
|
-DHAVE_CONFIG_H -I. -I../../../mono/utils -I../.. -I../../.. -I../../../mono
|
|
-I../../../libgc/include -I../../../eglib/src -I../../eglib/src
|
|
-DWINVER=0x0500 -D_WIN32_WINNT=0x0500 -D_WIN32_IE=0x0501 -D_UNICODE -DUNICODE
|
|
-DWIN32_THREADS -DFD_SETSIZE=1024 -g -O2 -fno-strict-aliasing
|
|
-Wdeclaration-after-statement -g -Wall -Wunused -Wmissing-prototypes
|
|
-Wmissing-declarations -Wstrict-prototypes -Wmissing-prototypes
|
|
-Wnested-externs -Wpointer-arith -Wno-cast-qual -Wwrite-strings
|
|
-mno-tls-direct-seg-refs -MT mono-semaphore.lo -MD -MP -MF
|
|
deps/mono-semaphore.Tpo -c -o mono-semaphore.lo
|
|
./../../mono/utils/mono-semaphore.c
|
|
libtool: compile: i686-pc-mingw32-gcc -DHAVE_CONFIG_H -I.
|
|
-I../../../mono/utils -I../.. -I../../.. -I../../../mono
|
|
-I../../../libgc/include -I../../../eglib/src -I../../eglib/src -DWINVER=0x0500
|
|
-D_WIN32_WINNT=0x0500 -D_WIN32_IE=0x0501 -D_UNICODE -DUNICODE -DWIN32_THREADS
|
|
-DFD_SETSIZE=1024 -g -O2 -fno-strict-aliasing -Wdeclaration-after-statement -g
|
|
-Wall -Wunused -Wmissing-prototypes -Wmissing-declarations -Wstrict-prototypes
|
|
-Wmissing-prototypes -Wnested-externs -Wpointer-arith -Wno-cast-qual
|
|
-Wwrite-strings -mno-tls-direct-seg-refs -MT mono-semaphore.lo -MD -MP -MF
|
|
deps/mono-semaphore.Tpo -c ../../../mono/utils/mono-semaphore.c -DDLL_EXPORT
|
|
-DPIC -o .libs/mono-semaphore.o
|
|
./../../mono/utils/mono-semaphore.c: In function 'mono_sem_timedwait':
|
|
./../../mono/utils/mono-semaphore.c:37: error: storage size of 'ts' isn't
|
|
known
|
|
./../../mono/utils/mono-semaphore.c:37: error: storage size of 'copy' isn't
|
|
known
|
|
./../../mono/utils/mono-semaphore.c:51: warning: implicit declaration of
|
|
function 'gettimeofday'
|
|
./../../mono/utils/mono-semaphore.c:51: warning: nested extern declaration of
|
|
'gettimeofday'
|
|
./../../mono/utils/mono-semaphore.c:37: warning: unused variable 'copy'
|
|
./../../mono/utils/mono-semaphore.c:37: warning: unused variable 'ts'
|
|
make[4]: *** [mono-semaphore.lo] Error 1
|
|
-------------
|
|
|
|
--
|
|
Configure bugmail: <A HREF="http://bugzilla.novell.com/userprefs.cgi?tab=email">http://bugzilla.novell.com/userprefs.cgi?tab=email</A>
|
|
------- You are receiving this mail because: -------
|
|
You are the QA contact for the bug.
|
|
</PRE>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<!--endarticle-->
|
|
<HR>
|
|
<P><UL>
|
|
<!--threads-->
|
|
<LI>Previous message: <A HREF="102080.html">[Mono-bugs] [Bug 609632] EGlib's g_get_home_dir() not able to read /etc/passwd
|
|
</A></li>
|
|
<LI>Next message: <A HREF="102082.html">[Mono-bugs] [Bug 621475] New: TextBox and RichTextBox crash on click when text value will be set to null
|
|
</A></li>
|
|
<LI> <B>Messages sorted by:</B>
|
|
<a href="date.html#102081">[ date ]</a>
|
|
<a href="thread.html#102081">[ thread ]</a>
|
|
<a href="subject.html#102081">[ subject ]</a>
|
|
<a href="author.html#102081">[ author ]</a>
|
|
</LI>
|
|
</UL>
|
|
|
|
<hr>
|
|
<a href="http://lists.ximian.com/mailman/listinfo/mono-bugs">More information about the mono-bugs
|
|
mailing list</a><br>
|
|
</body></html>
|