FS#35957 - [libffi] headers are not installed correctly

Attached to Project: Arch Linux
Opened by Christian Jurk (commx) - Friday, 28 June 2013, 10:33 GMT
Last edited by Laurent Carlier (lordheavy) - Friday, 28 June 2013, 11:08 GMT
Task Type Bug Report
Category Packages: Core
Status Closed
Assigned To No-one
Architecture All
Severity Low
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 1
Private No

Details

Description:

Once I try to install cffi via pip (the Python package manager), it cannot find the appropriate headers in the standard header search paths for libffi.
libffi seems to install the two header files ffi.h and ffitarget.h into an inappropriate path:

[cjurk@vm02 include]$ pacman -Ql libffi | grep '.h$'
libffi /usr/lib/libffi-3.0.13/include/ffi.h
libffi /usr/lib/libffi-3.0.13/include/ffitarget.h

They should be installed to /usr/include instead.

Additional info:
* package version(s)
libffi 3.0.13-3
* config and/or log files etc.
cffi looks for the both header files mentioned above in the standard header search paths. They cannot find it unless i manually create a symlink to /usr/include, which is a quite dirty solution to this:

gcc -pthread -fno-strict-aliasing -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector --param=ssp-buffer-size=4 -DNDEBUG -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector --param=ssp-buffer-size=4 -fPIC -I/usr/include/ffi -I/usr/include/libffi -I/usr/include/python2.7 -c c/_cffi_backend.c -o build/temp.linux-x86_64-2.7/c/_cffi_backend.o

c/_cffi_backend.c:14:17: fatal error: ffi.h: No such file or directory

#include <ffi.h>

^

compilation terminated.

error: command 'gcc' failed with exit status 1



Steps to reproduce:

$ sudo pip2 install cffi
This task depends upon

Closed by  Laurent Carlier (lordheavy)
Friday, 28 June 2013, 11:08 GMT
Reason for closing:  Not a bug
Additional comments about closing:  It's an upstream choice to have headers in /usr/lib
Comment by Jan de Groot (JGC) - Friday, 28 June 2013, 10:56 GMT
IMHO headers should be installed in /usr/include, not in /usr/lib. However: libffi comes with a pkgconfig file that provides the correct include paths. Applications that don't utilize that but rely on hardcoded paths are broken anyways.

Loading...