Re: Problems with sqlite
- From: Tom Coleman <tmcol bigpond net au>
- To: Michael Davies <michael msdavies net>
- Cc: Jon Trowbridge <trow ximian com>, Dashboard <dashboard-hackers gnome org>
- Subject: Re: Problems with sqlite
- Date: Tue, 14 Dec 2004 14:58:40 +1100
On Tue, 2004-12-07 at 23:25 -0600, Michael Davies wrote:
> Jon Trowbridge said:
> > On Tue, 2004-12-07 at 21:37 -0600, Michael Davies wrote:
> >> ERROR: System.Reflection.TargetInvocationException: Exception has been
> >> thrown by the target of an invocation. ---> System.DllNotFoundException:
> >> sqlite
> >> in <0x00053> (wrapper managed-to-native)
> >
> > This is just a guess, but the problem could be a mono-ism that has been
> > a source of much confusion.
> >
> > The mono runtime will throw a System.DllNotFoundException any time an
> > attempt to dlopen() a shared library fails. This is misleading because
> > there are several different ways a dlopen() call can fail --- the file
> > not being found is just the most obvious one.
> >
> > Often, dlopen() will fail because of unresolved symbols. This usually
> > happens because the shared library's dependencies were not set properly
> > at build-time. It is an easy mistake to make: lots of shared libraries
> > are never ever dlopen()ed by other apps --- they are linked to
> > applications, along with lots of other libraries via a tool like
> > pkg-config that also (independently) manages library dependencies.
> >
> > There is an easy way to test for this: try linking just that library
> > against a trivial C program. Create a file trivial.c containing just
> > "main() { }" and then:
> > % gcc trivial.c -lsqlite
> >
> > If there are no errors, libsqlite.so's dependencies are set correctly
> > and the problem must be something else. If you see unresolved symbols,
> > the Ubuntu libsqlite.so is broken.
>
> Thanks Jon for your guidance - you were right on the money.
>
> Ubuntu's libsqlite.so appears broken. It looks ok, but on installing the
> CVS version of sqlite in a different prefix, everything suddenly works.
>
> (Two points for those googling in the future - make sure you back revise
> the CVS repo for sqlite to 2.8, and make sure LD_LIBRARY_PATH points to
> your newly built sqlite rather than the system's installed version)
>
> CVS Beagle now is running as expected on my Warty Ubuntu install.
I'm not sure if this is a problem with ubuntu or with sqlite version 3.0
I was getting the same problem on my gentoo unstable system, so i
downgraded sqlite to 2.8 and it fixed the problem.
Just adding my own two cents.
Tom
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]