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