[Gambas-devel] configure failed

Ron ron at ...572...
Thu Jan 24 16:19:35 CET 2008


scatman schreef:
> Hello,
>
> rev 1000 and 1002.
> gcc (GCC) 4.2.2 (Gentoo 4.2.2 p1.0)
>
> the haeder files from libffi are stored in Gentoo under /usr/include/libffi. 
> The configure Script only looking in /usr/include for ffi.h and  
> ffitarget.h and configure failed. Ok, no Problem. I make Symlinks 
> to /usr/include and start configure again. ffi.h and ffitarget.h are found 
> and configure finished. 
> But make gives me now this error.
>
> ########################################################
>
> array.o gbx3-gbx_c_process.o gbx3-gbx_c_subcollection.o gbx3-gbx_c_string.o 
> gbx3-gbx_component.o gbx3-gbx_extern.o gbx3-gbx_print.o gbx3-gbx_c_enum.o 
> gbx3-gbx_c_timer.o gbx3-gbx_c_quote.o  -lm -ldl
> gbx3-gbx_extern.o: In function `EXTERN_call':
> /home/test/64bits/main/gbx/gbx_extern.c:338: undefined reference to 
> `ffi_prep_cif'
> /home/test/64bits/main/gbx/gbx_extern.c:341: undefined reference to 
> `ffi_call'
> gbx3-gbx_extern.o:(.rodata+0x50): undefined reference to `ffi_type_void'
> gbx3-gbx_extern.o:(.rodata+0x58): undefined reference to `ffi_type_sint32'
> gbx3-gbx_extern.o:(.rodata+0x60): undefined reference to `ffi_type_sint32'
> gbx3-gbx_extern.o:(.rodata+0x68): undefined reference to `ffi_type_sint32'
> gbx3-gbx_extern.o:(.rodata+0x70): undefined reference to `ffi_type_sint32'
> gbx3-gbx_extern.o:(.rodata+0x78): undefined reference to `ffi_type_sint64'
> gbx3-gbx_extern.o:(.rodata+0x80): undefined reference to `ffi_type_float'
> gbx3-gbx_extern.o:(.rodata+0x88): undefined reference to `ffi_type_double'
> gbx3-gbx_extern.o:(.rodata+0x90): undefined reference to `ffi_type_void'
> gbx3-gbx_extern.o:(.rodata+0x98): undefined reference to `ffi_type_pointer'
> gbx3-gbx_extern.o:(.rodata+0xa0): undefined reference to `ffi_type_pointer'
> gbx3-gbx_extern.o:(.rodata+0xa8): undefined reference to `ffi_type_void'
> gbx3-gbx_extern.o:(.rodata+0xb0): undefined reference to `ffi_type_void'
> gbx3-gbx_extern.o:(.rodata+0xb8): undefined reference to `ffi_type_void'
> gbx3-gbx_extern.o:(.rodata+0xc0): undefined reference to `ffi_type_void'
> gbx3-gbx_extern.o:(.rodata+0xc8): undefined reference to `ffi_type_pointer'
> gbx3-gbx_extern.o:(.rodata+0xd0): undefined reference to `ffi_type_pointer'
> collect2: ld returned 1 exit status
> make[4]: *** [gbx3] Error 1
>
> Thanks
>
>   
Hi,

I'm on CentOS 5.1 x86_64 again, and have build an rpm for libffi which 
installs these files:
(sources are from sources.redhat.com:/cvs/libffi )

/usr/lib64/libffi.la
/usr/lib64/libffi.so
/usr/lib64/libffi.so.4
/usr/lib64/libffi.a
/usr/lib64/libffi.so.4.0.1
/usr/include/ffi.h
/usr/include/ffitarget.h

# ldconfig -v|grep ffi
/usr/lib64
        libffi.so.4 -> libffi.so.4.0.1

The ffi .h files are found correctly by gambas make, but the errors 
above (which I had too), are due to the configure/make process not 
linking the libffi to gbx2
When I tweak the main/gbx/Makefile by adding -lffi on this line:

gbx2_LDADD = -lm    -ldl   -lffi

the compile of gbx2 succeeds!...

Which info/output do I have to sent, so you guys can fix the 
configure/make files, and I don't have to hack the Makefile manually?

CentOS 5.1
gambas 2.0 from cvs today
gcc version 4.1.2

Thanks,
Ron.





More information about the Devel mailing list