Using pkg-config (hdf5)

Liam Healy lnp at healy.washington.dc.us
Fri Dec 4 21:19:11 UTC 2015


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



More information about the cffi-devel mailing list