1
0
mirror of https://git.FreeBSD.org/ports.git synced 2024-10-20 20:09:11 +00:00

- Work around crashes during build due to LC_* settings in environment by

setting LC_ALL=C [1]
- Crash instead of looping infinitely when Mono can't obtain a semaphore.
  Patch from Mono's SVN [2]

Reported by:	A few people [1], pointyhat [2]
Submitted by:	Phillip Neumann [1], Lou Kamenov [2]
This commit is contained in:
Tom McLaughlin 2007-02-25 02:12:20 +00:00
parent 80f063dbf6
commit 5676d104b1
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=185839
2 changed files with 29 additions and 9 deletions

View File

@ -8,7 +8,7 @@
PORTNAME= mono
PORTVERSION= 1.2.2.1
PORTREVISION= 2
PORTREVISION= 3
CATEGORIES= lang
MASTER_SITES= http://www.go-mono.com/sources/mono/ \
${MASTER_SITE_LOCAL}
@ -33,6 +33,19 @@ CONFIGURE_ARGS= --program-transform-name=\'\' \
--with-tls=pthread
MAKE_ARGS= EXTERNAL_MCS=false
# Set location for .wapi creation.
MONO_SHARED_DIR=${WRKDIR}
# LC_ALL is set in order to work around issues people are having when using
# other languages. This has shown itself in build fails and possibly other
# strange crashes.
MAKE_ENV= MONO_SHARED_DIR="${MONO_SHARED_DIR}" \
LC_ALL=C
# Removed amd64 arch because builds are exhibiting semaphore problems on
# pointyhat runs causing failure to build.
ONLY_FOR_ARCHS= i386 #amd64
MAN1= al.1 cert2spc.1 certmgr.1 chktrust.1 cilc.1 disco.1 dtd2xsd.1 \
gacutil.1 genxs.1 ilasm.1 jay.1 macpack.1 makecert.1 mcs.1 \
mint.1 mkbundle.1 mono-service.1 mono-shlib-cop.1 mono.1 \
@ -41,14 +54,6 @@ MAN1= al.1 cert2spc.1 certmgr.1 chktrust.1 cilc.1 disco.1 dtd2xsd.1 \
soapsuds.1 sqlsharp.1 wsdl.1 xsd.1 mono-xmltool.1 sgen.1
MAN5= mono-config.5
# Removed amd64 arch because builds are exhibiting semaphore problems on
# pointyhat runs causing failure to build.
ONLY_FOR_ARCHS= i386 #amd64
MONO_SHARED_DIR=${WRKDIR}
MAKE_ENV=MONO_SHARED_DIR=${MONO_SHARED_DIR}
.include <bsd.port.pre.mk>
pre-everything::

View File

@ -0,0 +1,15 @@
--- mono/io-layer/shared.c.orig Fri Dec 1 01:57:46 2006
+++ mono/io-layer/shared.c Wed Feb 21 13:28:07 2007
@@ -330,10 +330,10 @@
while ((_wapi_sem_id = semget (key, _WAPI_SHARED_SEM_COUNT,
IPC_CREAT | IPC_EXCL | 0600)) == -1) {
if (errno == ENOMEM) {
- g_critical ("%s: semget error: %s", __func__,
+ g_error ("%s: semget error: %s", __func__,
g_strerror (errno));
} else if (errno == ENOSPC) {
- g_critical ("%s: semget error: %s. Try deleting some semaphores with ipcs and ipcrm", __func__, g_strerror (errno));
+ g_error ("%s: semget error: %s. Try deleting some semaphores with ipcs and ipcrm\nor increase the maximum number of semaphore in the system.", __func__, g_strerror (errno));
} else if (errno != EEXIST) {
if (retries > 3)
g_warning ("%s: semget error: %s key 0x%x - trying again", __func__,