Debian has relocated hdf5 includes and libraries in serial/, which means that hdf5-cffi does not compile. See this issue: https://github.com/HDFGroup/hdf5-cffi/issues/61. I am trying to come up with a CFFI solution. It seems like pkg-config-cflags should do the job for me, as pkg-config is installed and does the right thing:
pkg-config --libs hdf5 -L/usr/lib/x86_64-linux-gnu/hdf5/serial -lhdf5 pkg-config --cflags hdf5 -I/usr/include/hdf5/serial
However, I put a line (pkg-config-cflags "hdf5" :optional t) in hfd5-cffi/hdf5/grovel.lisp and got nothing useful; it is clear it is running pkg-config but the result never makes it into the cc arg list.
(ql:quickload :hdf5-cffi) To load "hdf5-cffi": Load 1 ASDF system: hdf5-cffi ; Loading "hdf5-cffi" [package hdf5]; pkg-config hdf5 --cflags -I/usr/include/hdf5/serial ; cc -m64 -o /home/healy/.cache/common-lisp/sbcl-1.2.15-linux-x64/home/healy/languages/lisp/hdf5-cffi/hdf5/grovel__grovel-tmpGHU3ALSV -I/home/healy/languages/lisp/cffi/ /home/healy/.cache/common-lisp/sbcl-1.2.15-linux-x64/home/healy/languages/lisp/hdf5-cffi/hdf5/grovel__grovel.c ; /home/healy/.cache/common-lisp/sbcl-1.2.15-linux-x64/home/healy/languages/lisp/hdf5-cffi/hdf5/grovel__grovel /home/healy/.cache/common-lisp/sbcl-1.2.15-linux-x64/home/healy/languages/lisp/hdf5-cffi/hdf5/grovel__grovel.grovel-tmp.lisp ; cc -m64 -o /home/healy/.cache/common-lisp/sbcl-1.2.15-linux-x64/home/healy/languages/lisp/hdf5-cffi/hdf5/h5-grovel__grovel-tmpAAURSO1 -I/home/healy/languages/lisp/cffi/ /home/healy/.cache/common-lisp/sbcl-1.2.15-linux-x64/home/healy/languages/lisp/hdf5-cffi/hdf5/h5-grovel__grovel.c /home/healy/.cache/common-lisp/sbcl-1.2.15-linux-x64/home/healy/languages/lisp/hdf5-cffi/hdf5/h5-grovel__grovel.c:6:18: fatal error: hdf5.h: No such file or directory #include <hdf5.h> ^ compilation terminated.
Is this a problem of CFFI or dies the pkg-config-cflags form need to be somewhere else?
Liam