chicken-users
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Chicken-users] Re: Sqlite3 Egg Installation Error


From: Thomas Christian Chust
Subject: [Chicken-users] Re: Sqlite3 Egg Installation Error
Date: Fri, 21 Sep 2007 14:00:46 +0200
User-agent: Thunderbird 2.0.0.6 (Macintosh/20070728)

Joshua Griffith wrote:

> [...]
> I'm having a problem installing the latest sqlite3 egg.  I'm attempting
> to install the egg using Chicken 2.709, SQLite 3.2.8 (installed from
> source using Fink), onto Mac OS X 10.4.10 (running gcc 4.0.1 with the
> i686-apple-darwin8 target).  SQLite runs from the terminal without any
> problems.  Here is the output of chicken-setup:
> [...]
> gcc sqlite3.o -o sqlite3.so -bundle -L/usr/local/lib -lsqlite3 -lm -lchicken
> /usr/bin/ld: Undefined symbols:
> _sqlite3_get_autocommit
> _sqlite3_transfer_bindings
> collect2: ld returned 1 exit status
> [...]

Hello Joshua,

this looks as if the SQLite3 library that the egg tries to link to was
way too old. As Fink installs stuff into a strange location (/sw if I
recall correctly) and doesn't set up standard linker paths to search
there, it is pretty likely that ld is trying to link against the system
supplied SQLite3 library which is indeed a very outdated version.

I suggest that you edit the .setup file of the SQLite3 egg and add the
appropriate library path to the compilation command. Just exchange

  (compile
    -O2 -d0 -X easyffi -X tinyclos -s "sqlite3.scm" -lsqlite3
    -o ,so-file
    -check-imports -emit-exports "sqlite3.exports")

for

  (compile
    -O2 -d0 -X easyffi -X tinyclos -s "sqlite3.scm" -L/sw/lib -lsqlite3
    -o ,so-file
    -check-imports -emit-exports "sqlite3.exports")

or something like that.

If this still doesn't result in a working installation, try installing a
more recent version of SQLite3 (you mentioned that Fink comes with
SQLite3 3.2.8 while 3.4.2 is the current stable version but I know that
it works with my present installation of SQLite3 3.3.17), preferrably
under a standard prefix like /usr/local.

I hope that helps,
Thomas




reply via email to

[Prev in Thread] Current Thread [Next in Thread]