coreutils
[Top][All Lists]
Advanced

[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.



reply via email to

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