This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug bootstrap/10996] New: Do not create files in the source directory
- From: "ludovic dot brenta at insalien dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 27 May 2003 18:02:15 -0000
- Subject: [Bug bootstrap/10996] New: Do not create files in the source directory
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
PLEASE REPLY TO gcc-bugzilla@gcc.gnu.org ONLY, *NOT* gcc-bugs@gcc.gnu.org.
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=10996
Summary: Do not create files in the source directory
Product: gcc
Version: 3.3
Status: UNCONFIRMED
Severity: enhancement
Priority: P5
Component: bootstrap
AssignedTo: unassigned@gcc.gnu.org
ReportedBy: ludovic.brenta@insalien.org
CC: dhazeghi@yahoo.com,gcc-
bugs@gcc.gnu.org,pinskia@physics.uc.edu
GCC build triplet: i686-pc-linux-gnu
GCC host triplet: i686-pc-linux-gnu
GCC target triplet: i686-pc-linux-gnu
The build instructions clearly say that people _must_ build in a different
directory than the one containing the sources. For example, let the source
directory by ~/src/gcc and the object directory be ~/src/gcc-obj. The
bootstrapping sequence would be:
$ cd ~/src/gcc
$ cvs -z3 update
$ rm -rf ~/src/gcc-obj
$ mkdir ~/src/gcc-obj
$ cd ~/src/gcc-obj
$ ../gcc/configure
$ make bootstrap
$ cd gcc
$ make gnatlib_and_tools
$ make gnatlib-shared
$ cd ..
$ make install
The problem is that "make bootstrap" creates a few files in the source
directory. There have been instances where these files contained errors
which caused subsequent bootstraps to fail, even after another "cvs update"
(see PR 10740 for one example). It also means that the second step, "cvs
update", is not guaranteed to produce a clean source directory from which one
can make a reliable, reproducible build.
I suggest that the bootstrap process be changed so as not to write any file
in the source directory. Ideally, it should be possible to boostrap with the
source directory on a read-only filesystem.
For this, someone more knowledgeable than me should look at the bootstrap
process to find all such files. So far, I have identified the following files
on gcc-3_3-branch as of 2003-05-27:
gcc/fastjar/fastjar.info
gcc/fastjar/jar.1
gcc/fastjar/grepjar.1
gcc/gcc/cp/parse.c
gcc/gcc/cp/parse.h
gcc/gcc/doc/cpp.1
gcc/gcc/doc/fsf-funding.7
gcc/gcc/doc/gcc.1
gcc/gcc/doc/gcov.1
gcc/gcc/doc/gfdl.7
gcc/gcc/doc/gpl.7
gcc/gcc/f/g77.1
gcc/gcc/java/gcj.1
gcc/gcc/java/gcjh.1
gcc/gcc/java/gij.1
gcc/gcc/java/jcf-dump.1
gcc/gcc/java/jv-convert.1
gcc/gcc/java/jv-scan.1
gcc/gcc/java/parse.c
gcc/gcc/java/parse-scan.c
gcc/gcc/java/rmic.1
gcc/gcc/java/rmiregistry.1
gcc/gcc/objc/objc-parse.c
gcc/gcc/objc/objc-parse.y
gcc/gcc/c-parse.y
gcc/gcc/c-parse.c
gcc/gcc/gengtype-lex.c
gcc/gcc/gengtype-yacc.c
gcc/gcc/gengtype-yacc.h
PS. The host, target and build triplets are probably not relevant, but I added
them anyway.
--
Ludovic Brenta.
------- You are receiving this mail because: -------
You are on the CC list for the bug, or are watching someone who is.