[Top][All Lists]
[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.
gldbg.zip
Description: /tmp/gldbg*