Eric Blake <eblake(a)redhat.com> wrote on 03/12/2010 01:33:06:
From: Eric Blake <eblake(a)redhat.com>
To: Kenneth Nagin/Haifa/IBM@IBMIL
Cc: Justin Clift <jclift(a)redhat.com>, list libvirt <libvir-
list(a)redhat.com>, bug-gnulib <bug-gnulib(a)gnu.org>
Date: 03/12/2010 01:33
Subject: Re: [libvirt] make syntax-check -> make: ***
[sc_check_author_list] Error 1 on libvirt-0.8.5
[adding bug-gnulib, thanks to some issues with 'make syntax-check' in
gnulib-provided files]
On 12/02/2010 02:25 AM, Kenneth Nagin wrote:
>>> > I am receiving syntax error when compiling libvirt-0.8.5.
>>> > However, make without syntax-check completes successfully.
>>> >
>>> > check_author_list
>>> > %aE
>>> > maint.mk: committer(s) not listed in AUTHORS
>> That means your version of git is too old to support the specific log
>> formatting directive that we are using. What version of git are you
>> using, and is it worth us fixing that syntax check to skip if git is
too
>> old?
>> And ultimately, failure of 'make syntax-check' is non-fatal; it is not
a
>> prerequisite for building working binaries, so much as a way
to try
and
>> enforce consistent style within the code base.
>>
> I decided that it made more sense to simply work with 0.8.6 (rather
than
> 0.8.5).
> But now I am getting another error, i.e "Failed to determine type of
> version control used in /home/nagin/LIBVIRT/libvirt-0.8.6". It prints
it
a
> lot of times and then hangs.
> make without syntax-check works fine. Here are the error messages:
You still haven't told me what 'git --version' outputs on your system.
That may be the clue to solving all of this.
git version 1.5.6.5
>
> nagin@croton:~/LIBVIRT/libvirt-0.8.6$ make syntax-check
> GFDL_version
> ./build-aux/vc-list-files: Failed to determine type of version control
used
> in /home/nagin/LIBVIRT/libvirt-0.8.6
Also caused if git is too old or missing. What does this output?
sh -vx build-aux/vc-list-files m4
#!/bin/sh
# List version-controlled file names.
# Print a version string.
scriptversion=2010-04-23.22; # UTC
+ scriptversion=2010-04-23.22
# Copyright (C) 2006-2010 Free Software Foundation, Inc.
# 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 3 of the License, 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.
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <
http://www.gnu.org/licenses/>.
# List the specified version-controlled files.
# With no argument, list them all. With a single DIRECTORY argument,
# list the version-controlled files in that directory.
# If there's an argument, it must be a single, "."-relative directory name.
# cvsu is part of the cvsutils package:
http://www.red-bean.com/cvsutils/
postprocess=
+ postprocess=
case $1 in
--help) cat <<EOF
Usage: $0 [-C SRCDIR] [DIR]
Output a list of version-controlled files in DIR (default .), relative to
SRCDIR (default .). SRCDIR must be the top directory of a checkout.
Options:
--help print this help, then exit
--version print version number, then exit
-C SRCDIR change directory to SRCDIR before generating list
Report bugs and patches to <bug-gnulib(a)gnu.org>.
EOF
exit ;;
--version)
year=`echo "$scriptversion" | sed 's/[^0-9].*//'`
cat <<EOF
vc-list-files $scriptversion
Copyright (C) $year Free Software Foundation, Inc,
License GPLv3+: GNU GPL version 3 or later
<
http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
EOF
exit ;;
-C)
test "$2" = . || postprocess="| sed 's|^|$2/|'"
cd "$2" || exit 1
shift; shift ;;
esac
+ case $1 in
dir=
+ dir=
case $# in
0) ;;
1) dir=$1 ;;
*) echo "$0: too many arguments" 1>&2
echo "Usage: $0 [-C srcdir] [DIR]" 1>&2; exit 1;;
esac
+ case $# in
+ dir=m4
test "x$dir" = x && dir=.
+ test xm4 = x
if test -d .git; then
test "x$dir" = x. \
&& dir= sed_esc= \
|| { dir="$dir/"; sed_esc=`echo "$dir"|env sed
's,\([\\/]\),\\\\\1,g'`; }
# Ignore git symlinks - either they point into the tree, in which case
# we don't need to visit the target twice, or they point somewhere
# else (often into a submodule), in which case the content does not
# belong to this package.
eval exec git ls-tree -r 'HEAD:"$dir"' \
\| sed -n '"s/^100[^ ]*./$sed_esc/p"' $postprocess
elif test -d .hg; then
eval exec hg locate '"$dir/*"' $postprocess
elif test -d .bzr; then
test "$postprocess" = '' && postprocess="| sed
's|^\./||'"
eval exec bzr ls -R --versioned '"$dir"' $postprocess
elif test -d CVS; then
test "$postprocess" = '' && postprocess="| sed
's|^\./||'"
if test -x build-aux/cvsu; then
eval build-aux/cvsu --find --types=AFGM '"$dir"' $postprocess
elif (cvsu --help) >/dev/null 2>&1; then
eval cvsu --find --types=AFGM '"$dir"' $postprocess
else
eval awk -F/ \''{ \
if (!$1 && $3 !~ /^-/) { \
f=FILENAME; \
if (f ~ /CVS\/Entries$/) \
f = substr(f, 1, length(f)-11); \
print f $2; \
}}'\'' \
`find "$dir" -name Entries -print` /dev/null' $postprocess
fi
elif test -d .svn; then
eval exec svn list -R '"$dir"' $postprocess
else
echo "$0: Failed to determine type of version control used in `pwd`"
1>&2
exit 1
fi
+ test -d .git
+ test xm4 = x.
+ dir=m4/
echo "$dir"|env sed 's,\([\/]\),\\\1,g'
++ echo m4/
++ env sed 's,\([\/]\),\\\1,g'
+ sed_esc='m4\/'
+ eval exec git ls-tree -r 'HEAD:"$dir"' '|' sed -n
'"s/^100
[^ ]*./$sed_esc/p"'
exec git ls-tree -r HEAD:"$dir" | sed -n "s/^100[^ ]*./$sed_esc/p"
++ exec git ls-tree -r HEAD:m4/
++ sed -n 's/^100[^ ]*./m4\//p'
m4/compiler-flags.m4
# Local variables:
# eval: (add-hook 'write-file-hooks 'time-stamp)
# time-stamp-start: "scriptversion="
# time-stamp-format: "%:y-%02m-%02d.%02H"
# time-stamp-time-zone: "UTC"
# time-stamp-end: "; # UTC"
# End:
I also thought this might be useful:
nagin@croton:~/LIBVIRT/libvirt-0.8.6-git$ make syntax-check
GFDL_version
0.15 GFDL_version
TAB_in_indentation
0.04 TAB_in_indentation
Wundef_boolean
0.02 Wundef_boolean
avoid_ctype_macros
0.18 avoid_ctype_macros
avoid_if_before_free
9.73 avoid_if_before_free
avoid_write
0.04 avoid_write
bindtextdomain
0.04 bindtextdomain
cast_of_argument_to_free
0.17 cast_of_argument_to_free
cast_of_x_alloc_return_value
0.16 cast_of_x_alloc_return_value
changelog
0.02 changelog
check_author_list
%aE
maint.mk: committer(s) not listed in AUTHORS
make: *** [sc_check_author_list] Error 1
That will help me figure out whether vc-list-files needs to be
patched,
and or maint.mk taught to skip tests that require vc-list-files when run
from a tarball rather than from a git checkout. Ultimately, 'make
syntax-check' is intended for developers working from the latest
development repository, and isn't really needed for end users working
from a tarball.
--
Eric Blake eblake(a)redhat.com +1-801-349-2682
Libvirt virtualization library
http://libvirt.org
[attachment "signature.asc" deleted by Kenneth Nagin/Haifa/IBM]