[fetter-devel] Verrazano / CFFI attempt - FreeTDS

Brad Anderson brad at sankaty.com
Wed Dec 21 16:44:08 UTC 2005


Gents,

I'm attempting to wrap the FreeTDS 0.63 library in CFFI
(http://freetds.org) and running into some problems.

I've pulled cffi-luis tarball from 2005-12-15 and verrazano cvsroot
tarball from 2005-12-19.  I'm also using SBCL 0.9.6 on Gentoo Linux.
All of the prerequisites are installed, including PARSE-NUMBER (Rayiner,
see other email to you yesterday).


Here are my files:

% cat freetds.db-lib.binding
(defbinding "freetds.db-lib"
  (nicknames "dblib")
  (flags "")
  (include "sqldb.h" "sqlfront.h")
  (export "")
  (override ""))

% cat generate.lisp
(require 'asdf)
(require 'cffi)

(asdf:operate 'asdf:load-op 'verrazano)
(verrazano:create-binding
 (verrazano:setup-build "gccxml"
                        (make-pathname :device "/"
                                       :directory "/tmp"))
 "freetds.db-lib.binding"
 "freetds.db-lib.lisp"
 :cffi-backend
 t)




Here's the debug output:

;;;; Compile file /home/brad/dev/lisp/clmssql/cffi/generate.lisp ...
; compiling file "/home/brad/dev/lisp/clmssql/cffi/generate.lisp"
(written 20 DEC 2005 03:29:39 PM):

; /home/brad/dev/lisp/clmssql/cffi/generate.fasl written
; compilation finished in 0:00:00
0 #<LIBRARY {99FD2B9}>
1     DEFINES NAMESPACE-TYPE ::
1     ALLOCATES NAMESPACE-TYPE :: named ::
1 NAMESPACE-TYPE ::
2     ALLOCATES QUALIFIED-TYPE anonymous7621 named no-unused-sqlfront-h-warn
2     ALLOCATES QUALIFIED-TYPE anonymous7623 named rcsid-sqlfront-h
2     ALLOCATES QUALIFIED-TYPE anonymous7625 named no-unused-sqldb-h-warn
2     ALLOCATES QUALIFIED-TYPE anonymous7627 named rcsid-sqldb-h
2     DEFINES FUNDAMENTAL-TYPE char
2     DEFINES FUNDAMENTAL-TYPE void
2     DEFINES QUALIFIED-TYPE anonymous7621
2     DEFINES QUALIFIED-TYPE anonymous7623
2     DEFINES QUALIFIED-TYPE anonymous7625
2     DEFINES QUALIFIED-TYPE anonymous7627
2     DEFINES POINTER-TYPE anonymous7619
2     DEFINES QUALIFIED-TYPE anonymous7618
2 QUALIFIED-TYPE anonymous7621
3     EXTENDS ARRAY-TYPE anonymous7620
3 ARRAY-TYPE anonymous7620
4     EXTENDS POINTER-TYPE anonymous7619
4 POINTER-TYPE anonymous7619
5     EXTENDS QUALIFIED-TYPE anonymous7618
5 QUALIFIED-TYPE anonymous7618
6     EXTENDS FUNDAMENTAL-TYPE void
6 FUNDAMENTAL-TYPE void
2 QUALIFIED-TYPE anonymous7623
3     EXTENDS ARRAY-TYPE anonymous7622
3 ARRAY-TYPE anonymous7622
4     EXTENDS FUNDAMENTAL-TYPE char
4 FUNDAMENTAL-TYPE char
2 QUALIFIED-TYPE anonymous7625
3     EXTENDS ARRAY-TYPE anonymous7624
3 ARRAY-TYPE anonymous7624
4     EXTENDS POINTER-TYPE anonymous7619
2 QUALIFIED-TYPE anonymous7627
3     EXTENDS ARRAY-TYPE anonymous7626
3 ARRAY-TYPE anonymous7626
4     EXTENDS FUNDAMENTAL-TYPE char



Here's the resulting lisp file:

% cat freetds.db-lib.lisp
(defpackage "FREETDS.DB-LIB" (:use #:CFFI) (:nicknames "DBLIB") (:export))

(in-package "FREETDS.DB-LIB")
(asdf:operate 'asdf:load-op 'verrazano-support)
(cl:progn)



So something isn't working, and I lack both Lisp skills as well as C
development experience.  It's a great combination, I know ;) but I was
hoping to sneak by for a little while with your tools.  Is this a
problem w/ C vs. C++ as the source?

Any help would be appreciated.

Cheers,
Brad






More information about the fetter-devel mailing list