[Pythonmac-SIG] making a C extension compatible across OS versions?

has hengist.podd at virgin.net
Thu May 26 20:56:41 CEST 2005


Nicholas Riley wrote:

> > Obviously the extension needs to be built on Tiger to provide sdef
>> support, but what should I do to ensure that, say, applications
>> containing that binary extension will still work OK when run on
> > earlier OSes?
>
>You can use weak linking if you don't need to support 10.1.x or
>earlier,

Ah, thanks. nm says OSACopyScriptingDefinition is weak, so I've added the appropriate 'OSACopyScriptingDefinition != NULL' check to OSATerminology.c and recompiled it for Tiger's Apple-installed Python. No problems using it there there, of course, but I do get the following (unrelated) error when trying to import it into user-installed Python 2.3.5 on 10.2.8 (I don't have a copy of Panther so dunno if it works on that):

ImportError: Failure linking new module: /usr/lib/libmx.A.dylib: dyld: /Library/Frameworks/Python.framework/Versions/2.3/Resources/Python.app/Contents/MacOS/Python can't open library: /usr/lib/libmx.A.dylib  (No such file or directory, errno = 2)

Any ideas? (Source and binary are at <http://freespace.virgin.net/hamish.sanderson/osat.dmg.gz> if it's any help.)

Many thanks,

has
-- 
http://freespace.virgin.net/hamish.sanderson/


More information about the Pythonmac-SIG mailing list