public inbox for gcc-help@gcc.gnu.org
 help / color / mirror / Atom feed
* Sequence of steps needed to update both GCC and GLIBC
@ 2004-04-29 13:18 Frank Krauss
  2004-04-29 13:26 ` Rogelio Serrano
  0 siblings, 1 reply; 2+ messages in thread
From: Frank Krauss @ 2004-04-29 13:18 UTC (permalink / raw)
  To: gcc-help

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


^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: Sequence of steps needed to update both GCC and GLIBC
  2004-04-29 13:18 Sequence of steps needed to update both GCC and GLIBC Frank Krauss
@ 2004-04-29 13:26 ` Rogelio Serrano
  0 siblings, 0 replies; 2+ messages in thread
From: Rogelio Serrano @ 2004-04-29 13:26 UTC (permalink / raw)
  To: gcc-help

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
> 
> 
> 

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2004-04-29 13:26 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2004-04-29 13:18 Sequence of steps needed to update both GCC and GLIBC Frank Krauss
2004-04-29 13:26 ` Rogelio Serrano

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).