Re: How CLSQL finds and loads foreign libraries

Edi Weitz <[email protected]> Sat, 30 Dec 2006 16:02:52 +0100
Newsgroups gmane.lisp.clsql.devel
Message-ID <[email protected]>
Hi!

I've submitted patches for UFFI and CLSQL in summer 2005 (see subject
line) which changed the way CLSQL tries to load the foreign libraries
it needs.  The change was that short strings like "libmysql.so" should
be tried first and only afterwards (in case of a failure) should full
absolute pathnames like #p"/usr/lib/libmysql.so" be tried.  The result
was that absolute pathnames weren't hard-coded into images delivered
with Lisp implementations that can create "stand-alone" executables.
This is the only way such an executable has a realistic chance to run
on machines other than the one it was compiled on.

I haven't updated CLSQL for quite some time, but I recently did and it
seems that in the current release (CLSQL 3.7.8 and UFFI 1.5.17) these
changes were reverted and as a result all of the LispWorks executables
(if they're using CLSQL) which I created for my customers are broken
if I recompile them.  It seems the old pre-3.2.1 behaviour was somehow
restored.  (I can't investigate when and how exactly this happened as
I can't access the archive.)

Was there a specific reason for this change?

Thanks,
Edi.