Subject: Re: undefined ffi_type_pointer problem mipsel linux

From: Anthony Green <[email-masked]>
Date: Wed, 07 Dec 2011 05:54:14 -0500

On 12/7/2011 2:49 AM, ɺɺ wrote:
> Dear Mr. Green :
>
>    My box is fuloong 6004, loongson2f cpu, mips64, little endian, more 
> info see
> http://www.linux-mips.org/wiki/Loongson#Loongson_2F
>
> Here I want install autogen, then needs guile dependency, guile needs 
> libffi, when I install libffi, afterthat I install guile, problem is  
> that undefined ffi_type_pointer, I try to several methods, it still 
> can be ok. I checked the ffi.h is extern, shall I defined the use 
> #define for  each one ?

This just looks like libffi isn't being linked to guile at all.  Can you 
verify that libffi was actually built and installed in the right place?  
Next, I would see what "CCLD guile" is really doing.  I'm not sure how 
guile is built these days, but maybe you just have to add V=1 to the 
"make" command line.

AG

>
> Thanks
>
> bo cheng
>
>
>
>    CCLD   guile
> ./.libs/libguile-2.0.so: undefined reference to `ffi_type_pointer'
> ./.libs/libguile-2.0.so: undefined reference to `ffi_type_float'
> ./.libs/libguile-2.0.so: undefined reference to `ffi_type_void'
> ./.libs/libguile-2.0.so: undefined reference to `ffi_type_sint64'
> ./.libs/libguile-2.0.so: undefined reference to `ffi_prep_cif'
> ./.libs/libguile-2.0.so: undefined reference to `ffi_type_uint32'
> ./.libs/libguile-2.0.so: undefined reference to `ffi_type_double'
> ./.libs/libguile-2.0.so: undefined reference to `ffi_prep_closure_loc'
> ./.libs/libguile-2.0.so: undefined reference to `ffi_call'
> ./.libs/libguile-2.0.so: undefined reference to `ffi_type_sint8'
> ./.libs/libguile-2.0.so: undefined reference to `ffi_closure_free'
> ./.libs/libguile-2.0.so: undefined reference to `ffi_closure_alloc'
> ./.libs/libguile-2.0.so: undefined reference to `ffi_type_uint8'
> ./.libs/libguile-2.0.so: undefined reference to `ffi_type_sint32'
> ./.libs/libguile-2.0.so: undefined reference to `ffi_type_uint16'
> ./.libs/libguile-2.0.so: undefined reference to `ffi_type_sint16'
> ./.libs/libguile-2.0.so: undefined reference to `ffi_type_uint64'
> collect2: ld returned 1 exit status
> make[3]: *** [guile] Error 1
> make[3]: Leaving directory `/root/soft/guile-2.0.3/libguile'
> make[2]: *** [all] Error 2
> make[2]: Leaving directory `/root/soft/guile-2.0.3/libguile'
> make[1]: *** [all-recursive] Error 1
> make[1]: Leaving directory `/
>
>
> Theres is in ffi.h
>
>
> /* These are defined in types.c */
> extern ffi_type ffi_type_void;
> extern ffi_type ffi_type_uint8;
> extern ffi_type ffi_type_sint8;
> extern ffi_type ffi_type_uint16;
> extern ffi_type ffi_type_sint16;
> extern ffi_type ffi_type_uint32;
> extern ffi_type ffi_type_sint32;
> extern ffi_type ffi_type_uint64;
> extern ffi_type ffi_type_sint64;
> extern ffi_type ffi_type_float;
> extern ffi_type ffi_type_double;
> extern ffi_type ffi_type_pointer;
>
>
>
>