info-cvs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

gmake check blows up: Solaris 2.7


From: Hugh Sasse Staff Elec Eng
Subject: gmake check blows up: Solaris 2.7
Date: Thu, 15 Nov 2001 10:12:46 +0000 (GMT)

The installation guide suggest that making check is not really necessary,
but I usually like to do this where I can.  The failure on my Solaris 2.7
box was pretty drastic though, so I am not prepared to install this yet.


neelix hgs 11 %> gmake check
cd lib ; gmake AR='ar' CC='gcc' CFLAGS='-g -O2' LDFLAGS='' LIBPROGS='' 
LIBS='-lxnet ' MAKE='gmake' MAKEINFO='makeinfo' RANLIB='ranlib' 
TEXI2DVI='texi2dvi' YACC='yacc' bindir='/usr/local/bin' 
infodir='/usr/local/info' libdir='/usr/local/lib' mandir='/usr/local/man' 
prefix='/usr/local' exec_prefix='/usr/local'
gmake[1]: Entering directory `/scratch/hgs/cvs-1.11/lib'
gmake[1]: Nothing to be done for `all'.
gmake[1]: Leaving directory `/scratch/hgs/cvs-1.11/lib'
cd zlib ; gmake AR='ar' CC='gcc' CFLAGS='-g -O2' LDFLAGS='' LIBPROGS='' 
LIBS='-lxnet ' MAKE='gmake' MAKEINFO='makeinfo' RANLIB='ranlib' 
TEXI2DVI='texi2dvi' YACC='yacc' bindir='/usr/local/bin' 
infodir='/usr/local/info' libdir='/usr/local/lib' mandir='/usr/local/man' 
prefix='/usr/local' exec_prefix='/usr/local'
gmake[1]: Entering directory `/scratch/hgs/cvs-1.11/zlib'
gmake[1]: Nothing to be done for `all'.
gmake[1]: Leaving directory `/scratch/hgs/cvs-1.11/zlib'
cd diff ; gmake AR='ar' CC='gcc' CFLAGS='-g -O2' LDFLAGS='' LIBPROGS='' 
LIBS='-lxnet ' MAKE='gmake' MAKEINFO='makeinfo' RANLIB='ranlib' 
TEXI2DVI='texi2dvi' YACC='yacc' bindir='/usr/local/bin' 
infodir='/usr/local/info' libdir='/usr/local/lib' mandir='/usr/local/man' 
prefix='/usr/local' exec_prefix='/usr/local'
gmake[1]: Entering directory `/scratch/hgs/cvs-1.11/diff'
gmake[1]: Nothing to be done for `all'.
gmake[1]: Leaving directory `/scratch/hgs/cvs-1.11/diff'
cd src ; gmake AR='ar' CC='gcc' CFLAGS='-g -O2' LDFLAGS='' LIBPROGS='' 
LIBS='-lxnet ' MAKE='gmake' MAKEINFO='makeinfo' RANLIB='ranlib' 
TEXI2DVI='texi2dvi' YACC='yacc' bindir='/usr/local/bin' 
infodir='/usr/local/info' libdir='/usr/local/lib' mandir='/usr/local/man' 
prefix='/usr/local' exec_prefix='/usr/local' check
gmake[1]: Entering directory `/scratch/hgs/cvs-1.11/src'
/bin/sh ./sanity.sh `pwd`/cvs
This test should produce no other output than this line, and a final "OK".
id: illegal option -- u
Usage: id [user]
       id -a [user]
/bin/id: illegal option -- -
Usage: id [user]
       id -a [user]
Notice: The default version of id is defective, using
/bin/id instead.
/bin/id: illegal option -- u
Usage: id [user]
       id -a [user]
