CFFI on Windows does not load sqlite3.dll

Mirko Vukovic <[email protected]>
Newsgroups gmane.editors.j.devel
Message-ID <CAO73BACMT13MjHC+PoHVNpR8NQogcj8LufQG9-2QFjOq_s7QfA@mail.gmail.com>
Hello,

This is on Windows 10, Armed Bear Common Lisp 1.4.0, Java 1.7.0_51 Oracle
Corporation

I am trying to link to sqlite3.dll with CFFI (as required by the cl-dbi
package)

I have jna installed in my home directory under ~/.m2/... and cffi loads
cleanly as does cl-dbi.
Note that the ~/.m2/.../jna-4.2.2.jar is not in my classpath.  Instead I
added it via (java:add-to-classpath ...)

(cffi:load-foreign-library "c:/Program Files/sqlite/sqlite3.dll") gives an
error (shown below).

I also tried by adding the directory to cffi:*foreign-library-directoris*,
and then calling
(cffi:load-foreign-library "sqlite3.dll").

The error message is:
Unable to load foreign library (SQLITE3.DLL-30929).
  Unable to load library 'C:/Program Files/sqlite/sqlite3.dll': Native
library (win32-x86/C:/Program Files/sqlite/sqlite3.dll) not found in
resource path ([file:/C:/mv-program-files/abcl-bin-1.4.0/,
file:/C:/mv-program-files/abcl-bin-1.4.0/abcl.jar])

Questions:

   1. What is the implication of the win32-x86 prefix to the path in the
   error message?  Is that a 32/64 bit incompatibility?
   2. I don't understand the part of the error message referring to the
   resource path
   3. while CFFI does compile, do I have somehow to load JNA explicitly.
   In other words, is (ql:qload ...) enough, or do I need to do something else
   to activate JNA?
   4. Does CFFI work on Windows (since Java is cross-platform, I would
   expect it to)?


(My Java knowledge is epsilon where epsilon appraches 0, although I plan to
work on this if I continue using ABCL to interface to Java libraries)

Thank you,

Mirko
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.