Comment 3 for bug 295490

Revision history for this message
Fabien Tassin (fta) wrote :

I'm getting the same Abort. I tracked it down to a sqlite3 version mismatch in xulrunner.
See http://mxr.mozilla.org/mozilla-central/source/storage/src/mozStorageService.cpp#68

The problem comes from both a/ xulrunner-1.9.1 and b/ liferea.
I guess those who don't have xulrunner-1.9.1 installed are not seeing this.

a/ Liferea is built with the xul "static glue", meaning it will use the newest xul engine registered in /etc/gre.d.
If you have both xulrunner-1.9 and xulrunner-1.9.1 installed, liferea will start with 1.9.1.

The problem is that while xulrunner-1.9 is built with *system* sqlite3 (3.5.9), xulrunner-1.9.1 is built with *in-source* sqlite3 (3.6.4).

3.6.* is needed for various reasons (mostly performance improvements) but unfortunately, 3.6.* is not in Ubuntu (yet). That's the reason I decided to go for in-source sqlite3 in xulrunner-1.9.1. As liferea is built with system sqlite3, but goes for xulrunner 1.9.1 at run time, it gets the version mismatch.

The problem could be solved in Jaunty by uploading sqlite >= 3.6.4 and rebuilding xulrunner 1.9.1 (so it automatically jumps back to system sqlite3 - there's a test at build time for that).
For Intrepid and Hardy (for which I provide xulrunner 1.9.1 through my PPA) I guess I can re-add a workaround we had at some point in xulrunner-1.9, which was to provide a libsqlite3.so.0 symlink toward the libsqlite3.so inside the xul libdir. The same work-around will work in jaunty too, while we {wait for,work on} the sqlite 3.6 update.

That's where the liferea issue kicks in. It will only work if liferea finds its libs (in particular sqlite) in the xul libdir.

b/ If you look at the /usr/bin/liferea wrapper, it tries to set LD_LIBRARY_PATH to the xul *devel* libdir, which is not supposed to exist in user setups. It gets that at build time using pkg-config --libs-only-L libxul-embedding.
This is wrong.

I have a fix for that, which is to identify the xul libdir at runtime, by asking xulrunner itself.

Here is attached the debdiff for Jaunty. It would be nice to update intrepid too.