[Python-Dev] Use dlopen() on Darwin/OS X to load extensions?
Zachary Pincus
zpincus at stanford.edu
Tue Apr 4 15:38:21 CEST 2006
On Apr 4, 2006, at 1:29 AM, Martin v. Löwis wrote:
> Zachary Pincus wrote:
>> Specifically, this patch would change a core python code path.
>
> Why do you think so? I believe Python always passes absolute paths
> to dlopen, so any path resolution dlopen might do should be
> irrelevant.
> *If* you can get dlopen to look at directories outside sys.path,
> that would be a serious problem. You can use ktrace to find out
> what places it looks at.
Sorry, I meant path in a more metaphoric sense; e.g. on OS X /
Darwin, Python used to go through the code in dynload_next.c every
time it loaded an extension, now under the proposed patch it goes
through dynload_shlib.c.
>
>> But it would be good to have a specific benchmark to know nothing
>> will break. I personally sort of feel that if dlopen() works once or
>> twice, it will probably always work, but there are those who probably
>> understand better the failure modes of opening shared libs as python
>> extensions, and could suggest some good things to test.
>
> Running the test suite should already exercise this code a lot.
> You should run the test suite both in "working copy" mode, and
> in "make install" mode; if you know how to produce a Mac installer,
> testing it in such an installer ("framework mode"?) could also
> be done.
I'll do this, thanks.
Zach
More information about the Python-Dev
mailing list