Build Question: How to Add -Wl, --option Before Objects In

Cyd Haselton chaselton at
Tue Oct 28 00:20:36 CET 2014

On Mon, Oct 27, 2014 at 3:39 PM, Ned Deily <nad at> wrote:
> In article
> <CAHu5PrbHSob2r-zOTCtrYiqdudU_q+4mDXOXzp=_ReJp7khTDg at>,
>  Cyd Haselton <chaselton at> wrote:
>> I need to add a linker option to the command(s) run by when
>> building various objects.  I'm not familiar with Python at all, so I
>> basically copied and modified a line from one area of the script to
>> another
>> ext_modules=[Extension('_struct', ['_struct.c'], extra_link_args =
>> ['Wl,--allow-shlib-undefined'])],
>>                      *snip*
>> Unfortunately this seems to append the option to the end of the
>> command line.  What's the best (fastest) way to add it before the
>> object being built (objectname.o)?
> It depends on what system and build tools that you are using and that
> the Python you are using was built with but, in general on most
> POSIX-like systems, one way to do it should be to supply it via an
> LDFLAGS environment variable.  The safest approach would be to get the
> default value of LDFLAGS for this Python instance, append your
> additional values to it, and pass it back into the build.  You
> can do that all in one line:
> LDFLAGS="$(python -c 'import
> sysconfig;print(sysconfig.get_config_var("LDFLAGS"))')
> -Wl,--allow-shlib-undefined" python build
> --
>  Ned Deily,
>  nad at

I'm building python on an Android device in the KBOX
environment...which simulates a Unix type filesystem.
Python isn't installed; I'm building from sources (2.7.8) with GCC
4.8.0 and make.

The problem with the LDFLAGS approach is that some of the libraries
that must be linked (-lc -ldl) do not need the --allow-shlib-undefined's only the lpython2.7 that does.  Any way to do this?

Cyd Haselton

More information about the Python-list mailing list