[Gsll-devel] Compilation error in fsbv/libffi-unix.c

Sumant Oemrawsingh soemraws at xs4all.nl
Tue Mar 2 09:05:11 UTC 2010


Hi,

Run pkg-config --cflags libffi and behold that ffi.h is probably in some
non-standard location like /usr/lib64/libffi-3.0.8/include. You can either
edit the source libffi-unix.lisp or symlink to a standard location like
/usr/include.

As I understand, this is a problem due to upstream, not with your distro.

Hope it helps,
Sumant

On Mon, Mar 01, 2010 at 11:57:25PM +0100, N J wrote:
> Hey,
> 
> When I run
>     (asdf:operate 'asdf:load-op :gsll)
> in sbcl
> 
> I get:
> 
> ; loading system definition from /usr/share/common-lisp/systems/c-array.asd
> ; into #<PACKAGE "ASDF0">
> ; registering #<SYSTEM C-ARRAY {10026C51D1}> as C-ARRAY
> ; compiling file "/usr/share/common-lisp/source/fsbv/init.lisp"
> (written 01 MAR 2010 11:39:35 PM):
> ; compiling (IN-PACKAGE :COMMON-LISP-USER)
> ; compiling (DEFPACKAGE :FOREIGN-STRUCTURES-BY-VALUE ...)
> ; compiling (CFFI:LOAD-FOREIGN-LIBRARY "libffi.so")
> ; compiling (PUSHNEW :FSBV ...)
> 
> ; /home/rpx/.fasls/sbcl-1.0.19-gentoo-linux-x86-64/usr/share/common-lisp/source/fsbv/init.fasl
> written
> ; compilation finished in 0:00:00
> ; cc -m64 -fPIC -o
> /home/rpx/.fasls/sbcl-1.0.19-gentoo-linux-x86-64/usr/share/common-lisp/source/fsbv/libffi-unix
> /home/rpx/.fasls/sbcl-1.0.19-gentoo-linux-x86-64/usr/share/common-lisp/source/fsbv/libffi-unix.c
> 
> debugger invoked on a SIMPLE-ERROR in thread #<THREAD "initial thread"
> RUNNING {10023F6A01}>:
>   External process exited with code 1.
> Command was: "cc" "-m64" "-fPIC" "-o"
> "/home/rpx/.fasls/sbcl-1.0.19-gentoo-linux-x86-64/usr/share/common-lisp/source/fsbv/libffi-unix"
> "/home/rpx/.fasls/sbcl-1.0.19-gentoo-linux-x86-64/usr/share/common-lisp/source/fsbv/libffi-unix.c"
> Output was:
> /home/rpx/.fasls/sbcl-1.0.19-gentoo-linux-x86-64/usr/share/common-lisp/source/fsbv/libffi-unix.c:7:17:
> error: ffi.h: No such file or directory
> /home/rpx/.fasls/sbcl-1.0.19-gentoo-linux-x86-64/usr/share/common-lisp/source/fsbv/libffi-unix.c:
> In function ‘main’:
> /home/rpx/.fasls/sbcl-1.0.19-gentoo-linux-x86-64/usr/share/common-lisp/source/fsbv/libffi-unix.c:40:
> error: ‘FFI_OK’ undeclared (first use in this function)
> /home/rpx/.fasls/sbcl-1.0.19-gentoo-linux-x86-64/usr/share/common-lisp/source/fsbv/libffi-unix.c:40:
> error: (Each undeclared identifier is reported only once
> /home/rpx/.fasls/sbcl-1.0.19-gentoo-linux-x86-64/usr/share/common-lisp/source/fsbv/libffi-unix.c:40:
> error: for each function it appears in.)
> /home/rpx/.fasls/sbcl-1.0.19-gentoo-linux-x86-64/usr/share/common-lisp/source/fsbv/libffi-unix.c:45:
> error: ‘FFI_BAD_TYPEDEF’ undeclared (first use in this function)
> /home/rpx/.fasls/sbcl-1.0.19-gentoo-linux-x86-64/usr/share/common-lisp/source/fsbv/libffi-unix.c:50:
> error: ‘FFI_BAD_ABI’ undeclared (first use in this function)
> /home/rpx/.fasls/sbcl-1.0.19-gentoo-linux-x86-64/usr/share/common-lisp/source/fsbv/libffi-unix.c:61:
> error: ‘FFI_DEFAULT_ABI’ undeclared (first use in this function)
> /home/rpx/.fasls/sbcl-1.0.19-gentoo-linux-x86-64/usr/share/common-lisp/source/fsbv/libffi-unix.c:66:
> error: ‘FFI_SYSV’ undeclared (first use in this function)
> /home/rpx/.fasls/sbcl-1.0.19-gentoo-linux-x86-64/usr/share/common-lisp/source/fsbv/libffi-unix.c:71:
> error: ‘FFI_UNIX64’ undeclared (first use in this function)
> /home/rpx/.fasls/sbcl-1.0.19-gentoo-linux-x86-64/usr/share/common-lisp/source/fsbv/libffi-unix.c:79:
> error: ‘ffi_abi’ undeclared (first use in this function)
> /home/rpx/.fasls/sbcl-1.0.19-gentoo-linux-x86-64/usr/share/common-lisp/source/fsbv/libffi-unix.c:126:
> error: invalid application of ‘sizeof’ to incomplete type ‘struct
> _ffi_type’
> /home/rpx/.fasls/sbcl-1.0.19-gentoo-linux-x86-64/usr/share/common-lisp/source/fsbv/libffi-unix.c:126:
> warning: format ‘%i’ expects type ‘int’, but argument 3 has type ‘long
> unsigned int’
> /home/rpx/.fasls/sbcl-1.0.19-gentoo-linux-x86-64/usr/share/common-lisp/source/fsbv/libffi-unix.c:131:
> error: dereferencing pointer to incomplete type
> /home/rpx/.fasls/sbcl-1.0.19-gentoo-linux-x86-64/usr/share/common-lisp/source/fsbv/libffi-unix.c:136:
> error: dereferencing pointer to incomplete type
> /home/rpx/.fasls/sbcl-1.0.19-gentoo-linux-x86-64/usr/share/common-lisp/source/fsbv/libffi-unix.c:141:
> error: dereferencing pointer to incomplete type
> /home/rpx/.fasls/sbcl-1.0.19-gentoo-linux-x86-64/usr/share/common-lisp/source/fsbv/libffi-unix.c:146:
> error: dereferencing pointer to incomplete type
> /home/rpx/.fasls/sbcl-1.0.19-gentoo-linux-x86-64/usr/share/common-lisp/source/fsbv/libffi-unix.c:
> In function ‘print_double_for_lisp’:
> /home/rpx/.fasls/sbcl-1.0.19-gentoo-linux-x86-64/usr/share/common-lisp/source/fsbv/libffi-unix.c:397:
> warning: incompatible implicit declaration of built-in function
> ‘memset’
> 
> 
> My packages and gits are:
>     git://repo.or.cz/gsll.git
>     4fef622be12cf318e015b2ba5aba6c63d4296f1e
>     master
> 
>     git://repo.or.cz/fsbv.git
>     dd8025f51fd8272b725bd73bc0b1875bae2bcf5b
>     master
> 
>     cffi-0.10.5
> 
> 
> Thank you guys for any help
> NIK
> 
> _______________________________________________
> Gsll-devel mailing list
> Gsll-devel at common-lisp.net
> http://common-lisp.net/cgi-bin/mailman/listinfo/gsll-devel
> 

-- 
Sumant Oemrawsingh
soemraws at xs4all.nl




More information about the gsll-devel mailing list