Hey all, I develop the Amalgalite gem[1] and it ships with its own copy of SQLite. It does this as it adds in additional compile-time features, and I try and keep it as current as posssible.
The problem is that since MacRuby is linked to CoreServices etc, the sqlite library that ships with OSX gets linked at runtime before the sqlite library that is built into the amalgalite gem extension. I've encountered this before[2] with amalgalite, when it was loaded with my 'hitimes' gem (which on osx links against -framework CoreServes). I am wondering what the appropriate approach is here. I was able to fix this in MRI by compiling MRI with -twolevel_namespace and I think there is an open ticket with ruby-core to see if MRI on osx should be compiled with that flag. I attempted to compile MacRuby with -twolevel_namespace to resolve this, and I was unsuccessful. There appeared to be other flags that conflicted with it. I would expect something like this may also affect the nokogiri gem as limxml2 is also a system library on osx, and may conflict with the version that nokogiri expects. Thoughts? Opinions? I'm sure this is a rare case, Amalgalite may be the only project that could experience an issue like this. What is the best way to handle this in the MacRuby ecosystem? enjoy, -jeremy [1] - https://github.com/copiousfreetime/amalgalite [2] - https://github.com/copiousfreetime/amalgalite/blob/master/lib/amalgalite/sqlite3/version.rb#L42-L56-54 -- ======================================================================== Jeremy Hinegardner jer...@hinegardner.org _______________________________________________ MacRuby-devel mailing list MacRuby-devel@lists.macosforge.org http://lists.macosforge.org/mailman/listinfo.cgi/macruby-devel