Subject:
Re: [ruby-ffi] extconf.rb and libffi on OSX
From:
Wayne Meissner
Date:
1/24/10 6:19 PM
To:
ruby-ffi@googlegroups.com

I can't reproduce the problem on 10.6.2 (using latest source from github).

Can you recheck it, and file an issue with the output from the build,
if it still fails?

2010/1/13 Simon Chiang <simon.a.chiang@gmail.com>:
> I'm trying to use the unreleased 0.6 version of FFI and I'm having an
> issue that I ultimately tracked back to this part of extconf.rb:
>
>  unless Config::CONFIG['host_os'] =~ /mswin32|mingw32/
>    if pkg_config("libffi") || find_header("ffi.h", "/usr/local/
> include")
>
>      # We need at least ffi_call and ffi_prep_closure
>      libffi_ok = have_library("ffi", "ffi_call", [ "ffi.h" ]) &&
> have_func("ffi_prep_closure")
>
>      # Check if the raw api is available.
>      $defs << "-DHAVE_RAW_API" if have_func("ffi_raw_call") &&
> have_func("ffi_prep_raw_closure")
>    end
>  end
>
> Apparently I need to access the raw api and so I think I need -
> DHAVE_RAW_API to be set. When I modify extconf.rb to enable that flag,
> everything works on OSX 10.5.8 but it still doesn't work on OSX
> 10.6.2.
>
> By looking at the commits where this code was introduced, I gather
> this code is about detecting a functional libffi. So is libffi broke
> on OSX or does it vary between 10.5.8 and 10.6.2 in some way that
> causes FFI problems? Do I need to update libffi?
>
> Thanks.
>
> Relevant commits:
>
> http://github.com/ffi/ffi/commit/8cbc3f54a875a61e1fb67ac88a25b71940a3ed91
> http://github.com/ffi/ffi/commit/31e65abbf7e57b9776557227a41e4cd45886c986
>