[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: "make check" in gnulib requires cppi
From: |
Bernhard Voelker |
Subject: |
Re: "make check" in gnulib requires cppi |
Date: |
Thu, 01 Sep 2011 08:51:45 +0200 |
User-agent: |
Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.20) Gecko/20110804 SUSE/3.1.12 Thunderbird/3.1.12 |
On 09/01/2011 08:37 AM, Jim Meyering wrote:
Bernhard Voelker wrote:
After
git checkout master&& git pull
"make check" fails in gnulib on my OpenSuSE 11.4 system
because cppi is not installed:
Thanks for the report.
However, ...
Thanks for the quick answer!
berny@blackice:~/git/coreutils> make check
GEN public-submodule-commit
fatal: Not a valid commit name 9926b90d5159916a539b49359b3589fe89c2d987
/usr/lib/git/git-submodule: line 299: test:
9926b90d5159916a539b49359b3589fe89c2d987: unary operator expected
Stopping at 'gnulib'; script returned non-zero status.
maint.mk: found non-public submodule commit
Have you updated your master gnulib directory?
The one you pointed to via ./bootstrap --gnulib-srcdir=...
Once you do that, coreutils' bootstrap should get past the above.
As HACKING and README-hacking suggest, I started once with
git clone git://git.sv.gnu.org/coreutils
but left out the optional step
export GNULIB_SRCDIR=/path/to/gnulib
so it cloned gnulib into coreutils/gnulib.
Then I continued with
cd coreutils
./bootstrap
git submodule foreach git pull origin master
...
I thought this would be sufficient. I'm a bit confused about
stacked git repositories (used to work with ClearCase for many
years). Is there a way out?
make: *** [public-submodule-commit] Error 1
berny@blackice:~/git/coreutils> cd gnulib
berny@blackice:~/git/coreutils/gnulib> make check
i=lib/intprops.h; \
diff -u<(perl -lne '/^# *define ([A-Z]\w+)\(/ and print $1' $i|fmt) \
<(sed -n /^_intprops_name/,/^_intprops_syms_re/p top/maint.mk \
|sed '/^_/d;s/^ //;s/ *\\$//')
./gnulib-tool --extract-filelist \
$(cd ./modules; grep -ilrE '(meyering|blake)' .) \
| sort -u \
| grep '\.c$' \
| grep -vE '/(stdio-(read|write)|getloadavg)\.c$' \
| xargs cppi -c
xargs: cppi: No such file or directory
make: *** [sc_cpp_indent_check] Error 127
... nor can it be found in any standard OpenSuSE standard repositories ;-/
cnf cppi
You can get it from here:
http://ftp.gnu.org/gnu/cppi/
done
Is it intended to include gnulib checks in coreutil's "make check"?
Not intended and not done.
You did it above by cd'ing into gnulib/ and manually running "make".
No coreutils rule should run make like that.
The Makefile in gnulib/ is special in that practically no one
other than maintainers runs it. Here's a comment from near the top
# This Makefile requires the use of GNU make. Some targets require
# that you have tools like git, makeinfo and cppi installed.
I didn't look there, sorry.
And if yes, shouldn't coreutils check for cppi availability?
Where coreutils rules do use cppi, they should always check first.
ok, thanks.