ld -lgen -ladm causes assert failure in gnu ld 2.12.1 and 2.13 under Solaris 2.7 or 2.8
Andrew Koenig
ark@research.att.com
Sun Sep 22 10:04:00 GMT 2002
It looks like the -znocombreloc fix isn't good enough.
Here's a summary of what I tried. I started with binutils 2.12.1,
gcc 3.2, and python 2.1.1
1) Install binutils 2.13.
2) Rebuild python. The build fails.
3) Change the python build procedure to say -Wl,-znocombreloc
where it says -fPIC. Python now builds and seems to work.
4) Rebuild gcc 3.2 from scratch. The python executable now
crashes -- which means that rebuilding gcc 3.2 changed something
that python dynamically loads. I am guessing that it builds a
library somwhere with -zcombreloc, which then causes the dynamic
loader to fail when the python executable tries to use it.
5) Rebuild python with -Wl,-znocombreloc. The build fails,
not too surprisingly.
6) Reinstall binutils 2.12.1. The little test program I sent you
earlier *still fails*, even with -znocombreloc.
So apparently building gcc 3.2 with binutils 2.13 does something
that renders the -znocombreloc workaround ineffective, at least
for the purpose of building python.
I think we need a more effective fix to the problem -- either finding
out why -zcombreloc doesn't work under Solaris 2.8 or disabling it.
More information about the Binutils
mailing list