[Top][All Lists]
[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
- gmake check blows up: Solaris 2.7,
Hugh Sasse Staff Elec Eng <=