From ddd4d6bf048ae3c38d4e0cf7ac2a0b67d1d1786c Mon Sep 17 00:00:00 2001 From: Dominic Dunlop Date: Wed, 15 Oct 1997 13:58:03 +1200 Subject: [PATCH] hints/machten.sh: disable semctl(), align with devel version semctl(.., .., IPC_STATUS, ..) hangs the system on MachTen 4.1. Here's a patch to make hints/machten.sh assert that semctl() isn't available. The patch also brings the maintenance track hints file into line with that in the development track, which is slightly more up-to-date. p5p-msgid: v03110701b175fc029eb1@[195.95.102.115] --- hints/machten.sh | 32 +++++++++++++++++++++++++------- 1 file changed, 25 insertions(+), 7 deletions(-) diff --git a/hints/machten.sh b/hints/machten.sh index 380f70261d8..2ae79f17e37 100644 --- a/hints/machten.sh +++ b/hints/machten.sh @@ -13,6 +13,9 @@ # Martijn Koster # Richard Yeh # +# Use of semctl() can crash system: disable -- Dominic Dunlop 980506 +# Raise stack size further; slight tweaks to accomodate MT 4.1 +# -- Dominic Dunlop 980211 # Raise perl's stack size -- Dominic Dunlop 970922 # Reinstate sigsetjmp iff version is 4.0.3 or greater; use nm # (assumes Configure change); prune libswanted -- Dominic Dunlop 970113 @@ -37,7 +40,7 @@ nmopts=-gp # Increase perl's stack size. Without this, lib/complex.t crashes out. # Particularly perverse programs may require that perl has an even larger # stack allocation than that specified here. (See man setstackspace ) -ldflags='-Xlstack=0x014000' +ldflags='-Xlstack=0x018000' # Install in /usr/local by default prefix='/usr/local' @@ -51,6 +54,9 @@ alignbytes=8 # friends. Use setjmp and friends instead. expr "$osvers" \< "4.0.3" > /dev/null && d_sigsetjmp='undef' +# semctl(.., .., IPC_STATUS, ..) hangs system: say we don't have semctl() +d_semctl='undef' + # Get rid of some extra libs which it takes Configure a tediously # long time never to find on MachTen set `echo X "$libswanted "|sed -e 's/ net / /' -e 's/ socket / /' \ @@ -61,6 +67,8 @@ set `echo X "$libswanted "|sed -e 's/ net / /' -e 's/ socket / /' \ shift libswanted="$*" +# While link counts on MachTen 4.1's fast file systems work correctly, +# on Macintosh Heirarchical File Systems, (and on HFS+) # MachTen always reports ony two links to directories, even if they # contain subdirectories. Consequently, we use this variable to stop # File::Find using the link count to determine whether there are @@ -71,11 +79,14 @@ dont_use_nlink=define cat <<'EOM' >&4 -Tests - io/fs test 4 and - op/stat test 3 -may fail since MachTen does not return a useful nlinks field to stat -on directories. +During Configure, you may see the message + +*** WHOA THERE!!! *** + The recommended value for $d_semctl on this machine was "undef"! + Keep the recommended value? [y] + +Select the default answer: semctl() is buggy, and perl should be built +without it. At the end of Configure, you will see a harmless message @@ -84,5 +95,12 @@ Hmm...You had some extra variables I don't know about...I'll try to keep 'em. Propagating recommended variable nmopts Read the File::Find documentation for more information about dont_use_nlink +Tests + io/fs test 4 and + op/stat test 3 +may fail since MachTen may not return a useful nlinks field to stat +on directories. + EOM -test -r ./broken-db.msg && . ./broken-db.msg +expr "$osvers" \< "4.1" >/dev/null && test -r ./broken-db.msg && \ + . ./broken-db.msg