Bug 16469 - bootstrap fails in libstdc++-v3/testsuite
Summary: bootstrap fails in libstdc++-v3/testsuite
Status: RESOLVED FIXED
Alias: None
Product: gcc
Classification: Unclassified
Component: bootstrap (show other bugs)
Version: 3.4.1
: P2 normal
Target Milestone: 3.4.2
Assignee: Richard Sandiford
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2004-07-10 21:19 UTC by Georg Schwarz
Modified: 2005-07-23 22:49 UTC (History)
2 users (show)

See Also:
Host: mips-sgi-irix5.3
Target: mips-sgi-irix5.3
Build: mips-sgi-irix5.3
Known to work:
Known to fail:
Last reconfirmed:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Georg Schwarz 2004-07-10 21:19:02 UTC
bootstrapping (configured with --enable-languages=c,c++,f77,ada, if that matters) finally ends up like this:

Making all in testsuite
make[4]: Entering directory `/usr/people/schwarz/gcc/mips-sgi-irix5.3/libstdc++-v3/testsuite'
/usr/people/schwarz/gcc-3.4.1/libstdc++-v3/scripts/create_testsuite_files \
  /usr/people/schwarz/gcc-3.4.1/libstdc++-v3/testsuite `${PWDCMD-pwd}`
make[4]: *** [testsuite_files] Error 1
make[4]: Leaving directory `/usr/people/schwarz/gcc/mips-sgi-irix5.3/libstdc++-v3/testsuite'
make[3]: *** [all-recursive] Error 1
make[3]: Leaving directory `/usr/people/schwarz/gcc/mips-sgi-irix5.3/libstdc++-v3'
make[2]: *** [all] Error 2
make[2]: Leaving directory `/usr/people/schwarz/gcc/mips-sgi-irix5.3/libstdc++-v3'
make[1]: *** [all-target-libstdc++-v3] Error 2
make[1]: Leaving directory `/usr/people/schwarz/gcc'
make: *** [bootstrap] Error 2

this can be manually reproduced by doing make in mips-sgi-irix5.3/libstdc++-v3/testsuite

lorenz 42% /usr/local/bin/make
/usr/people/schwarz/gcc-3.4.1/libstdc++-v3/scripts/create_testsuite_files \
  /usr/people/schwarz/gcc-3.4.1/libstdc++-v3/testsuite `${PWDCMD-pwd}`
make: *** [testsuite_files] Error 1

FYI:  lorenz 44% /usr/local/bin/make --version
GNU Make 3.80
Comment 1 Richard Sandiford 2004-07-15 11:03:45 UTC
create_testsuite_files is just a shell script.  Can you run it with:

    /bin/sh -x \
      \usr/people/schwarz/gcc-3.4.1/libstdc++-v3/scripts/create_testsuite_files \
      /usr/people/schwarz/gcc-3.4.1/libstdc++-v3/testsuite `${PWDCMD-pwd}`

and post the result?

It seems odd that you're getting an exit 1, since I can't see any
obvious early exits, and the script ends with exit 0.
Comment 2 Richard Sandiford 2004-07-15 11:06:05 UTC
Subject: Re:  bootstrap fails in libstdc++-v3/testsuite

"rsandifo at gcc dot gnu dot org" <gcc-bugzilla@gcc.gnu.org> writes:
>     /bin/sh -x \
>       \usr/people/schwarz/gcc-3.4.1/libstdc++-v3/scripts/create_testsuite_files \
>       /usr/people/schwarz/gcc-3.4.1/libstdc++-v3/testsuite `${PWDCMD-pwd}`

That should of course be:

  /bin/sh -x \
    /usr/people/schwarz/gcc-3.4.1/libstdc++-v3/scripts/create_testsuite_files \
    /usr/people/schwarz/gcc-3.4.1/libstdc++-v3/testsuite `${PWDCMD-pwd}`
Comment 3 Georg Schwarz 2004-07-17 08:53:40 UTC
(In reply to comment #2)
lorenz 7% /bin/sh -x \
? /usr/people/schwarz/gcc-3.4.1/libstdc++-v3/scripts/create_testsuite_files \
? /usr/people/schwarz/gcc-3.4.1/libstdc++-v3/testsuite `${PWDCMD-pwd}`
Missing }.
LC_ALL=C
+ export LC_ALL 
srcdir=/usr/people/schwarz/gcc-3.4.1/libstdc++-v3/testsuite
outdir=
tmp=/tmp/ctt1380
tests_file_normal=/testsuite_files
tests_file_inter=/testsuite_files_interactive
tests_file_perf=/testsuite_files_performance
+ cd /usr/people/schwarz/gcc-3.4.1/libstdc++-v3/testsuite 
+ echo 17_intro 18_support 19_diagnostics 20_util 21_strings 22_locale 23_containers 24_iterators 25_algorithms 26_numerics 27_io 
dlist=17_intro 18_support 19_diagnostics 20_util 21_strings 22_locale 23_containers 24_iterators 25_algorithms 26_numerics 27_io
+ test -d abi_check.cc 
+ test -d backward 
dlist=17_intro 18_support 19_diagnostics 20_util 21_strings 22_locale 23_containers 24_iterators 25_algorithms 26_numerics 27_io backward
+ test -d config 
dlist=17_intro 18_support 19_diagnostics 20_util 21_strings 22_locale 23_containers 24_iterators 25_algorithms 26_numerics 27_io backward config
+ test -d data 
dlist=17_intro 18_support 19_diagnostics 20_util 21_strings 22_locale 23_containers 24_iterators 25_algorithms 26_numerics 27_io backward config data
+ test -d demangle 
dlist=17_intro 18_support 19_diagnostics 20_util 21_strings 22_locale 23_containers 24_iterators 25_algorithms 26_numerics 27_io backward config data demangle
+ test -d ext 
dlist=17_intro 18_support 19_diagnostics 20_util 21_strings 22_locale 23_containers 24_iterators 25_algorithms 26_numerics 27_io backward config data demangle ext
+ test -d lib 
dlist=17_intro 18_support 19_diagnostics 20_util 21_strings 22_locale 23_containers 24_iterators 25_algorithms 26_numerics 27_io backward config data demangle ext lib
+ test -d libstdc++-dg 
dlist=17_intro 18_support 19_diagnostics 20_util 21_strings 22_locale 23_containers 24_iterators 25_algorithms 26_numerics 27_io backward config data demangle ext lib libstdc++-dg
+ test -d performance 
dlist=17_intro 18_support 19_diagnostics 20_util 21_strings 22_locale 23_containers 24_iterators 25_algorithms 26_numerics 27_io backward config data demangle ext lib libstdc++-dg performance
+ test -d printnow.c 
+ test -d testsuite_abi.cc 
+ test -d testsuite_abi.h 
+ test -d testsuite_allocator.cc 
+ test -d testsuite_allocator.h 
+ test -d testsuite_character.h 
+ test -d testsuite_hooks.cc 
+ test -d testsuite_hooks.h 
+ test -d testsuite_io.h 
+ test -d testsuite_performance.h 
+ test -d thread 
dlist=17_intro 18_support 19_diagnostics 20_util 21_strings 22_locale 23_containers 24_iterators 25_algorithms 26_numerics 27_io backward config data demangle ext lib libstdc++-dg performance thread
+ find 17_intro 18_support 19_diagnostics 20_util 21_strings 22_locale 23_containers 24_iterators 25_algorithms 26_numerics 27_io backward config data demangle ext lib libstdc++-dg performance thread ( -type f -o -type l ) -name *.cc 
+ sort 
+ test ! -s /tmp/ctt1380.1 
+ exit 1 

The problem appears to be caused by the find command in libstdc++-v3/scripts/create_testsuite_files being without a -print. On older UNIX systems find needs -print to do any output. Adding -print fixes the problem.

Comment 4 Richard Sandiford 2004-07-17 10:59:18 UTC
Thanks.  So much for "I can't see any obvious early exits". ;)
I must be blind...

Anyway, I'm testing the fix you suggested.
Comment 5 Georg Schwarz 2004-07-17 13:17:02 UTC
(In reply to comment #4)
A quick browse through the gcc source code suggests that the same problem (missing -print in find) seems to occur in the following files, too:

gcc-3.4.1/contrib/analyze_brprob
gcc-3.4.1/libjava/Makefile.am
gcc-3.4.1/libjava/Makefile.in
gcc-3.4.1/gcc/fixinc/check.tpl
gcc-3.4.1/maintainer-scripts/gcc_release
gcc-3.4.1/maintainer-scripts/update_web_docs
gcc-3.4.1/maintainer-scripts/update_web_docs_old




Comment 6 Richard Sandiford 2004-07-17 13:28:47 UTC
Subject: Re:  bootstrap fails in libstdc++-v3/testsuite

"geos at epost dot de" <gcc-bugzilla@gcc.gnu.org> writes:
> A quick browse through the gcc source code suggests that the same
> problem (missing -print in find) seems to occur in the following
> files, too:
>
> gcc-3.4.1/contrib/analyze_brprob

Not really critical; find's just mentioned a comment about suggested usage.

> gcc-3.4.1/libjava/Makefile.am
> gcc-3.4.1/libjava/Makefile.in

OK, I'll submit a patch for this as well.  I'm not sure if it's branch
material since libjava isn't supported for irix.

> gcc-3.4.1/gcc/fixinc/check.tpl

Again, I agree this is worth patching, but it's probably not branch
material.  It's only used if you do a fixincludes "make check".

> gcc-3.4.1/maintainer-scripts/gcc_release
> gcc-3.4.1/maintainer-scripts/update_web_docs
> gcc-3.4.1/maintainer-scripts/update_web_docs_old

These are only intended to run on gcc.gnu.org, so it doesn't really matter.

Richard
Comment 7 CVS Commits 2004-07-17 18:12:45 UTC
Subject: Bug 16469

CVSROOT:	/cvs/gcc
Module name:	gcc
Changes by:	rsandifo@gcc.gnu.org	2004-07-17 18:12:42

Modified files:
	libstdc++-v3   : ChangeLog 
	libstdc++-v3/scripts: create_testsuite_files 

Log message:
	PR bootstrap/16469
	* scripts/create_testsuite_files: Pass -print to find.

Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libstdc++-v3/ChangeLog.diff?cvsroot=gcc&r1=1.2579&r2=1.2580
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libstdc++-v3/scripts/create_testsuite_files.diff?cvsroot=gcc&r1=1.4&r2=1.5

Comment 8 CVS Commits 2004-07-17 18:13:58 UTC
Subject: Bug 16469

CVSROOT:	/cvs/gcc
Module name:	gcc
Branch: 	gcc-3_4-branch
Changes by:	rsandifo@gcc.gnu.org	2004-07-17 18:13:54

Modified files:
	libstdc++-v3   : ChangeLog 
	libstdc++-v3/scripts: create_testsuite_files 

Log message:
	PR bootstrap/16469
	* scripts/create_testsuite_files: Pass -print to find.

Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libstdc++-v3/ChangeLog.diff?cvsroot=gcc&only_with_tag=gcc-3_4-branch&r1=1.2224.2.145&r2=1.2224.2.146
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libstdc++-v3/scripts/create_testsuite_files.diff?cvsroot=gcc&only_with_tag=gcc-3_4-branch&r1=1.1.22.3&r2=1.1.22.4

Comment 9 Richard Sandiford 2004-07-17 18:17:40 UTC
libstdc++ patch applied to mainline and 3.4 branch:

    http://gcc.gnu.org/ml/gcc-patches/2004-07/msg01712.htm

Thanks for pointing out the other places where -print might
be missing.  I'll look into fixing libjava and fixinc for
mainline, but like I say, I'm not sure it's suitable for
the 3.4 branch.
Comment 10 Richard Sandiford 2004-07-17 18:20:11 UTC
Forgot to set the milestone.