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:
parent
80f063dbf6
commit
5676d104b1
Notes:
svn2git
2021-03-31 03:12:20 +00:00
svn path=/head/; revision=185839
@ -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::
|
||||
|
15
lang/mono/files/patch-mono_io-layer_shared.c
Normal file
15
lang/mono/files/patch-mono_io-layer_shared.c
Normal 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__,
|
Loading…
Reference in New Issue
Block a user