[C++-SIG] Re: C++ extension module crashes on Solaris

Harri Pasanen 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.

Regards,

Harri




More information about the Cplusplus-sig mailing list