Re: can ext:load-foreign search the library paths?

Tamas K Papp <[email protected]>
Newsgroups gmane.lisp.cmucl.general
Message-ID <[email protected]>
Hi Edi,

Thanks for your help.  It finds the library, but complains about
unresolved symbols:

CMU Common Lisp CVS 19d 19d-release (19D), running on pu100877.student.princeton.edu
With core: /usr/lib/cmucl/lisp.core
Dumped on: Wed, 2007-03-21 20:23:55-04:00 on pu100877.student.princeton.edu
For support see http://www.cons.org/cmucl/support.html Send bug reports to the debian BTS.
or to [email protected]
type (help) for help, (quit) to exit, and (demo) to see the demos

Loaded subsystems:
    Python 1.1, target Intel x86
    CLOS based on Gerd's PCL 2004/04/14 03:32:47
* (sys::load-object-file "libslatec.so")

NIL
"LOAD-OBJECT-FILE: Unresolved symbols in file \"libslatec.so\": NIL"


But if I just use ext:load-foreign, it works fine:

* (ext:load-foreign "/usr/local/lib/libslatec.so")
;;; Opening as shared library /usr/local/lib/libslatec.so ...
;;; Trying as object file /usr/local/lib/libslatec.so...
;;; Running /usr/bin/ld...
;;; Done.
NIL

Is there anything I am doing wrong?  I am sorry to admit that I'm
pretty clueless about shared libraries in general, not just Lisp.

Thanks,

Tamas

On Thu, Apr 12, 2007 at 08:24:42AM +0200, Edi Weitz wrote:
> On Wed, 11 Apr 2007 21:24:50 -0400, Tamas K Papp <[email protected]> wrote:
> 
> > Is there a way to load a library on Linux without specifying the
> > exact library path (eg finding it using ld.so.conf, etc)?
> 
> SYS::LOAD-OBJECT-FILE should do it unless there have been recent
> changes.
> 
> UFFI does that and there's a long thread on clsql-devel from 2005
> beginning with this message
> 
>   http://article.gmane.org/gmane.lisp.clsql.devel/265
> 
> that eventually ends with a patch from me which does what you want.
> 
> HTH,
> Edi.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.