[plt-scheme] SQLite

From: Woodhouse, Gregory J. (Gregory.Woodhouse at va.gov)
Date: Tue Jan 30 13:03:08 EST 2007

There is no (by default) /sw in OS X. I would think the natural places
to put the library are the local directory or /usr/local/lib, both of
which should work on OS X.

-----Original Message-----
From: plt-scheme-bounces at list.cs.brown.edu
[mailto:plt-scheme-bounces at list.cs.brown.edu] On Behalf Of Eli Barzilay
Sent: Tuesday, January 30, 2007 8:53 AM
To: Gregory Woodhouse
Cc: geoff at knauth.org; Hans Oesterholt-Dijkema;
plt-scheme at list.cs.brown.edu
Subject: Re: [plt-scheme] SQLite

On Jan 30, Gregory Woodhouse wrote:
> Come to think of it, I've lost track of the original question. Is it 
> where to search for dynamic libraries, or where to put them so
> dlopen() will find them?

A good summary of the problem is this (incorrect) blurb from Jay's
sqlite library:

  If you have a problem loading the sqlite library, you need
  to change one of the first lines to the commented out
  line. This seems to be a problem with the FFI library.  If
  you are changing _sqlite.ss_ you will probably need to look
  at this, but otherwise you won't.

which refers to these lines in "sqlite-ffi.ss":

  (define sqlite (ffi-lib "libsqlite3"))
  ;(define sqlite (ffi-lib "/sw/lib/libsqlite3"))

The text is incorrect -- there is no problem with the foreign interface.
If you use "libsqlite3" for the library name, it will simply use
`dlopen()' with "libsqlite3.dylib" on OSX.  The real problem is that
`dlopen()' will not (AFAIK) look for the library in places like
"/sw/lib" in the default configuration.

          ((lambda (x) (x x)) (lambda (x) (x x)))          Eli Barzilay:
                  http://www.barzilay.org/                 Maze is Life!
  For list-related administrative tasks:

Posted on the users mailing list.