[Python-Dev] Import Fails in setup.py On Android

Cyd Haselton chaselton at gmail.com
Thu Feb 5 20:56:58 CET 2015


While I'm waiting for a response from mobile-sig, I'm going through
the documentation (and something called "fossies") of importlib.  I
hope that it's okay to ask some follow up questions...even though I've
redirected this post to mobile-sig.

If it is, my first question(s) is/are about the import machinery and
C-extension modules. Assuming that C-extension modules are ones that
include files that are named as *.c, how does the import machinery
handle specified shared libraries, such as -ldl?  Additionally, how
does the import machinery handle the symbols from those libraries...if
it does at all?

On Tue, Feb 3, 2015 at 12:10 AM, Eric Snow <ericsnowcurrently at gmail.com> wrote:
> On Mon, Feb 2, 2015 at 12:36 PM, Cyd Haselton <chaselton at gmail.com> wrote:
>> After fixing a segfault issue (many thanks Ryan) I'm back to the same issue
>> I was having with Python 2.7.8; the newly built python throws an undefined
>> reference to dlopen when running setup.py...specifically when importing
>> just-built extensions
>>
>> I've managed to narrow the problem down to the following line:
>>
>> importlib._bootstrap._SpecMethods(spec).load()
>
> That call is where modules are created (and executed) via the loader
> designated for the module by the import machinery.  So a problem here
> may simply reflect a problem with the loader.  Which module is being
> imported when you run into trouble?  Is it a C-extension module?
>
> Also keep in mind that basically everything in importlib._bootstrap is
> frozen into your Python binary when you build Python (or should be).
> So if you are seeing any errors related to something missing or broken
> in importlib._bootstrap, it could be related to the build step where
> importlib gets frozen.
>
> Either way, more info (e.g. a traceback) would be great if you need more help.
>
> -eric


More information about the Python-Dev mailing list