NetBSD Problem Report #48123
From www@NetBSD.org Wed Aug 14 14:36:48 2013
Return-Path: <www@NetBSD.org>
Received: from mail.netbsd.org (mail.netbsd.org [149.20.53.66])
(using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits))
(Client CN "mail.NetBSD.org", Issuer "Postmaster NetBSD.org" (verified OK))
by mollari.NetBSD.org (Postfix) with ESMTPS id 150A0710B9
for <gnats-bugs@gnats.NetBSD.org>; Wed, 14 Aug 2013 14:36:48 +0000 (UTC)
Message-Id: <20130814143646.25CEF710C3@mollari.NetBSD.org>
Date: Wed, 14 Aug 2013 14:36:46 +0000 (UTC)
From: gregoire.sutre@gmail.com
Reply-To: gregoire.sutre@gmail.com
To: gnats-bugs@NetBSD.org
Subject: Cross-build failure of tools (gmake's doc)
X-Send-Pr-Version: www-1.0
>Number: 48123
>Category: toolchain
>Synopsis: Cross-build failure of tools (gmake's doc)
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: toolchain-manager
>State: closed
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Wed Aug 14 14:40:00 +0000 2013
>Closed-Date: Thu Aug 29 05:58:19 +0000 2013
>Last-Modified: Thu Aug 29 05:58:19 +0000 2013
>Originator: Grégoire Sutre
>Release: NetBSD -current (2013-08-14 01:40 UTC)
>Organization:
>Environment:
Linux yosemite 3.10-2-amd64 #1 SMP Debian 3.10.5-1 (2013-08-07) x86_64 GNU/Linux
>Description:
Cross-building the tools fails on my Debian GNU/Linux system:
./build.sh -U -M /tmp/build -m amd64 tools
gives the error:
/bin/sh /extra/sutre/NetBSD/src/gnu/dist/gmake/config/missing --run makeinfo -I /extra/sutre/NetBSD/src/tools/gmake/../../gnu/dist/gmake/doc `test -f '/extra/sutre/NetBSD/src/tools/gmake/../../gnu/dist/gmake/doc/make.texi' || echo '/extra/sutre/NetBSD/src/tools/gmake/../../gnu/dist/gmake/doc/'`/extra/sutre/NetBSD/src/tools/gmake/../../gnu/dist/gmake/doc/make.texi -o make.info
/extra/sutre/NetBSD/src/tools/gmake/../../gnu/dist/gmake/doc/make.texi:7411: @itemx must follow @item
I suspect that the problem came up after an update of texinfo:
$ makeinfo --version
makeinfo (GNU texinfo) 5.1
>How-To-Repeat:
Run build.sh tools on a system with texinfo >= 5.
>Fix:
Apply the following patch, which was taken from upstream:
http://git.savannah.gnu.org/cgit/make.git/commit/?id=7c77486d1fbc820e6db97a5a11fabdc34dbdb729
Index: doc/make.texi
===================================================================
RCS file: /cvsroot/src/gnu/dist/gmake/doc/make.texi,v
retrieving revision 1.1.1.1
diff -u -r1.1.1.1 make.texi
--- doc/make.texi 29 Mar 2006 21:09:34 -0000 1.1.1.1
+++ doc/make.texi 14 Aug 2013 14:22:22 -0000
@@ -7408,7 +7408,7 @@
rarely need to specify this option since @samp{make} does it for you;
see @ref{-w Option, ,The @samp{--print-directory} Option}.)
-@itemx --no-print-directory
+@item --no-print-directory
@cindex @code{--no-print-directory}
Disable printing of the working directory under @code{-w}.
This option is useful when @code{-w} is turned on automatically,
>Release-Note:
>Audit-Trail:
From: Alan Barrett <apb@cequrux.com>
To: gnats-bugs@NetBSD.org
Cc:
Subject: Re: toolchain/48123: Cross-build failure of tools (gmake's doc)
Date: Wed, 14 Aug 2013 18:15:34 +0200
On Wed, 14 Aug 2013, gregoire.sutre@gmail.com wrote:
>>How-To-Repeat:
>Run build.sh tools on a system with texinfo >= 5.
The host system's version of makeinfo should be irrelevant. The build
should use the version that is built from src/tools/texinfo.
I couldn't tell which Makefile has the problem. Please could we see
more of the build log, up to at least the first "Stopped in <directory>"
message after the error.
>>Fix:
>Apply the following patch, which was taken from upstream:
Regardless of the actual problem, this patch probably makes sense.
--apb (Alan Barrett)
From: =?UTF-8?B?R3LDqWdvaXJlIFN1dHJl?= <gregoire.sutre@gmail.com>
To: gnats-bugs@NetBSD.org
Cc: Alan Barrett <apb@cequrux.com>, toolchain-manager@netbsd.org,
gnats-admin@netbsd.org, netbsd-bugs@netbsd.org
Subject: Re: toolchain/48123: Cross-build failure of tools (gmake's doc)
Date: Wed, 14 Aug 2013 22:22:46 +0200
On 08/14/2013 06:20 PM, Alan Barrett wrote:
> I couldn't tell which Makefile has the problem. Please could we see
> more of the build log, up to at least the first "Stopped in<directory>"
> message after the error.
Sorry, I should have included the build log. Here it is,
starting from the build of gmake.
dependall-gmake ===> .
dependall ===> gmake
Cleaning stale cache files Linux-3.10-2-amd64-x86_64 != none
checking for a BSD-compatible install...
/tmp/build/extra/sutre/NetBSD/src/tooldir.Linux-3.10-2-amd64-x86_64/bin/x86_64--netbsd-install
-c -r
checking whether build environment is sane... yes
checking for gawk...
/tmp/build/extra/sutre/NetBSD/src/tooldir.Linux-3.10-2-amd64-x86_64/bin/nbawk
checking whether
/tmp/build/extra/sutre/NetBSD/src/tooldir.Linux-3.10-2-amd64-x86_64/bin/nbmake
sets ${MAKE}... yes
checking whether
/tmp/build/extra/sutre/NetBSD/src/tooldir.Linux-3.10-2-amd64-x86_64/bin/nbmake
sets ${MAKE}... (cached) yes
checking for gcc... cc
checking for C compiler default output... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables...
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether cc accepts -g... yes
checking for cc option to accept ANSI C... none needed
checking for style of include used by
/tmp/build/extra/sutre/NetBSD/src/tooldir.Linux-3.10-2-amd64-x86_64/bin/nbmake...
GNU
checking dependency style of cc... gcc3
checking for a BSD-compatible install...
/tmp/build/extra/sutre/NetBSD/src/tooldir.Linux-3.10-2-amd64-x86_64/bin/x86_64--netbsd-install
-c -r
checking for ranlib... ranlib
checking how to run the C preprocessor... cc -E
checking for ar... ar
checking for perl... perl
checking build system type... x86_64-unknown-linux-gnu
checking host system type... x86_64-unknown-linux-gnu
checking for egrep... grep -E
checking for AIX... no
checking for strerror in -lcposix... no
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking minix/config.h usability... no
checking minix/config.h presence... no
checking for minix/config.h... no
checking for msgfmt... /usr/bin/msgfmt
checking for gmsgfmt... /usr/bin/msgfmt
checking for xgettext... /usr/bin/xgettext
checking for msgmerge... /usr/bin/msgmerge
checking for ld used by GCC... /usr/bin/ld
checking if the linker (/usr/bin/ld) is GNU ld... yes
checking for shared library run path origin... done
checking whether NLS is requested... no
checking for special C compiler options needed for large files... no
checking for _FILE_OFFSET_BITS value needed for large files... no
checking for _LARGE_FILES value needed for large files... no
checking for library containing getpwnam... none required
checking for ANSI C header files... (cached) yes
checking for dirent.h that defines DIR... yes
checking for library containing opendir... none required
checking whether stat file-mode macros are broken... no
checking whether time.h and sys/time.h may both be included... yes
checking for stdlib.h... (cached) yes
checking locale.h usability... yes
checking locale.h presence... yes
checking for locale.h... yes
checking for unistd.h... (cached) yes
checking limits.h usability... yes
checking limits.h presence... yes
checking for limits.h... yes
checking fcntl.h usability... yes
checking fcntl.h presence... yes
checking for fcntl.h... yes
checking for string.h... (cached) yes
checking for memory.h... (cached) yes
checking sys/param.h usability... yes
checking sys/param.h presence... yes
checking for sys/param.h... yes
checking sys/time.h usability... yes
checking sys/time.h presence... yes
checking for sys/time.h... yes
checking sys/timeb.h usability... yes
checking sys/timeb.h presence... yes
checking for sys/timeb.h... yes
checking whether cc understands -c and -o together... yes
checking for cc option to accept ANSI C... none needed
checking for an ANSI C-conforming const... yes
checking return type of signal handlers... void
checking for uid_t in sys/types.h... yes
checking for pid_t... yes
checking for uintmax_t... yes
checking for nanoseconds field of struct stat.st_mtim... tv_nsec
checking whether to use high resolution file timestamps... yes
checking for library containing clock_gettime... none required
checking for standard gettimeofday... yes
checking for memcpy... yes
checking for memmove... yes
checking for strchr... yes
checking for strdup... yes
checking for mkstemp... yes
checking for mktemp... yes
checking for fdopen... yes
checking for bsd_signal... yes
checking for dup2... yes
checking for getcwd... yes
checking for sigsetmask... yes
checking for sigaction... yes
checking for getgroups... yes
checking for seteuid... yes
checking for setegid... yes
checking for setlinebuf... yes
checking for setreuid... yes
checking for setregid... yes
checking for setvbuf... yes
checking for pipe... yes
checking for strerror... yes
checking for strsignal... yes
checking for function prototypes... yes
checking whether setvbuf arguments are reversed... no
checking for working strcoll... yes
checking for working alloca.h... yes
checking for alloca... yes
checking for unistd.h... (cached) yes
checking vfork.h usability... no
checking vfork.h presence... no
checking for vfork.h... no
checking for fork... yes
checking for vfork... yes
checking for working fork... yes
checking for working vfork... (cached) yes
checking for vprintf... yes
checking for _doprnt... no
checking whether closedir returns void... no
checking for getloadavg... yes
checking for pstat_getdynamic... no
checking for kstat_open in -lkstat... no
checking for getloadavg... yes
checking whether getloadavg requires setgid... no
checking for sys_siglist declaration in signal.h or unistd.h... yes
checking sys/wait.h usability... yes
checking sys/wait.h presence... yes
checking for sys/wait.h... yes
checking for waitpid... yes
checking for wait3... yes
checking for union wait... no
checking for SA_RESTART... yes
checking for location of SCCS get command... get
checking if system libc has GNU glob... yes
checking if malloc debugging is wanted... no
configure: creating ./config.status
config.status: creating Makefile
config.status: creating glob/Makefile
config.status: creating po/Makefile.in
config.status: creating config/Makefile
config.status: creating doc/Makefile
config.status: creating build.sh
config.status: creating config.h
config.status: executing depfiles commands
config.status: executing default-1 commands
config.status: creating po/POTFILES
config.status: creating po/Makefile
NOT REBUILDING
/extra/sutre/NetBSD/src/tools/gmake/../../gnu/dist/gmake/config.h.in
/tmp/build/extra/sutre/NetBSD/src/tooldir.Linux-3.10-2-amd64-x86_64/bin/nbmake
-f /extra/sutre/NetBSD/src/tools/gmake/../Makefile.gnuwrap all-recursive
Making all in glob
Making all in config
Making all in po
Making all in doc
/bin/sh /extra/sutre/NetBSD/src/gnu/dist/gmake/config/missing --run makeinfo
-I /extra/sutre/NetBSD/src/tools/gmake/../../gnu/dist/gmake/doc `test -f
'/extra/sutre/NetBSD/src/tools/gmake/../../gnu/dist/gmake/doc/make.texi' ||
echo
'/extra/sutre/NetBSD/src/tools/gmake/../../gnu/dist/gmake/doc/'`/extra/sutre/NetBSD/src/tools/gmake/../../gnu/dist/gmake/doc/make.texi
-o make.info
/extra/sutre/NetBSD/src/tools/gmake/../../gnu/dist/gmake/doc/make.texi:7411:
@itemx must follow @item
*** Failed target: make.info
*** Failed command: /bin/sh
/extra/sutre/NetBSD/src/gnu/dist/gmake/config/missing --run makeinfo -I
/extra/sutre/NetBSD/src/tools/gmake/../../gnu/dist/gmake/doc `test -f
'/extra/sutre/NetBSD/src/tools/gmake/../../gnu/dist/gmake/doc/make.texi' ||
echo
'/extra/sutre/NetBSD/src/tools/gmake/../../gnu/dist/gmake/doc/'`/extra/sutre/NetBSD/src/tools/gmake/../../gnu/dist/gmake/doc/make.texi
-o make.info
*** Error code 1
Stop.
nbmake[6]: stopped in /tmp/build/extra/sutre/NetBSD/src/tools/gmake/build/doc
*** Failed target: all-recursive
*** Failed command: set fnord $MAKEFLAGS; amf=$2; dot_seen=no; target=`echo
all-recursive | sed s/-recursive//`; list='glob config po doc'; for subdir
in $list; do echo "Making $target in $subdir"; if test "$subdir" = "."; then
dot_seen=yes; local_target="$target-am"; else local_target="$target"; fi;
(cd $subdir &&
/tmp/build/extra/sutre/NetBSD/src/tooldir.Linux-3.10-2-amd64-x86_64/bin/nbmake
-f /extra/sutre/NetBSD/src/tools/gmake/../Makefile.gnuwrap $local_target) ||
case "$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; done; if test
"$dot_seen" = "no"; then
/tmp/build/extra/sutre/NetBSD/src/tooldir.Linux-3.10-2-amd64-x86_64/bin/nbmake
-f /extra/sutre/NetBSD/src/tools/gmake/../Makefile.gnuwrap "$target-am" ||
exit 1; fi; test -z "$fail"
*** Error code 1
Stop.
nbmake[5]: stopped in /tmp/build/extra/sutre/NetBSD/src/tools/gmake/build
*** Failed target: all
*** Failed command:
/tmp/build/extra/sutre/NetBSD/src/tooldir.Linux-3.10-2-amd64-x86_64/bin/nbmake
-f /extra/sutre/NetBSD/src/tools/gmake/../Makefile.gnuwrap all-recursive
*** Error code 1
Stop.
nbmake[4]: stopped in /tmp/build/extra/sutre/NetBSD/src/tools/gmake/build
*** Failed target: .build_done
*** Failed command: (cd build && CC=cc CFLAGS=-O CPPFLAGS= CXX=c++ AR=ar
AWK=/tmp/build/extra/sutre/NetBSD/src/tooldir.Linux-3.10-2-amd64-x86_64/bin/nbawk
CC=cc CFLAGS=-O CONFIG_SHELL=/bin/sh CPPFLAGS= CXX=c++ CXXFLAGS=-O
INSTALL=/tmp/build/extra/sutre/NetBSD/src/tooldir.Linux-3.10-2-amd64-x86_64/bin/x86_64--netbsd-install\
-c\ \ -r LDFLAGS=
LEX=/tmp/build/extra/sutre/NetBSD/src/tooldir.Linux-3.10-2-amd64-x86_64/bin/nblex
M4=/tmp/build/extra/sutre/NetBSD/src/tooldir.Linux-3.10-2-amd64-x86_64/bin/nbm4
MAKE=/tmp/build/extra/sutre/NetBSD/src/tooldir.Linux-3.10-2-amd64-x86_64/bin/nbmake
PATH="/tmp/build/extra/sutre/NetBSD/src/tooldir.Linux-3.10-2-amd64-x86_64/bin:$PATH"
RANLIB=ranlib
YACC=/tmp/build/extra/sutre/NetBSD/src/tooldir.Linux-3.10-2-amd64-x86_64/bin/nbyacc
/tmp/build/extra/sutre/NetBSD/src/tooldir.Linux-3.10-2-amd64-x86_64/bin/nbmake
-f /extra/sutre/NetBSD/src/tools/gmake/../Makefile.gnuwrap BISON=true
DESTDIR=
INSTALL=/tmp/build/extra/sutre/NetBSD/src/tooldir.Linux-3.10-2-amd64-x86_64/bin/x86_64--netbsd-install\
-c\ \ -r all)
*** Error code 1
Stop.
nbmake[3]: stopped in /extra/sutre/NetBSD/src/tools/gmake
*** Failed target: dependall
*** Failed command: cd "/extra/sutre/NetBSD/src/tools/gmake";
/tmp/build/extra/sutre/NetBSD/src/tooldir.Linux-3.10-2-amd64-x86_64/bin/nbmake
realall
*** Error code 1
Stop.
nbmake[2]: stopped in /extra/sutre/NetBSD/src/tools/gmake
*** Failed target: dependall-gmake
*** Failed command: _makedirtarget() { dir="$1"; shift; target="$1"; shift;
case "${dir}" in /*) this="${dir}/"; real="${dir}" ;; .) this="";
real="/extra/sutre/NetBSD/src/tools" ;; *) this="${dir}/";
real="/extra/sutre/NetBSD/src/tools/${dir}" ;; esac; show=${this:-.}; echo
"${target} ===> ${show%/}${1:+ (with: $@)}"; cd "${real}" &&
/tmp/build/extra/sutre/NetBSD/src/tooldir.Linux-3.10-2-amd64-x86_64/bin/nbmake
_THISDIR_="${this}" "$@" ${target}; }; _makedirtarget gmake dependall
*** Error code 1
Stop.
nbmake[1]: stopped in /extra/sutre/NetBSD/src/tools
*** Failed target: build_install
*** Failed command: _makedirtarget() { dir="$1"; shift; target="$1"; shift;
case "${dir}" in /*) this="${dir}/"; real="${dir}" ;; .) this="";
real="/extra/sutre/NetBSD/src/tools" ;; *) this="${dir}/";
real="/extra/sutre/NetBSD/src/tools/${dir}" ;; esac; show=${this:-.}; echo
"${target} ===> ${show%/}${1:+ (with: $@)}"; cd "${real}" &&
/tmp/build/extra/sutre/NetBSD/src/tooldir.Linux-3.10-2-amd64-x86_64/bin/nbmake
_THISDIR_="${this}" "$@" ${target}; }; _makedirtarget . dependall-gmake
*** Error code 1
Stop.
nbmake: stopped in /extra/sutre/NetBSD/src/tools
ERROR: Failed to make build_install in "tools"
*** BUILD ABORTED ***
From: =?ISO-8859-1?Q?Gr=E9goire_Sutre?= <gregoire.sutre@gmail.com>
To: gnats-bugs@NetBSD.org
Cc:
Subject: Re: toolchain/48123: Cross-build failure of tools (gmake's doc)
Date: Fri, 16 Aug 2013 01:25:58 +0200
On 08/14/2013 06:20 PM, Alan Barrett wrote:
> The host system's version of makeinfo should be irrelevant. The build
> should use the version that is built from src/tools/texinfo.
The following patch fixes the problem. Is this the right fix?
Index: Makefile
===================================================================
RCS file: /cvsroot/src/tools/gmake/Makefile,v
retrieving revision 1.2
diff -u -r1.2 Makefile
--- Makefile 27 Oct 2006 22:36:23 -0000 1.2
+++ Makefile 15 Aug 2013 23:23:46 -0000
@@ -11,6 +11,8 @@
CONFIGURE_ARGS= --program-prefix=${_TOOL_PREFIX}g
CONFIGURE_ARGS+=--disable-nls
+MAKE_ARGS= MAKEINFO=${TOOL_MAKEINFO:Q}
+
.NOTPARALLEL:
.include "${.CURDIR}/../Makefile.gnuhost"
From: Alan Barrett <apb@cequrux.com>
To: gnats-bugs@NetBSD.org
Cc:
Subject: Re: toolchain/48123: Cross-build failure of tools (gmake's doc)
Date: Fri, 16 Aug 2013 10:23:04 +0200
On Thu, 15 Aug 2013, Grégoire Sutre wrote:
> The following patch fixes the problem. Is this the right fix?
Yes, I think so. That's in line with what some other tools do.
It might be better to disable running makeinfo entirely, but if
we do that then it should be for all tools, not just for gcc.
--apb (Alan Barrett)
From: =?UTF-8?B?R3LDqWdvaXJlIFN1dHJl?= <gsutre@netbsd.org>
To: gnats-bugs@gnats.NetBSD.org
Cc:
Subject: PR/48123 CVS commit: src/tools/gmake
Date: Fri, 16 Aug 2013 10:29:32 +0000
Module Name: src
Committed By: gsutre
Date: Fri Aug 16 10:29:32 UTC 2013
Modified Files:
src/tools/gmake: Makefile
Log Message:
Use makeinfo built from src/tools/texinfo. Fixes PR toolchain/48123.
ok apb@
To generate a diff of this commit:
cvs rdiff -u -r1.2 -r1.3 src/tools/gmake/Makefile
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
State-Changed-From-To: open->closed
State-Changed-By: dholland@NetBSD.org
State-Changed-When: Thu, 29 Aug 2013 05:58:19 +0000
State-Changed-Why:
fixed by submitter
>Unformatted:
(Contact us)
$NetBSD: query-full-pr,v 1.39 2013/11/01 18:47:49 spz Exp $
$NetBSD: gnats_config.sh,v 1.8 2006/05/07 09:23:38 tsutsui Exp $
Copyright © 1994-2007
The NetBSD Foundation, Inc. ALL RIGHTS RESERVED.