Help: Unable to achieve satisfactory outcome from test suite for GCC 3.4.1 on Solaris 8

Thyer, Matthew Matthew.Thyer@dsto.defence.gov.au
Wed Aug 4 06:39:00 GMT 2004


I can build GCC with "make bootstrap" however I am unable to get good results from the test suite.

Using the method documented in this e-mail, I am getting this from the test suite:

	% egrep '==|^#' ../make_check.log | grep -v "tests ==="
	                === gcc Summary ===
	# of expected passes            24948
	# of unexpected successes       1
	# of expected failures          72
	# of unresolved testcases       5
	# of untested testcases         7
	# of unsupported tests          312
	                === g++ Summary ===
	# of expected passes            8419
	# of unexpected failures        1117
	# of expected failures          71
	# of unresolved testcases       14
	# of unsupported tests          67
	                === g77 Summary ===
	# of expected passes            1115
	# of unexpected failures        617
	# of unresolved testcases       14
	# of unsupported tests          6
	                === objc Summary ===
	# of expected passes            822
	# of unexpected failures        530
	# of unsupported tests          8
	                === libstdc++ Summary ===
	# of expected passes            1409
	# of unexpected failures        1287
	# of expected failures          6
	                === libffi Summary ===
	# of expected passes            77
	# of unexpected failures        77
	# of unsupported tests          2
	                === libjava Summary ===
	# of expected passes            1486
	# of unexpected failures        900
	# of expected failures          5
	# of untested testcases         907
	===================
	===================

When I compare this with "http://gcc.gnu.org/ml/gcc-testresults/2004-07/msg00258.html" I see that I have passed the first set of tests pretty well (those summarised under "gcc Summary") however all the other tests fail a lot more than expected.

The methodology I used to build and test the software is as follows:

Log on to "Server" after ensuring that your ~/.cshrc is similar to the attached file to ensure a clean environment.

Download the source archive for GCC 3.4.1 from the following location: ftp://mirror.aarnet.edu.au/pub/gcc/releases/gcc-3.4.1/gcc-3.4.1.tar.bz2

Download binary packages for GCC version 2.95.3 and gmake 3.79.1 which have been built for a prefix other than /usr/local (to not interfere with users).
Binaries built for prefix /opt/sfw are available from:
"Solaris 8 2/02 Companion Software individual packages download" at: "http://wwws.sun.com/software/solaris/freeware/pkgs_download.html".

These packages also require "gcmn-1.0-pkg.zip" which is available from the same location.

Put the downloaded archives "gcc-3.4.1.tar.bz2", "gcc-2.95.3-pkg.zip", "gmake-3.79.1-pkg.zip" and "gcmn-1.0-pkg.zip" in your home directory.

Run the following build script (as yourself not root but remember to prep your sudo first):

	#!/bin/sh

	# Make a temporary directory and change to it
	TMP_BASE=/var/tmp/$USER
	mkdir -p ${TMP_BASE}/SCIS_Change_$$
	cd ${TMP_BASE}/SCIS_Change_$$

	# Unpack the GCC source archive using GNU tar
	bzcat $HOME/gcc-3.4.1.tar.bz2 | /usr/local/bin/tar -xf -

	# Unpack and install the binary packages (those prefixed with /opt/sfw)
	unzip $HOME/gcmn-1.0-pkg.zip
	unzip $HOME/gcc-2.95.3-pkg.zip
	unzip $HOME/gmake-3.79.1-pkg.zip
	sudo /usr/sbin/pkgadd -n -d SFWgcmn all
	sudo /usr/sbin/pkgadd -n -d SFWgcc all
	sudo /usr/sbin/pkgadd -n -d SFWgmake all

	# Now configure GCC
	# Set necessary environment variables
	CC=/opt/sfw/bin/gcc
	CONFIG_SHELL=/bin/ksh
	export CC CONFIG_SHELL

	# Configure in a separate build directory
	mkdir objdir
	cd objdir
	${TMP_BASE}/SCIS_Change_$$/gcc-3.4.1/configure --with-gnu-as --with-as=/usr/local/bin/as --with-gnu-ld --with-ld=/usr/local/bin/ld --with-tune=ultrasparc --enable-languages=c,c++,f77,java,objc --disable-nls >../configure.log 2>&1

	# Build using the binary GNU make I installed earlier
	/opt/sfw/bin/gmake bootstrap >../make_bootstrap.log 2>&1

When the build script completes, the software needs to be tested in accordance with the testing plan which is included below:

	In order to complete testing, additional software being "DejaGnu 1.4.1 or 1.4.3 or later" is required.  The source code for "DejaGnu 1.4.3" can be obtained from:
	"ftp://mirror.aarnet.edu.au/pub/gnu/dejagnu/dejagnu-1.4.3.tar.gz".  This downloaded archive should be placed in your home directory.

	DejaGnu 1.4.3 requires Expect which requires Tk which requires Tcl.

	All of this software will need to be installed under a prefix which is not being used by clients.

	Expect, Tk and Tcl are all available prebuilt for the prefix "/opt/sfw" from: "Solaris 8 2/02 Companion Software individual packages download" at: "http://wwws.sun.com/software/solaris/freeware/pkgs_download.html".
	The files to be downloaded are: "expect-5.31-pkg.zip", "Tk-8.3.3-pkg.zip" and "Tcl-8.3.3-pkg.zip".

	Install the dependencies for "DejaGnu 1.4.3" first as follows:

	Log on to "Server" after ensuring that your ~/.cshrc is similar to the attached file to ensure a clean environment.

	% cd /var/tmp/$USER
	% unzip $HOME/Tcl-8.3.3-pkg.zip
	% unzip $HOME/Tk-8.3.3-pkg.zip
	% unzip $HOME/expect-5.31-pkg.zip
	% sudo /usr/sbin/pkgadd -n -d SFWtcl all
	% sudo /usr/sbin/pkgadd -n -d SFWtk all
	% sudo /usr/sbin/pkgadd -n -d SFWexpct all

	Then build and install "DejaGnu 1.4.3" as follows:

	Unpack the source archive for "DejaGnu 1.4.3" as follows:

	% rehash
	% gzcat ~/dejagnu-1.4.3.tar.gz | tar -xf -
	% mkdir dejagnu-objdir
	% cd dejagnu-objdir
	% setenv CC /opt/sfw/bin/gcc
	% /var/tmp/$USER/dejagnu-1.4.3/configure --srcdir=/var/tmp/$USER/dejagnu-1.4.3 --prefix=/opt/SCIS sparc-sun-solaris2
	% /opt/sfw/bin/gmake CC=$CC
	% sudo /opt/sfw/bin/gmake install

	Now run the GCC 3.4.1 test suite as follows (NOTE the number "18746" will need to be substituted with whatever your directory is as a result of the Build phase):

	% rehash
	% cd /var/tmp/$USER/SCIS_Change_18746/objdir
	% sudo /opt/sfw/bin/gmake -k check >& ../make_check.log

	When the test suite has completed, run the following command to summarise the test results:

	% egrep '==|^#' ../make_check.log | grep -v "tests ==="

	Compare the output with the result published at "http://gcc.gnu.org/ml/gcc-testresults/2004-07/msg00258.html".

Can anyone explain why I get these results?

Would it help to install the compiler and then use itself to build itself?



More information about the Gcc-help mailing list