This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug bootstrap/10996] New: Do not create files in the source directory


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.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]