On Wed, Sep 7, 2016 at 10:17 PM, Assaf Gordon <[email protected]> wrote:
> Hello,
>
> Trying the latest coreutils (including the update to recent gnulib 
> 7da1068a87c),
> I get the following build error on Mac OS-X:
>
>  $ git clone git://git.sv.gnu.org/coreutils.git
>  $ cd coreutils/
>  $ git id
>  v8.25-66-gd47090d
>  $ (cd gnulib ; git id )
>  v0.1-865-g7da1068
>
>  $ ./bootstrap
>  $ ./configure
>  $ make
>  [...]
>     GEN      man/whoami.1
>     GEN      man/yes.1
>     GEN      lib/charset.alias
>     GEN      lib/ref-add.sed
>     GEN      lib/ref-del.sed
>   Making all in gnulib-tests
>   make[2]: *** No rule to make target `lib/assert.h', needed by `all'.  Stop.
>   make[1]: *** [all-recursive] Error 1
>   make: *** [all] Error 2
>
> The versions are:
>  $ uname -sr
>  Darwin 14.4.0
>  $ autoconf --version | head -n1
>  autoconf (GNU Autoconf) 2.69
>  $ automake --version | head -n1
>  automake (GNU automake) 1.15
>  $ gcc -v
>  Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr 
> --with-gxx-include-dir=/usr/include/c++/4.2.1
>  Apple LLVM version 6.1.0 (clang-602.0.53) (based on LLVM 3.6.0svn)
>  Target: x86_64-apple-darwin14.4.0
>  Thread model: posix
>
> Build does not fail on Debian 8.4 with:
>   $ gcc --version | head -n1
>   gcc (Debian 4.9.2-10) 4.9.2
>   $ autoconf --version | head -n1
>   autoconf (GNU Autoconf) 2.69
>   $ automake --version | head -n1
>   automake (GNU automake) 1.14.1

Hi Assaf,
Thanks for reporting that.
I noticed the same failure on a Centos 7 system.
I dug enough to find the probable cause+solution in the attached proposed patch:
From 6f0c342317455f6f3d5cee243f9a6e9f097cd5a4 Mon Sep 17 00:00:00 2001
From: Jim Meyering <[email protected]>
Date: Thu, 8 Sep 2016 13:32:17 -0700
Subject: [PATCH] maint: fix build failure due to missing lib/assert.h in
 gnulib/

* bootstrap.conf (gnulib_modules): Add assert-h.
This arose due to what may be a weakness in gnulib-tool and the
fact that a new test (getprogname) uses gnulib's assert-h module,
yet the top-level project did not specify that module.  However,
many coreutils programs include <assert.h>, so we should be using
assert-h, regardless. Reported by Assaf Gordon in
https://lists.gnu.org/archive/html/coreutils/2016-09/msg00016.html
---
 bootstrap.conf | 1 +
 1 file changed, 1 insertion(+)

diff --git a/bootstrap.conf b/bootstrap.conf
index 8a0ff31..152a4e0 100644
--- a/bootstrap.conf
+++ b/bootstrap.conf
@@ -33,6 +33,7 @@ gnulib_modules="
   argmatch
   argv-iter
   assert
+  assert-h
   autobuild
   backupfile
   base64
-- 
2.7.4

Reply via email to