I will see if that can work. So the approache would be to statically compile the
sqlite lib that ships with amalgalite, and separately link it to the extension
vs. compiling it all together as it does today.

I will give those options a try and see who it all works. Thanks for the info,
compiler flags and linking options are not my forte.

-jeremy

On Sun, Sep 18, 2011 at 11:10:49AM +0200, Laurent Sansonetti wrote:
> Hi Jeremy,
> 
> Could the problem be fixed by linking statically your own copy of
> SQLite against the Amalgalite library, and perhaps passing all SQLite
> symbols to -unexported_symbols_list during ld time? I am guessing
> symbols wouldn't collide anymore this way.
> 
> From what I understand, it looks like it would be better to fix the
> problem in Amalgalite itself, and not in each client requiring it.
> 
> Laurent
> 
> On Mon, Sep 12, 2011 at 8:39 PM, Jeremy Hinegardner
> <jer...@hinegardner.org> wrote:
> > 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
> >

-- 
========================================================================
 Jeremy Hinegardner                              jer...@hinegardner.org 

_______________________________________________
MacRuby-devel mailing list
MacRuby-devel@lists.macosforge.org
http://lists.macosforge.org/mailman/listinfo.cgi/macruby-devel

Reply via email to