I cannot use glibc-2.1.2 compiled by gcc-2.95.1

Geoff Keating geoffk@ozemail.com.au
Sat Aug 14 01:55:00 GMT 1999


Kaoru Fukui <k_fukui@highway.ne.jp> writes:

> I have success rebuilding gcc-2.95.1 from cvs.
> Some usally application  compiled successfull.
> 
> Then i could rebuild glibc-2.1.2 with gcc-2.95.1.
> 
> But I cannot use the glibc which is rebuild with gcc-2.95.1,
> so I try to rebuild the same sourve of glibc-2.1.2 with egcs-1.1.2 again.
> It's no problem,good all. 
> 
> My first system is glibc-2.1.2 which is rebuilt egcs-1.1.2 and binutils is
> binutils-2.9.5.0.6  it's also rebuilt egcs-1.1.2, so I installed gcc-2.95.
> My machine is powerpc MkLinux-R1.

> /sbin/install-info: error in loading shared libraries: /sbin/install-info:
> symbol __register_frame_info,version GLIBC_2.0 not defined in file libc.so.6
> with link time reference.

> Any suggestion?

Please read the glibc FAQ before attempting to install it.  Part of it says:

{GK} On some Linux distributions for PowerPC, you can see this when you have
built gcc or egcs from the Web sources (gcc versions 2.95 or earlier), then
re-built glibc.  This happens because in these versions of gcc, exception
handling is implemented using an older method; the people making the
distributions are a little ahead of their time.

A quick solution to this is to find the libgcc.a file that came with the
distribution (it would have been installed under /usr/lib/gcc-lib), do 
`ar x libgcc.a frame.o' to get the frame.o file out, and add a line saying
`LDLIBS-c.so += frame.o' to the file `configparms' in the directory you're
building in.  You can check you've got the right `frame.o' file by running
`nm frame.o' and checking that it has the symbols defined that you're
missing.

This will let you build glibc with the C compiler.  The C++ compiler
will still be binary incompatible with any C++ shared libraries that
you got with your distribution.

-- 
Geoffrey Keating <geoffk@cygnus.com>


More information about the Gcc mailing list