On Mon, Aug 24, 2009 at 3:08 PM, Sam Steingoldsds@gnu.org wrote:
On Sat, Aug 22, 2009 at 4:33 PM, Liam Healylhealy@common-lisp.net wrote:
Unfortunately, OS X does not have standard installation locations, so it's hard to capture all the places that GSL .h files might be found (especially since I'm not a Mac user). I have added
#+darwin (setf cffi-grovel::*cc-flags* (append '("-I" "/opt/local/include/") cffi-grovel::*cc-flags*))
to init/init.lisp. I've also made a similar addition to FSBV. Delete all the your fasl and grovel-tmp files and try with a fresh pull. Let me know whether this works or not.
I need -I/usr/lib64/libffi-3.0.5/include in cffi-grovel::*cc-flags* and I found no better way than to edit cffi_0.10.5/grovel/grovel.lisp. alas, the above append call must happen _after_ grovel is loaded, but _before_ it is used, and there is no obvious way to run some code at that moment when all I do is: (asdf:operate 'asdf:load-op :gsll)
Can you see if some addition argument to the (cc-flags ...) form solves the problem? Look where there currently is already such a form (i.e., all files that are loaded with cffi-grovel:grovel-file in the ASD file). Preferably with as non-version-specific a path as possible (the libffi-3.0.5 makes me nervous, in that presumably every version this changes).
If that doesn't work, I think a post to the cffi-devel list is in order, as this seems to be something that shouldn't require editing the grovel.lisp file.
Thanks, Liam