On Sep 14, 2010, at 6:44 AM, Steven Parkes wrote:
>> Did you try renaming the sqlite3 macports library name, or toggle the 
>> options passed to the linker when creating the library?
> 
> I haven't yet. It was something I thought about, but there are a couple of 
> things about dylibs on OS X that I'm not sure about that might make that 
> moot, In particular, anybody know what happens on OS X if you try to load two 
> dylibs that define the same symbol? Even if I could get both libs to load, 
> I'm not sure how it's going to differentiate the same functions from the two 
> libs. Is it smart enough to remember which symbols came from which libs when 
> the link occured?

Indeed, that would be a problem.  

I believe there is a problem in the way CFNetwork uses sqlite3 here. It seems 
to prevent any user of Cocoa to use a different version of sqlite3. You should 
report it to Apple I think: http://bugreporter.apple.com.

> A variant on that is to statically link sqlite into the gem, but I'm still 
> not sure about duplicate symbols ...

That would be an idea. You can make sure the sqlite3 symbols will be stripped 
from the C extension binary by telling the linker (using for example 
-exported_symbols_list or -exported_symbols_list), this way they can't collide 
once the extension is dlopen'ed into the process using CFNetwork.

Laurent
_______________________________________________
MacRuby-devel mailing list
[email protected]
http://lists.macosforge.org/mailman/listinfo.cgi/macruby-devel

Reply via email to