bug-gnulib
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: gnulib/gnulib-tool: line 1512: echo: write error: Broken pipe


From: Sam Steingold
Subject: Re: gnulib/gnulib-tool: line 1512: echo: write error: Broken pipe
Date: Sun, 29 Jun 2008 21:39:05 -0400
User-agent: Gnus/5.11 (Gnus v5.11) Emacs/22.2 (gnu/linux)

Hi Bruno,

> * Bruno Haible <address@hidden> [2008-06-30 02:26:05 +0200]:
>
>> >       inmodules=`echo "$handledmodules" | LC_ALL=C join -v 2 - 
>> > "$tmp"/queued-modules`
>> >     and it looks improbable that 'join' would terminate before it has 
>> > consumed
>> >     all its input.)
>> 
>> indeed, that is the line 1512 (as you know, Makefile.devel does "cvs up"
>> before running gnulib-tool).
>> ...
>> $ echo $BASH_VERSION
>> 3.2.33(1)-release
>
> Hmm. I installed bash-3.2.33 but could not reproduce the problem with a
> normal gnulib-tool invocation.
>
> What is  join --version  ?

join (GNU coreutils) 6.10

> Can you save the inputs of that incriminating pipe and see if they contain
> something particular? Like this: Before line 1512, insert
>
>     if test -f /tmp/gldbgcounter; then dbgcounter=`cat /tmp/gldbgcounter`; 
> else dbgcounter=0; fi
>     echo "$handledmodules" > /tmp/gldbg$dbgcounter-input1
>     cat "$tmp"/queued-modules > /tmp/gldbg$dbgcounter-input2
>     expr $dbgcounter + 1 > /tmp/gldbgcounter
>
> then perform the usual gnulib-tool command again.


$ gnulib/gnulib-tool --import --source-base=src/gllib --m4-base=src/glm4 
--aux-dir=src/build-aux --no-changelog stdint stdbool regex fnmatch-gnu havelib 
gettext localcharset uniwidth/width streq uniname/uniname unitypes link-follow
Module list with included dependencies:
  alloca
  alloca-opt
  configmake
  extensions
  fnmatch
  fnmatch-gnu
  gettext
  gettext-h
  havelib
  include_next
  link-follow
  link-warning
  localcharset
  malloc
  malloc-posix
  regex
  ssize_t
  stdbool
  stdint
  stdlib
  streq
  uniname/base
  uniname/uniname
  unistd
  unitypes
  uniwidth/base
  uniwidth/width
  wchar
  wctype
gnulib/gnulib-tool: line 1516: echo: write error: Broken pipe
Notice from module localcharset:
  If your package's tests make use of the locale_charset() function directly or
  indirectly, you may need to define the CHARSETALIASDIR environment variable,
  so that "make check" works before "make install". In Makefile.am syntax:
  TESTS_ENVIRONMENT += @LOCALCHARSET_TESTS_ENVIRONMENT@
File list:
  build-aux/config.rpath
  build-aux/link-warning.h
  lib/alloca.c
  lib/alloca.in.h
  lib/config.charset
  lib/fnmatch.c
  lib/fnmatch.in.h
  lib/fnmatch_loop.c
  lib/gettext.h
  lib/localcharset.c
  lib/localcharset.h
  lib/malloc.c
  lib/ref-add.sin
  lib/ref-del.sin
  lib/regcomp.c
  lib/regex.c
  lib/regex.h
  lib/regex_internal.c
  lib/regex_internal.h
  lib/regexec.c
  lib/stdbool.in.h
  lib/stdint.in.h
  lib/stdlib.in.h
  lib/streq.h
  lib/uniname.h
  lib/uniname/gen-uninames.lisp
  lib/uniname/uniname.c
  lib/uniname/uninames.h
  lib/unistd.in.h
  lib/unitypes.h
  lib/uniwidth.h
  lib/uniwidth/cjk.h
  lib/uniwidth/width.c
  lib/wchar.in.h
  lib/wctype.in.h
  m4/alloca.m4
  m4/codeset.m4
  m4/extensions.m4
  m4/fnmatch.m4
  m4/gettext.m4
  m4/glibc2.m4
  m4/glibc21.m4
  m4/gnulib-common.m4
  m4/iconv.m4
  m4/include_next.m4
  m4/intdiv0.m4
  m4/intl.m4
  m4/intldir.m4
  m4/intlmacosx.m4
  m4/intmax.m4
  m4/inttypes-pri.m4
  m4/inttypes_h.m4
  m4/lcmessage.m4
  m4/lib-ld.m4
  m4/lib-link.m4
  m4/lib-prefix.m4
  m4/link-follow.m4
  m4/localcharset.m4
  m4/lock.m4
  m4/longlong.m4
  m4/malloc.m4
  m4/mbstate_t.m4
  m4/nls.m4
  m4/po.m4
  m4/printf-posix.m4
  m4/progtest.m4
  m4/regex.m4
  m4/size_max.m4
  m4/ssize_t.m4
  m4/stdbool.m4
  m4/stdint.m4
  m4/stdint_h.m4
  m4/stdlib_h.m4
  m4/uintmax_t.m4
  m4/unistd_h.m4
  m4/visibility.m4
  m4/wchar.m4
  m4/wchar_t.m4
  m4/wctype.m4
  m4/wint_t.m4
  m4/xsize.m4
