Re: Problems with sqlite

[top-posting corrected]

Fredrik Hedberg said:
> Tom Coleman wrote:
>> 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:
>>>>>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,'s dependencies are set correctly
>>>>and the problem must be something else.  If you see unresolved symbols,
>>>>the Ubuntu is broken.
>>>Thanks Jon for your guidance - you were right on the money.
>>>Ubuntu's 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.
> I'm pretty sure that the Mono.Data.SqliteClient.dll uses the 2.x API of

Yep I agree.  You need to downgrade sqlite to 2.8.  That should probably
be included on the wiki (note to self - I can do this tonight)

michael at msdavies dot net

[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]