CFFI on Windows does not load sqlite3.dll

Mirko Vukovic mirko.vukovic at gmail.com
Mon Apr 24 03:05:10 UTC 2017


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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mailman.common-lisp.net/pipermail/armedbear-devel/attachments/20170424/2255ace6/attachment.html>


More information about the armedbear-devel mailing list