X-Recipient: archive-cygwin AT delorie DOT com X-Spam-Check-By: sourceware.org Message-ID: Date: Mon, 18 Feb 2008 15:43:55 -0500 From: "Mirko Vukovic" To: "Reini Urban" Subject: Re: [cffi-devel] Re: how to build gsl dll Cc: cygwin AT cygwin DOT com, cffi-devel AT common-lisp DOT net In-Reply-To: <47B9D3EA.7010405@x-ray.at> MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Disposition: inline References: <6910a60802180801q3b3b7fdbs71be7cf7dbe53805 AT mail DOT gmail DOT com> <47B9D3EA DOT 7010405 AT x-ray DOT at> X-IsSubscribed: yes Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com Content-Transfer-Encoding: 8bit X-MIME-Autoconverted: from quoted-printable to 8bit by delorie.com id m1IKiaTM010961 On Mon, Feb 18, 2008 at 1:52 PM, Reini Urban wrote: > Mirko Vukovic schrieb: > > On Mon, Feb 18, 2008 at 11:01 AM, Reini Urban wrote: > >> 2008/2/17, Mirko Vukovic: > > >>> I am trying to build a dll for gsl. I want to link it to clisp. > >> I would suggest not to use a static clisp module, just use the FFI. > >> This is much simplier, smaller and easier to test. See libsvm or matlab, > >> or pari for a more optimized binding. > >> > >> I want to do this for my gdi module also, but had no time yet. > >> And we still have no header parser, which could construct the > >> FFI binding automatically. cffi might be useful. > > > > Reini, > > The reason why I need cffi is that I am trying to get nlisp to work on > > clisp+cygwin. And nlisp is using cffi. I have nlisp running at work > > on linux+sbcl, but my laptop has only cygwin. > > $ cygcheck /bin/cyggsl-0.dll > f:\cygwin\bin\cyggsl-0.dll > f:\cygwin\lib\lapack\cygblas.dll > > Are you sure you have /lib/lapack or /usr/lib/lapack added to your path? > > > > I posted a message on the cffi mailing list, and Luis is helping me there. > > I see. > $ clisp -q > (ASDF:OOS 'ASDF:LOAD-OP :ASDF-INSTALL) > (ASDF-INSTALL:INSTALL :nlisp) > > Oops... > So I had to create a small patch > http://sourceforge.net/tracker/index.php?func=detail&aid=1896345&group_id=174776&atid=870580 > > nlisp.lisp: > (cffi:define-foreign-library libgslcblas > (:darwin "libgslcblas.dylib") > (:unix (:or "cyggslcblas-0.dll" "libgslcblas.so.0" "libgslcblas.so")) > ... > (cffi:define-foreign-library libgsl > (:darwin "libgsl.dylib") > (:unix (:or "cyggsl-0.dll" "libgsl.so.0" "libgsl.so")) > ... > (cffi:define-foreign-library libsndfile > (:darwin "libsndfile.dylib") > (:unix (:or "cygsndfile-1.dll" "libsndfile.so.1" "libsndfile.so")) > > Luís, cannot this be a bit simplified for :cygwin? > I've always have to do this. > "libsndfile.so.1" can be automatically translated to "cygsndfile-1.dll". > Unfortunately :cygwin is no define-foreign-library target, just :unix. > > nlisp-core.lisp: > fixnum and double-float just name clisp types, no classes yet. This is > just for cmucl/sbcl so far. CLHS does not require those. > The clisp numeric classes are listed in the impnotes Chapter 4.4. > (NUMBER, COMPLEX, REAL, FLOAT, RATIONAL, RATIO, INTEGER) > > Now (ASDF:OOS 'ASDF:LOAD-OP :NLISP) prints tons of > FFI::FOREIGN-LIBRARY-FUNCTION warnings, but works fine. > -- > > Reini Urban > http://phpwiki.org/ http://murbreak.at/ > http://helsinki.at/ http://spacemovie.mur.at/ > _______________________________________________ > cffi-devel mailing list > cffi-devel AT common-lisp DOT net > http://common-lisp.net/cgi-bin/mailman/listinfo/cffi-devel > Reini, I was using that your format as well. You can see from Luis' post that he can load the library as well. I'll keep digging to see why I cannot link to it (even though I can probe it - meaning clisp can see it) Thanks for your comments and help Mirko -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Problem reports: http://cygwin.com/problems.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/