Re: [C++-SIG] Re: C++ extension module crashes on Solaris
Message: 10 From: Geoffrey Furnish <furnish@actel.com> Date: Fri, 19 May 2000 14:35:37 -0700 (PDT) To: Steve Harris <sharris@primus.com> Cc: c++-sig@python.org Subject: Re: [C++-SIG] Re: C++ extension module crashes on Solaris <svu2fue1df.fsf@hodge.primus.com> <14629.43280.621750.626706@zork.amer.actel.com> <svpuqidzw7.fsf@hodge.primus.com>
Maybe you didn't catch the end of my first post. I did build my Python with the '-Wl,-E', but I never saw those options actually get used in the build. I pushed the options into my LDSHARED environment variable before running configure. I can tell that those options did get captured in the Makefile. It seems that by default the Python build doesn't create any shared objects, so maybe that's why my LDSHARED options never came into play.
Should I be trying to get the '-Wl,-E' option crammed into some other build-time variable? I'm sorry, but I'm not sure I understand which parts of the system will wind up caring about those options.
You need to make sure they got used when doing the final link step of Python. You could check this by just rm'ing python, and then typing make again. This will just run the final link step, and it will be easy to see /exactly/ what got done. -Wl,-E needs to be there. If it's not, trying just pasting in the link line by hand, adding the options, and then seeing if this python can import your .so.
I don't know how to influence the "standard stuff" very well, maybe others can respond on this point.
There is a buglet in the configure script for standard Python 1.5.2. If gcc 2.95.2 is used on Solaris to build Python itself, -Wl,-E flags indeed don't get passed to linker when python executable is linked. I've mailed a patch against this one to Guido a couple of months ago, which he accepted. So if you grab the Python 1.5.2 from CVS the problem should be solved. Regards, Harri
participants (1)
-
Harri Pasanen