expr: RE error
Test suite does not work correctly when run by a username
containing regular expression meta-characters.
gmake[1]: *** [check] Error 1
gmake[1]: Leaving directory `/scratch/hgs/cvs-1.11/src'
gmake: *** [check] Error 2


This is not so informative, so I did:


neelix hgs 12 %> cd src
neelix hgs 13 %> /bin/sh -vx ./sanity.sh `pwd`/cvs
#! /bin/sh
:
+ :
#       sanity.sh -- a growing testsuite for cvs.
#
# The copyright notice said: "Copyright (C) 1992, 1993 Cygnus Support"
# I'm not adding new copyright notices for new years as our recent
# practice has been to include copying terms without copyright notices.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# Original Author: K. Richard Pixley

# usage: sanity.sh [-r] @var{cvs-to-test} @var{tests-to-run}
# -r means to test remote instead of local cvs.
# @var{tests-to-run} are the names of the tests to run; if omitted run all
# tests.

# See TODO list at end of file.

# required to make this script work properly.
unset CVSREAD
+ unset CVSREAD

# We want to invoke a predictable set of i18n behaviors, not whatever
# the user running this script might have set.
# In particular:
#   'sort' and tabs and spaces (LC_COLLATE).
#   Messages from getopt (LC_MESSAGES) (in the future, CVS itself might
#     also alter its messages based on LC_MESSAGES).
LC_ALL=C
LC_ALL=C
export LC_ALL
+ export LC_ALL

# The default value of /tmp/cvs-sanity for TESTDIR is dubious,
# because it loses if two people/scripts try to run the tests
# at the same time.  Some possible solutions:
# 1.  Use /tmp/cvs-test$$.  One disadvantage is that the old
#     cvs-test* directories would pile up, because they wouldn't
#     necessarily get removed.
# 2.  Have everyone/everything running the testsuite set
#     TESTDIR to some appropriate directory.
# 3.  Have the default value of TESTDIR be some variation of
#     `pwd`/cvs-sanity.  The biggest problem here is that we have
#     been fairly careful to test that CVS prints in messages the
#     actual pathnames that we pass to it, rather than a different
#     pathname for the same directory, as may come out of `pwd`.
#     So this would be lost if everything was `pwd`-based.  I suppose
#     if we wanted to get baroque we could start making symlinks
#     to ensure the two are different.
tmp=`(cd /tmp; /bin/pwd || pwd) 2>/dev/null`
tmp=/tmp
: ${TESTDIR=$tmp/cvs-sanity}
+ : /tmp/cvs-sanity

# "debugger"
#set -x

echo 'This test should produce no other output than this line, and a final 
"OK".'
+ echo This test should produce no other output than this line, and a final 
"OK".
This test should produce no other output than this line, and a final "OK".

if test x"$1" = x"-r"; then
        shift
        remote=yes
else
        remote=no
fi
+ test x/scratch/hgs/cvs-1.11/src/cvs = x-r
remote=no

# The --keep option will eventually cause all the tests to leave around the
# contents of the /tmp directory; right now only some implement it.  Not
# useful if you are running more than one test.
# FIXME: need some real option parsing so this doesn't depend on the order
# in which they are specified.
if test x"$1" = x"--keep"; then
  shift
  keep=yes
else
  keep=no
fi
+ test x/scratch/hgs/cvs-1.11/src/cvs = x--keep
keep=no

# Use full path for CVS executable, so that CVS_SERVER gets set properly
# for remote.
case $1 in
"")
  echo "Usage: `basename $0` [-r] [--keep] CVS-TO-TEST [TESTS-TO-RUN...]" 1>&2
  exit 1
  ;;
/*)
  testcvs=$1
  ;;
*)
  testcvs=`pwd`/$1
  ;;
esac
testcvs=/scratch/hgs/cvs-1.11/src/cvs

shift
+ shift

# Regexp to match what CVS will call itself in output that it prints.
# FIXME: we don't properly quote this--if the name contains . we'll
# just spuriously match a few things; if the name contains other regexp
# special characters we are probably in big trouble.
PROG=`basename ${testcvs}`
+ basename /scratch/hgs/cvs-1.11/src/cvs
PROG=cvs

# Regexp to match an author name.  I'm not really sure what characters
# should be here.  a-zA-Z obviously.  People complained when 0-9 were
# not allowed in usernames.  Other than that I'm not sure.
username="[-a-zA-Z0-9][-a-zA-Z0-9]*"
username=[-a-zA-Z0-9][-a-zA-Z0-9]*
author="[-a-zA-Z0-9][-a-zA-Z0-9]*"
author=[-a-zA-Z0-9][-a-zA-Z0-9]*

# Regexp to match the name of a temporary file (from cvs_temp_name).
# This appears in certain diff output.
tempname="[-a-zA-Z0-9/.%_]*"
tempname=[-a-zA-Z0-9/.%_]*

# On cygwin32, we may not have /bin/sh.
if [ -r /bin/sh ]; then
  TESTSHELL="/bin/sh"
else
  TESTSHELL=`type -p sh 2>/dev/null`
  if [ ! -r "$TESTSHELL" ]; then
    TESTSHELL="/bin/sh"
  fi
fi
+ [ -r /bin/sh ]
TESTSHELL=/bin/sh

# FIXME: try things (what things? checkins?) without -m.
#
# Some of these tests are written to expect -Q.  But testing with
# -Q is kind of bogus, it is not the way users actually use CVS (usually).
# So new tests probably should invoke ${testcvs} directly, rather than ${CVS}.
# and then they've obviously got to do something with the output....
#
CVS="${testcvs} -Q"
CVS=/scratch/hgs/cvs-1.11/src/cvs -Q

LOGFILE=`pwd`/check.log
+ pwd
LOGFILE=/scratch/hgs/cvs-1.11/src/check.log

# Save the previous log in case the person running the tests decides
# they want to look at it.  The extension ".plog" is chosen for consistency
# with dejagnu.
if test -f check.log; then
        mv check.log check.plog
fi
+ test -f check.log

# clean any old remnants (we need the chmod because some tests make
# directories read-only)
if test -d ${TESTDIR}; then
    chmod -R a+wx ${TESTDIR}
    rm -rf ${TESTDIR}
fi
+ test -d /tmp/cvs-sanity
+ chmod -R a+wx /tmp/cvs-sanity
+ rm -rf /tmp/cvs-sanity
mkdir ${TESTDIR}
+ mkdir /tmp/cvs-sanity
cd ${TESTDIR}
+ cd /tmp/cvs-sanity

# Make sure various tools work the way we expect, or try to find
# versions that do.
: ${AWK=awk}
+ : awk
: ${EXPR=expr}
+ : expr
: ${ID=id}
+ : id
: ${TR=tr}
+ : tr

find_tool ()
{
  GLOCS="`echo $PATH | sed 's/:/ /g'` /usr/local/bin /usr/contrib/bin 
/usr/gnu/bin /local/bin /local/gnu/bin /gun/bin"
  TOOL=""
  for path in $GLOCS ; do
    if test -x $path/g$1 ; then
      if test "X`$path/g$1 --version`" != "X--version" ; then
        TOOL=$path/g$1
        break
      fi
    fi
    if test -x $path/$1 ; then
      if test "X`$path/$1 --version`" != "X--version" ; then
        TOOL=$path/$1
        break
      fi
    fi
  done
  if test -z "$TOOL"; then
    :
  else
    echo "Notice: The default version of $1 is defective, using" >&2
    echo "$TOOL instead." >&2
  fi
  echo "$TOOL"
}

# You can't run CVS as root; print a nice error message here instead
# of somewhere later, after making a mess.
case "`$ID -u`" in
  "0")
    echo "Test suite does not work correctly when run as root" >&2
    exit 1
    ;;

  "")
    ID=`find_tool id`
    if test -z "$ID" ; then
      echo 'Running these tests requires an "id" program that understands the' 
>&2
      echo '-u and -n flags.  Make sure that such an id (GNU, or many but not' 
>&2
      echo 'all vendor-supplied versions) is in your path.' >&2
      exit 1
    fi
    ;;
esac
+ id -u
id: illegal option -- u
Usage: id [user]
       id -a [user]
+ find_tool id
+ sed s/:/ /g
+ echo 
/bin:/usr/bin:/progs/workshop5/SUNWspro/bin:/apps/jdk1.2/bin:/usr/ucb:/usr/sbin:/usr/ccs/bin:/etc:/usr/local/bin:/users/bin:/scs/gdt/ind/bin:/scs/lsim/ind/bin:/usr/openwin/bin:/home/hgs/bin:/home/hgs/SUN/bin:/idea/mgc/mgls/bin:/opt/cygnus-sol2-2.0/bin:/opt/gnu/bin:/ansys50/bin:/micro_stripes_3.0.2/bin:/usr/local/pvm3/lib:/usr/local/pvm3/bin/SUN4SOL2:.
GLOCS=/bin /usr/bin /progs/workshop5/SUNWspro/bin /apps/jdk1.2/bin /usr/ucb 
/usr/sbin /usr/ccs/bin /etc /usr/local/bin /users/bin /scs/gdt/ind/bin 
/scs/lsim/ind/bin /usr/openwin/bin /home/hgs/bin /home/hgs/SUN/bin 
/idea/mgc/mgls/bin /opt/cygnus-sol2-2.0/bin /opt/gnu/bin /ansys50/bin 
/micro_stripes_3.0.2/bin /usr/local/pvm3/lib /usr/local/pvm3/bin/SUN4SOL2 . 
/usr/local/bin /usr/contrib/bin /usr/gnu/bin /local/bin /local/gnu/bin /gun/bin
TOOL=
+ test -x /bin/gid
+ test -x /bin/id
+ /bin/id --version
/bin/id: illegal option -- -
Usage: id [user]
       id -a [user]
+ test X != X--version
TOOL=/bin/id
+ break
+ test -z /bin/id
+ echo Notice: The default version of id is defective, using
Notice: The default version of id is defective, using
+ echo /bin/id instead.
/bin/id instead.
+ echo /bin/id
ID=/bin/id
+ test -z /bin/id
username=`$ID -un`
+ /bin/id -un
/bin/id: illegal option -- u
Usage: id [user]
       id -a [user]
username=
if $EXPR "${username}" : "${username}" >/dev/null; then
  : good, it works
else
  echo "Test suite does not work correctly when run by a username" >&2
  echo "containing regular expression meta-characters." >&2
  exit 1
fi
+ expr  :
expr: RE error
+ echo Test suite does not work correctly when run by a username
Test suite does not work correctly when run by a username
+ echo containing regular expression meta-characters.
containing regular expression meta-characters.
+ exit 1
neelix hgs 14 %>


neelix hgs 47 %> gmake --version
GNU Make version 3.79, by Richard Stallman and Roland McGrath.
Built for sparc-sun-solaris2.7
Copyright (C) 1988, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99
        Free Software Foundation, Inc.
This is free software; see the source for copying conditions.
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.

Report bugs to <address@hidden>.

neelix hgs 48 %> uname -a
SunOS neelix 5.7 Generic_106541-11 sun4u sparc SUNW,Ultra-250


It should find my gnu expr, so:


neelix hgs 49 %> /usr/local/bin/expr --version
expr (GNU sh-utils) 2.0
Written by Mike Parker.

Copyright (C) 1999 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
neelix hgs 50 %>


A look back through the archive of this list suggests this has not been raised
before.  Is this in fact a known problem? Any suggestions as to further useful
information I could provide?

        Hugh




reply via email to

[Prev in Thread] Current Thread [Next in Thread]