Hi, I have a JNI driver question. At first I hadn't touched the native drivers at all because of platform independence reasons, but then while searching through the archives here about some other problem I was having, I found a reply from the author that mentioned offhand that the jar's search for any of the libraries that are in the library path. So recently I've been enjoying the extra order of magnitude of speed increase, but I had a question and I've been running into a problem..
My first question was why all the native jar files are different (they at least have different file sizes) when, supposedly, they're all interchangeable and do the same thing. I've verified at least that the linux native jar file runs just fine on my mac. The second question was about a problem I've been having with linux. The prepackaged linux binary doesn't seem to load (error thrown when I do a DriverManager.getConnection) on my 64 bit linux machines (sounds like I'm not alone in that here). So I d/l'ed the source and compiled it (in order to compile on SuSE, I had to change "find -L <dir> <options>" to "find <dir> -follow <other options>" in Makefile.common) and the resulting libsqlitejdbc.so worked fine. But that new libsqlitejdbc.so now fails to load (obviously) on my 32 bit linux machines (the pre-packaged binary was fine though). I tried putting both .so files in the same directory (renaming one of them to -32bit.so or something), but I discovered that the .so file will not load unless it has exactly the expected name--no renaming allowed, which meant the two could not coexist. So since the linux driver seems unable to load in both platforms, the sensible thing to me would be to just have the driver look for different names for each, so that we can have a directory that contains all four drivers (two .so's, the .jnilib, and the .dll). Maybe something just like -i386.so and -x86_64.so or something. My setup here kind of necessitates being able to automatically load the proper driver out of a common directory of drivers... we have a compute cluster of 32bit and 64bit linux machines and we batch jobs to different machines for different purposes sometimes, but they all pull from the same copy of our code base. Our developers have mac and windows desktops and, because of the way the automated tests are set up, there isn't much opportunity to do platform-specific customizations, the same driver in the same code base has to figure things out itself in each of the four contexts.. In the meantime, maybe I'll just allow it to fall back to nested again, but it'll just cause some strange behavior (I'll have to explain why the 32-bit nodes are significantly slower). -danny --~--~---------~--~----~------------~-------~--~----~ Mailing List: http://groups.google.com/group/sqlitejdbc?hl=en To unsubscribe, send email to [EMAIL PROTECTED] -~----------~----~----~----~------~----~------~--~---