Re: [CLSQL-Devel] How CLSQL finds and loads foreign libraries
Kevin Rosenberg <kevin-HJRc7zDS/[email protected]> Wed, 8 Jun 2005 12:06:35 -0600
| Newsgroups | gmane.lisp.uffi.devel,gmane.lisp.clsql.devel |
|---|---|
| Message-ID | <[email protected]> |
Edi Weitz wrote:
> OK, here's my first attempt. With these patches I was able to load
> successfully the following combinations:
Edi,
There's a problem with the UFFI change when loading a shared library
pathname on AllegroCL and Linux. It involves the use of the
TRUENAME. Here's an example:
CL-USER(4): (load "/usr/lib/libmysqlclient.so")
; Foreign loading /usr/lib/libmysqlclient.so.
T
CL-USER(5): (uffi:load-foreign-library #p"/usr/lib/libmysqlclient.so")
; Loading /usr/lib/libmysqlclient.so.14.0.0
Error: Attempt to take the value of the unbound variable
`ELF <binary garbage>...'.
Your patch use TRUENAME which Allegro (and others) converts to the
libmysqlclient.so symbolic link into the actual
libmysqlclient.so.14.0.0 file name. Apparently, Allegro looks at the
pathname type to determine if it is loading a shared library or a text
file.
Kevin