[C++-SIG] Re: C++ extension module crashes on Solaris
harri.pasanen at trema.com
Mon May 22 09:02:53 CEST 2000
> Message: 10
> From: Geoffrey Furnish <furnish at actel.com>
> Date: Fri, 19 May 2000 14:35:37 -0700 (PDT)
> To: Steve Harris <sharris at primus.com>
> Cc: c++-sig at python.org
> Subject: Re: [C++-SIG] Re: C++ extension module crashes on Solaris
> <svu2fue1df.fsf at hodge.primus.com>
> <14629.43280.621750.626706 at zork.amer.actel.com>
> <svpuqidzw7.fsf at 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.
More information about the Cplusplus-sig