[GSLL-devel] GSLL handling lib name under CCL

Liam Healy lhealy at common-lisp.net
Fri Nov 25 04:27:23 UTC 2011


In light of this:

http://lispcaveats.tumblr.com/post/13259176455/ffi-linking-against-shared-libraries

I'd like to reconsider these changes.  Can we remove the special-case
:darwin :ccl conditional that has the literal path, and leave this up to
dlopen?

Liam

On Mon, Oct 17, 2011 at 11:16 PM, Liam Healy <lhealy at common-lisp.net> wrote:

> Yuan,
>
> Thanks for the patch.  I don't use MacOSX so I can't test it, but I've
> committed it.  If possible, in the future please join the mailing list
> and post your items there.  As far as your CFFI suggestions go, I
> encourage you to post them on the cffi-devel list; Mac users seem to
> have a lot of trouble with paths and anything that improves that
> situation should be welcome.
>
> Liam
>
> On Thu, Oct 13, 2011 at 5:46 PM, Yuan MEI <yuan.mei at gmail.com> wrote:
> > Hi Liam,
> >     I've started using GSLL.  It is wonderful!  I just discovered a
> > glitch though, when using CCL under MacOSX, it complains that a
> > #P"xxx.dylib" is not accepted.  I'd rather think cffi should be blamed
> > for not accepting a path, but I'd like to let you know that there is
> > this issue and here is a quick fix.  Actually a better portable way
> > should be implemented to translate #P"" to a string that cffi could
> > understand, or better cffi should be modified to accept #P in any CL
> > implementation on any platform.
> >
> > Thanks,
> >
> > Yuan Mei
> >
> > diff --git a/init/init.lisp b/init/init.lisp
> > index 41ef370..e632f09 100644
> > --- a/init/init.lisp
> > +++ b/init/init.lisp
> > @@ -66,7 +66,9 @@
> >      (merge-pathnames pn (pathname (format nil "~a/" (gsl-config
> > "--prefix"))))))
> >
> >  (cffi:define-foreign-library libgslcblas
> > -  (:darwin #.(gsl-config-pathname "lib/libgslcblas.dylib"))
> > +  (:darwin #+ccl #.(ccl:native-translated-namestring
> > +                     (gsl-config-pathname "lib/libgslcblas.dylib"))
> > +           #-ccl #.(gsl-config-pathname "lib/libgslcblas.dylib"))
> >    (:cygwin "cyggslcblas-0.dll")
> >    (:unix (:or "libgslcblas.so.0" "libgslcblas.so"))
> >    (t (:default "libgslcblas")))
> > @@ -80,9 +82,12 @@
> >  (cffi:load-foreign-library "/lib/lapack/cygblas.dll")
> >
> >  (cffi:define-foreign-library libgsl
> > -  (:darwin #. (gsl-config-pathname "lib/libgsl.dylib"))
> > +  (:darwin #+ccl #.(ccl:native-translated-namestring
> > +                     (gsl-config-pathname "lib/libgsl.dylib"))
> > +           #-ccl #.(gsl-config-pathname "lib/libgsl.dylib"))
> >    (:cygwin "cyggsl-0.dll")
> >    (:unix (:or "libgsl.so.0" "libgsl.so"))
> >    (t (:default "libgsl")))
> >
> >  (cffi:use-foreign-library libgsl)
> >
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mailman.common-lisp.net/pipermail/gsll-devel/attachments/20111124/0b4070be/attachment.html>


More information about the gsll-devel mailing list