Return to BSD News archive
Path: sserve!newshost.anu.edu.au!munnari.oz.au!news.Hawaii.Edu!ames!elroy.jpl.nasa.gov!swrinde!cs.utexas.edu!natinst.com!hrd769.brooks.af.mil!hrd769.brooks.af.mil!not-for-mail From: burgess@hrd769.brooks.af.mil (Dave Burgess) Newsgroups: comp.os.386bsd.questions Subject: Critical Path for building complete GCC2 system starting at GCC1 Date: 26 Jul 1993 17:45:01 -0500 Organization: Armstrong Laboratory, Brooks AFB, TX Lines: 141 Message-ID: <231mpr$4tb@hrd769.brooks.af.mil> NNTP-Posting-Host: hrd769.brooks.af.mil Could some, anyone, please post a brief list of the steps required to upgrade from GCC-1 to GCC-2? Not only would it make a terrific addition to the FAQ (which is available by anonymous FTP from hrd769.brooks.af.mil) but would really help me get this thing put together right. Specifically, I am running NetBSD-current (update AO 26 Jul) and am still building everything I can with GCC1. I would really like to upgrade, but I just can't get the order right. For example: Builing the kernel with gcc1 works fine, but PS requires stuff from the new library. Does it get built with GCC1 or GCC2? Until I rebuild the libc.a, I can't rebuild ps. Building gcc (the compiler) with GCC1 is required at some point. Is that point before, or after the libgnu is built? When does 'ld' get rebuilt? How about the other /usr/src/gnu stuff? Knowing that there are certain tools that need to be rebuilt somewhere in the stream (ranlib, etc), where do THEY get rebuilt? Could we use the build.world script from FreeBSD? If so, just say so and I will track it down and make it go. One method I thought about employing involved recompiling everything in the system with the current sources and GCC1. Good plan, except that several of the sources gag big time on GCC1. Brain-damaged guessing: If I were to muddle through this in a more or less (mostly less) logical manner, I would probably start out with a current kernel (since I know that worked). The Makefile that is generated calls dbsym with an unsupported argument for the vanilla 0.8 dbsym, so that needed to be rebuilt. This meant that I needed the new _err routine from libc. That means I needed to rebuild the library with gcc1 and replace the old libc.a with the new one. While I was at it, I would probably rebuild the other libraries at the same time. What I did was remove the err() call and replaced it with a fprintf(stderr,) call instead. The kernel is now built. I have already learned my passwd file lesson (from a failed attempt early on in this process) and will not be installing ANYTHING until the last possible second. So anyway, I guess I am looking for a critical path description of this process. A little hand holding and coddling would sure be appreciated, and would certainly be documented for posterity in the FAQ. -- ------ TSgt Dave Burgess NCOIC AL/Management Information Systems Office Brooks AFB, TX From burgess Mon Jul 26 17:30:53 1993 Received: by hrd769.brooks.af.mil (5.67/1.34) id AA04735; Mon, 26 Jul 93 17:30:53 -0500 Date: Mon, 26 Jul 93 17:30:53 -0500 From: burgess (Dave Burgess) Message-Id: <9307262230.AA04735@hrd769.brooks.af.mil> Newsgroups: comp.os.386bsd.questions Subject: Critical path for upgrade of GCC from 1.38 to 2.* Summary: Followup-To: Distribution: Organization: Armstrong Laboratory, Brooks AFB, TX Keywords: Cc: Could some, anyone, please post a brief list of the steps required to upgrade from GCC-1 to GCC-2? Not only would it make a terrific addition to the FAQ (which is available by anonymous FTP from hrd769.brooks.af.mil) but would really help me get this thing put together right. Specifically, I am running NetBSD-current (update AO 26 Jul) and am still building everything I can with GCC1. I would really like to upgrade, but I just can't get the order right. For example: Builing the kernel with gcc1 works fine, but PS requires stuff from the new library. Does it get built with GCC1 or GCC2? Until I rebuild the libc.a, I can't rebuild ps. Building gcc (the compiler) with GCC1 is required at some point. Is that point before, or after the libgnu is built? When does 'ld' get rebuilt? How about the other /usr/src/gnu stuff? Knowing that there are certain tools that need to be rebuilt somewhere in the stream (ranlib, etc), where do THEY get rebuilt? Could we use the build.world script from FreeBSD? If so, just say so and I will track it down and make it go. One method I thought about employing involved recompiling everything in the system with the current sources and GCC1. Good plan, except that several of the sources gag big time on GCC1. Brain-damaged guessing: If I were to muddle through this in a more or less (mostly less) logical manner, I would probably start out with a current kernel (since I know that worked). The Makefile that is generated calls dbsym with an unsupported argument for the vanilla 0.8 dbsym, so that needed to be rebuilt. This meant that I needed the new _err routine from libc. That means I needed to rebuild the library with gcc1 and replace the old libc.a with the new one. While I was at it, I would probably rebuild the other libraries at the same time. What I did was remove the err() call and replaced it with a fprintf(stderr,) call instead. The kernel is now built. I have already learned my passwd file lesson (from a failed attempt early on in this process) and will not be installing ANYTHING until the last possible second. So anyway, I guess I am looking for a critical path description of this process. A little hand holding and coddling would sure be appreciated, and would certainly be documented for posterity in the FAQ. -- ------ TSgt Dave Burgess NCOIC AL/Management Information Systems Office Brooks AFB, TX -- ------ TSgt Dave Burgess NCOIC AL/Management Information Systems Office Brooks AFB, TX -- ------ TSgt Dave Burgess NCOIC AL/Management Information Systems Office Brooks AFB, TX