FAQ
On OS/390 during the run of Configure -des we see a problem on stderr:

Your select() operates on 32 bits at a time.
/bin/awk: Syntax error Context is:
{print $} <<<
Generating a list of signal names and numbers...

the reason is that the cpp does not leave file names in its output on this
platform hence $fieldn is '' (and $pos is '???'). I've tried running:

awk "{print $}" some_text.file

on T62 Unix, AIX, HP-UX, Solaris, and dgux; and no vendor supplied awk can
handle that construct (admittedly I've not tried that with gawk on any
platform). Hence the following patch eliminates the use of awk altogether
in forming the initial signal list if $fieldn is blank. Sharp eyed Configure
hackers may note that the $fieldn value is used in the $awkprog in the
findhdr script, but on this platform all the headers that are found are
found with the initial -f test and the do loop in UU/findhdr never gets
executed here (but at least the stderr warnings are redirected in findhdr).

With this applied to a virgin _62 kit perl builds and tests OK on OS/390.
I've not tested this on any other platform, and I do not have a recent
dist kit to even patch that up - sorry :-{


--- Configure.orig Tue Oct 5 20:20:23 1999
+++ Configure Tue Nov 30 13:00:42 1999
@@ -12178,10 +12178,17 @@
: Remove SIGSTKSIZE used by Linux.
: Remove SIGSTKSZ used by Posix.
: Remove SIGTYP void lines used by OS2.
-xxx=`echo '#include <signal.h>' |
+if [ "X$fieldn" = X ]; then
+ xxx=`echo '#include <signal.h>' |
+ $cppstdin $cppminus $cppflags 2>/dev/null |
+ $grep '^[ ]*#.*include' |
+ $sed 's!"!!g' | $sort | $uniq`
+else
+ xxx=`echo '#include <signal.h>' |
$cppstdin $cppminus $cppflags 2>/dev/null |
$grep '^[ ]*#.*include' |
$awk "{print \\$$fieldn}" | $sed 's!"!!g' | $sort | $uniq`
+fi
: Check this list of files to be sure we have parsed the cpp output ok.
: This will also avoid potentially non-existent files, such
: as ../foo/bar.h
End of Patch.

Peter Prymmer

Search Discussions

  • Andy Dougherty at Dec 1, 1999 at 2:32 am

    On Tue, 30 Nov 1999, Peter Prymmer wrote:

    the reason is that the cpp does not leave file names in its output on this
    platform hence $fieldn is '' (and $pos is '???'). I've tried running:

    awk "{print $}" some_text.file
    Good catch. I'll patch up the appropriate metaconfig unit.

    Thanks,

    Andy Dougherty doughera@lafayette.edu
    Dept. of Physics
    Lafayette College, Easton PA 18042
  • Andy Dougherty at Dec 22, 1999 at 7:41 pm
    This tiny patch makes Configure slightly more defensive about setting
    hostcat, groupcat, and passcat, since not all systems have
    /etc/hosts and /etc/group. (os390 doesn't necessarily have them.)

    Since groupcat and passcat are not used anyway in Configure, and since
    hostcat is only used to try to make a guess at the email address of the
    person running Configure, this patch ought to be safe.

    Andy Dougherty doughera@lafayette.edu
    Dept. of Physics
    Lafayette College, Easton PA 18042

    --- perl/Configure Fri Dec 10 14:43:44 1999
    +++ andy/Configure Wed Dec 22 14:19:29 1999
    @@ -6378,13 +6382,13 @@
    esac
    fi
    case "$hostcat" in
    -'') hostcat='cat /etc/hosts';;
    +'') test -f /etc/hosts && hostcat='cat /etc/hosts';;
    esac
    case "$groupcat" in
    -'') groupcat='cat /etc/group';;
    +'') test -f /etc/group && groupcat='cat /etc/group';;
    esac
    case "$passcat" in
    -'') passcat='cat /etc/passwd';;
    +'') test -f /etc/passwd && passcat='cat /etc/passwd';;
    esac

    : now get the host name
    @@ -6486,6 +6490,7 @@
    $sed -e 's/[ ]*#.*//; s/$/ /' > hosts && \
    $test -s hosts
    } || {
    + test "X$hostcat" != "X" &&
    $hostcat | $sed -n -e "s/[ ]*#.*//; s/\$/ /
    /[ ]$myhostname[ . ]/p" > hosts
    }

Related Discussions

Discussion Navigation
viewthread | post
Discussion Overview
groupperl5-porters @
categoriesperl
postedNov 30, '99 at 11:04p
activeDec 22, '99 at 7:41p
posts3
users2
websiteperl.org

2 users in discussion

Andy Dougherty: 2 posts Peter Prymmer: 1 post

People

Translate

site design / logo © 2022 Grokbase