Sequence of steps needed to update both GCC and GLIBC

Rogelio Serrano rogelio@smsglobal.net
Thu Apr 29 13:26:00 GMT 2004


You should have read www.linuxfromscratch.org first.

On 2004-04-29 21:14:14 +0800 Frank Krauss 
<fmfkrauss@mindspring.com> wrote:

> I'm writing this note to the list in the hope that it may be 
> useful
> to someone who had similar problems as myself when attempting 
> to update both 
> GCC and GLIBC on a Linux System.
> 
> My System is the Caldera 2.3 Distribution running Kernel 
> 2.4.22 on a Pentium 
> II.
> My GCC was egcs-2.91.66 which I wanted to update to GCS 3.3
> My GLIBC was 2.1.1 which I wanted to update to GLIBC 2.2.5
> My Binutils was 2.13.2
> 
> There were Pre-reqs that had to be updated first.
> 1.  The GCC update required me to update "Texinfo" from 3.12 
> to 4.6
> 2.  The GLIBC update required me to update "make" from 3.77 to 
> 3.79
> 
> Procedure to be followed:
> 1.  There is a duplicate defination of RLIM_INFINITY in 
> resource.h.
>     THe GLIBC member is in /usr/include/bits/resource.h
>     The Kernel member is in 
> /usr/src/linux/include/asm/resource.h
>     This is described in GCC Bugzilla problem 5039.
>     I arbitrially decided to comment out line 26 in the Kernel 
> member.
> 2.  Do the update of GCC from egcs-2.91.66 to GCC 3.0.4
>     Please note that this is NOT the final GCC desired.
>     It just has to be done in a two step phase in order for it 
> to work.
>     Follow the directions given.
>     The "make bootstrap" will take about 1 1/2 Hours to do.
>     At the end, make sure to run "ldconfig -v"
>     After the update is done, Re-boot your Computer and do a 
> "gcc -v"
>     It will now show that uou are using the new GCC just 
> created.
> 3.  In order to feel comfortable about this new GCC, I built a 
> Kernel using
>     the "make oldconfig" option.
>     Before doing this you MUST put back the old "resource.h" 
> code that you
>     changed in Step 1.
>     Re-boot your System with the new Kernel.
> 4.  The next step is to Upgrade GLIBC to 2.2.5.
>     Follow the directions given.
>     Make sure to capture the Console output of the "configure" 
> step and
>        check for "bad"
>     I used the following "configure" options       
> --enable-add-ons
>        --with-headers=/usr/src/linux/include
>        --prefix=/usr
>     The only entry that was "bad" was for "msgfmt" and I 
> ignored that 
> The "make" step will take about 20 Minutes.    The "make 
> check" step will 
> take about 15 Minutes.
>     At the end, do "/lib/libc.so.6".  It will show that the    
>    C Library is 
> now 2.2.5.
>     Now Re-boot your Computer for safety sake.
> 5.  In order to feel comfortable after doing this big update, 
> I again built
>     a Kernel using the "make oldconfig" option.
>     Re-boot your System with the new Kernel.
> 6.  The last major step is to now update GCC from 3.0.4 to GCC 
> 3.3.
>     I found that in order to get around a problem with the LD 
> program that I
>     was using, I had to explicitly specify in the "configure" 
> step
>        "--disable-libgcj".
>     Follow the directions given.
>     The "make bootstrap" will take about 1 1/2 Hours to do.
>     After the update is done, Re-boot your Computer and do a 
> "gcc -v"
>     It will now show that you are using the new GCC 3.3 just 
> created.
> 7.  As the final Step, I assembled the Kernel one more time 
> using the new
>     GCC just created and the "make oldconfig" option.
>     Re-boot your System with the new Kernel.
> 
> To summerize, in a backwards manner, the list of potential 
> requirements
> that you have to be aware of so that you understand why things 
> have to
> be done as I did them:
> Firstly,  GCC 3.3 cannot be built if GLIBC 2.1.1 is active, so 
> GLIBC must be
>           updated prior.
> Secondly, GLIBC 2.1.1 cannot be built if egcs-2.91.66 is 
> active, so GCC must
>           be updated prior.
> Thirdly,  GCC 3.0.4 cannot be built if the duplicate 
> definations for
>           RLIM_INFINITY are active, so one of them has to be 
> temporarily
> 	  removed.
> 
> I hope that my experiences may be of use to someone who is 
> trying to do
> something similar to what I was doing.  It took me 
> approximately 2 1/2 Weeks
> of Trial and Error to figure out the correct Sequence of steps 
> needed to get
> this project completed and so maybe this procedure can improve 
> other peoples
> time.
> 
> Yours truly,
> 
> Frank Krauss
> 
> 
> 



More information about the Gcc-help mailing list