Finished.

You may need to add #include directives for the following .h files.
  #include <stdbool.h>
  #include <stdint.h>
  #include "fnmatch.h"
  #include "gettext.h"
  #include "localcharset.h"
  #include "regex.h"
  #include "streq.h"
  #include "uniname.h"
  #include "unitypes.h"
  #include "uniwidth.h"

You may need to use the following Makefile variables when linking.
Use them in <program>_LDADD when linking a program, or
in <library>_a_LDFLAGS or <library>_la_LDFLAGS when linking a library.
  $(LTLIBINTL) when linking with libtool, $(LIBINTL) otherwise

Don't forget to
  - add "src/gllib/Makefile" to AC_CONFIG_FILES in ./configure.ac,
  - mention "gllib" in SUBDIRS in src/Makefile.am,
  - mention "-I src/glm4" in ACLOCAL_AMFLAGS in Makefile.am,
  - invoke gl_EARLY in ./configure.ac, right after AC_PROG_CC,
  - invoke gl_INIT in ./configure.ac.


> Can you see a pattern among the /tmp/gldbg* files?

$ wc /tmp/gldbg*
  12   12  120 /tmp/gldbg0-input1
  17   17  157 /tmp/gldbg0-input2
  24   24  235 /tmp/gldbg1-input1
  10   10   98 /tmp/gldbg1-input2
  27   27  272 /tmp/gldbg2-input1
   1    1    7 /tmp/gldbg2-input2
  28   28  279 /tmp/gldbg3-input1
   3    3   33 /tmp/gldbg3-input2
  29   29  286 /tmp/gldbg4-input1
   2    2   26 /tmp/gldbg4-input2
  12   12  120 /tmp/gldbg5-input1
  17   17  157 /tmp/gldbg5-input2
  24   24  235 /tmp/gldbg6-input1
  10   10   98 /tmp/gldbg6-input2
  27   27  272 /tmp/gldbg7-input1
   1    1    7 /tmp/gldbg7-input2
  28   28  279 /tmp/gldbg8-input1
   3    3   33 /tmp/gldbg8-input2
  29   29  286 /tmp/gldbg9-input1
   2    2   26 /tmp/gldbg9-input2
   1    1    3 /tmp/gldbgcounter
 307  307 3029 total
$ cat /tmp/gldbgcounter
10

> For which value of i does
>    foo=`cat /tmp/gldbg$i-input1 | LC_ALL=C join -v 2 - /tmp/gldbg$i-input2`
> print "echo: write error: Broken pipe"?

$ for i in 0 1 2 3 4 5 6 7 8 9; do foo=`cat /tmp/gldbg$i-input1 | LC_ALL=C join 
-v 2 - /tmp/gldbg$i-input2`; echo $i-$foo; done
0-alloca configmake extensions fnmatch gettext-h include_next malloc ssize_t 
uniname/base uniwidth/base wchar wctype
1-alloca-opt link-warning malloc-posix
2-stdlib
3-unistd
4-
5-alloca configmake extensions fnmatch gettext-h include_next malloc ssize_t 
uniname/base uniwidth/base wchar wctype
6-alloca-opt link-warning malloc-posix
7-stdlib
8-unistd
9-


-- 
Sam Steingold (http://sds.podval.org/) on Fedora release 9 (Sulphur)
http://jihadwatch.org http://palestinefacts.org http://honestreporting.com
http://mideasttruth.com http://truepeace.org http://openvotingconsortium.org
A poet who reads his verse in public may have other nasty habits.

Attachment: gldbg.zip
Description: /tmp/gldbg*


reply via email to

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