Subject: Re: Linker problem: wrong number of global symbols
To: Jason Thorpe <thorpej@nas.nasa.gov>
From: Urban Boquist <boquist@cs.chalmers.se>
List: current-users
Date: 09/03/1998 12:15:15
>>>>> Jason Thorpe writes:

Jason> On Thu, 3 Sep 1998 02:38:04 -0500 (CDT) Dave Huang
Jason> <khym@bga.com> wrote:

>> building shared krb library (version 2.0) ld -x -shared -o
>> libkrb.so.2.0 --whole-archive libkrb_pic.a --no-whole-archive
>> -lcom_err -lcrypt ld: internal error: wrong number (100) of global
>> symbols written into output file, should be 101

Jason> Looks like Matt Thomas's ld changes (to support VAX shlibs) are
Jason> still broken.

I'm not so sure about that. I may well be some strange boot-strapping
problem. Here's what happened to me. Using the latest egcs and the
latest ld from -current I was able to build everything except
gnu/usr.bin/egcs/common/libcc1.so.1.1. For that library I got the
"wrong number of symbols" linker error. I could build the library
manually if I removed the last "-lgnumalloc", just to get everything
built and installed. No matter how many times I rebuilt and
reinstalled essential parts of the system, I still couldn't get
libcc1.so to link.

Then I reverted the ld sources back to before Matt's changes,
installed it. Rebuilt and reinstalled egcs, without problems this
time. Rebuilt the new (!) ld again, and suddenly everything worked!
I've done several make builds since then without problems, i.e., using
the -current ld.

Go figure. ;-)

	-- Urban