Mainline bootstrap failure in libjava, i686-pc-linux-gnu

Phil Edwards
Mon Apr 9 13:44:00 GMT 2001

On Sat, Apr 07, 2001 at 02:44:34PM +0200, Mark Wielaard wrote:
> On Fri, Apr 06, 2001 at 10:32:50PM -0700, Per Bothner wrote:
> > Jeffrey Oldham <> writes:
> > 
> > > /nfs/oz/home/oldham/gcc-install/gcc0/lib/gcc-lib/i686-pc-linux-gnu/3.1/../../../ undefined reference to `__terminate_set_func@GCC_3.0'
> > > /nfs/oz/home/oldham/gcc-install/gcc0/lib/gcc-lib/i686-pc-linux-gnu/3.1/../../../ undefined reference to `__rethrow@GCC_3.0'
> > > 
> > > What is going wrong?  Why do we have "@GCC_3.0" notations in gcc 3.1
> > > code?
> > 
> > The "@GCC_3.0" has something to do with symbol versioning.  I suspect
> > the link faitire is because it picking up the wrong libgcc.  This has
> > broken in the past, but it seems to work for me now.
> I got the same thing last night. When linking jv-convert or gij it somehow
> tries to use the libraries found in the --prefix dir (even if that is not
> in your PATH or LD_LIBRARY_PATH). I cannot figure out why it is doing that.
> But moving the old --prefix dir out of the way solved the problem for me.

Oh yuck.  That means that users cannot install one version of GCC on top of
an older version without knowing precisely which files to delete beforehand
(since we can't do an uninstall).  You and I know to always use a different
--prefix for each build, but when everybody else defaults to /usr/local
this won't work.

I still don't understand why we pass -B$prefix/lib to the compiler during
the build, /before/ we install anything in $prefix.  I've been told that
this is the Right Thing To Do, but I remain skeptical.  :-(

pedwards at disaster dot jaj dot com  |  pme at sources dot redhat dot com
devphil at several other less interesting addresses in various dot domains
The gods do not protect fools.  Fools are protected by more capable fools.

More information about the Gcc-bugs mailing list