On Fri, 25 Nov 2005 11:47:49 -0800, Bryce Harrington wrote:
#2 may be the best solution for now, as I imagine it'd be more straightforward to implement than #3, but would leave users with at least the hope of having Python.
Yeah. I'm not a big fan of the unpredictability though.
Would 'shim layers' be of any use? I.e., separate bits of code that sit between Inkscape and libpython to compensate for ABI incompatibilities? You'd have three of these shims, one for each of the three libpython versions, that allow Inkscape to speek consistently to all.
Yes, that's an option. Somebody has to write it though.
Also, this sounds like a larger problem than just for Inkscape... aren't other Python-using applications running into similar issues?
Yes.
What approaches have they taken to work around it?
They haven't. They just pass the problem on to the distributions to work around - some stuff like the Unicode fiasco changes the ABI but not the API so recompiling magically "fixes" it.
4 sounds like a pass the buck solution. ;-) I don't know anything about Lua or Mono but would imagine that there could just as conceivably be an ABI issue with them (unless they're taking special precautions against that...)
Well, Lua is designed as an embedded scripting language and can be statically linked easily. The downside is you don't get a big standard library.
I don't know how stable the Mono embedding API is, I must admit.
thanks -mike