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:

NetBSD Home
NetBSD PR Database Search

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