Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Test for ffi_prep_closure_loc() to make sure we can use this function #787

Merged
merged 1 commit into from Jun 5, 2020

Conversation

@larskanis
Copy link
Member

larskanis commented Jun 3, 2020

We use this function since ffi-1.13.0 but didn't test for it.
It seems that MacOS 10.14 ships a libffi which is missing this function (older than 11 years).

On the other hand we don't use ffi_closure_alloc() any longer.

Fixes #785

We use this function since ffi-1.13.0 but didn't test for it.
It seems that MacOS 10.14 ships a libffi which is missing this function (older than 11 years).

On the other hand we don't use ffi_closure_alloc() any longer.

Fixes #785
@larskanis larskanis merged commit 81dad3c into ffi:master Jun 5, 2020
27 checks passed
27 checks passed
system-libffi (ubuntu, --disable-system-libffi)
Details
system-libffi (ubuntu, --enable-system-libffi)
Details
system-libffi (macos, --disable-system-libffi)
Details
system-libffi (macos, --enable-system-libffi)
Details
system-libffi (windows, --disable-system-libffi)
Details
system-libffi (windows, --enable-system-libffi)
Details
specs (ubuntu, 2.3)
Details
specs (ubuntu, 2.4)
Details
specs (ubuntu, 2.5)
Details
specs (ubuntu, 2.6)
Details
specs (ubuntu, 2.7)
Details
specs (ubuntu, ruby-head)
Details
specs (ubuntu, truffleruby-head)
Details
specs (macos, 2.3)
Details
specs (macos, 2.4)
Details
specs (macos, 2.5)
Details
specs (macos, 2.6)
Details
specs (macos, 2.7)
Details
specs (macos, ruby-head)
Details
specs (macos, truffleruby-head)
Details
specs (windows, 2.4)
Details
specs (windows, 2.5)
Details
specs (windows, 2.6)
Details
specs (windows, 2.7)
Details
specs (windows, ruby-head)
Details
continuous-integration/appveyor/pr AppVeyor build succeeded
Details
continuous-integration/travis-ci/pr The Travis CI build passed
Details
ChrisBAshton added a commit to alphagov/govuk-developer-docs that referenced this pull request Jun 23, 2020
Build fails with:

```
dyld: lazy symbol binding failed: Symbol not found: _ffi_prep_closure_loc
  Referenced from: /Users/christopherashton/.rbenv/versions/2.6.6/lib/ruby/gems/2.6.0/gems/ffi-1.13.1/lib/ffi_c.bundle
  Expected in: /usr/lib/libffi.dylib

dyld: Symbol not found: _ffi_prep_closure_loc
  Referenced from: /Users/christopherashton/.rbenv/versions/2.6.6/lib/ruby/gems/2.6.0/gems/ffi-1.13.1/lib/ffi_c.bundle
  Expected in: /usr/lib/libffi.dylib

[1]    66481 abort      GITHUB_TOKEN=$(cat ~/github_token.txt) NO_CONTRACTS=true bundle exec middlema
```

Downgrading to lower version fixes it.
It looks as though this should have been fixed in
ffi/ffi#787, but we're seeing the same
error as originally reported.
ChrisBAshton added a commit to alphagov/govuk-developer-docs that referenced this pull request Jun 23, 2020
Build fails with:

```
dyld: lazy symbol binding failed: Symbol not found: _ffi_prep_closure_loc
  Referenced from: /Users/christopherashton/.rbenv/versions/2.6.6/lib/ruby/gems/2.6.0/gems/ffi-1.13.1/lib/ffi_c.bundle
  Expected in: /usr/lib/libffi.dylib

dyld: Symbol not found: _ffi_prep_closure_loc
  Referenced from: /Users/christopherashton/.rbenv/versions/2.6.6/lib/ruby/gems/2.6.0/gems/ffi-1.13.1/lib/ffi_c.bundle
  Expected in: /usr/lib/libffi.dylib

[1]    66481 abort      GITHUB_TOKEN=$(cat ~/github_token.txt) NO_CONTRACTS=true bundle exec middlema
```

Downgrading to lower version fixes it.
It looks as though this should have been fixed in
ffi/ffi#787, but we're seeing the same
error as originally reported.
ChrisBAshton added a commit to alphagov/govuk-developer-docs that referenced this pull request Jun 24, 2020
Build fails with:

```
dyld: lazy symbol binding failed: Symbol not found: _ffi_prep_closure_loc
  Referenced from: /Users/christopherashton/.rbenv/versions/2.6.6/lib/ruby/gems/2.6.0/gems/ffi-1.13.1/lib/ffi_c.bundle
  Expected in: /usr/lib/libffi.dylib

dyld: Symbol not found: _ffi_prep_closure_loc
  Referenced from: /Users/christopherashton/.rbenv/versions/2.6.6/lib/ruby/gems/2.6.0/gems/ffi-1.13.1/lib/ffi_c.bundle
  Expected in: /usr/lib/libffi.dylib

[1]    66481 abort      GITHUB_TOKEN=$(cat ~/github_token.txt) NO_CONTRACTS=true bundle exec middlema
```

Downgrading to lower version fixes it.
It looks as though this should have been fixed in
ffi/ffi#787, but we're seeing the same
error as originally reported.
ChrisBAshton added a commit to alphagov/govuk-developer-docs that referenced this pull request Jun 24, 2020
Build fails with:

```
dyld: lazy symbol binding failed: Symbol not found: _ffi_prep_closure_loc
  Referenced from: /Users/christopherashton/.rbenv/versions/2.6.6/lib/ruby/gems/2.6.0/gems/ffi-1.13.1/lib/ffi_c.bundle
  Expected in: /usr/lib/libffi.dylib

dyld: Symbol not found: _ffi_prep_closure_loc
  Referenced from: /Users/christopherashton/.rbenv/versions/2.6.6/lib/ruby/gems/2.6.0/gems/ffi-1.13.1/lib/ffi_c.bundle
  Expected in: /usr/lib/libffi.dylib

[1]    66481 abort      GITHUB_TOKEN=$(cat ~/github_token.txt) NO_CONTRACTS=true bundle exec middlema
```

Downgrading to lower version fixes it.
It looks as though this should have been fixed in
ffi/ffi#787, but we're seeing the same
error as originally reported.
ChrisBAshton added a commit to alphagov/govuk-developer-docs that referenced this pull request Aug 3, 2020
This reverts commit 6ec898a and
brings us back to commit 9bc604e,
where we explicitly opted in to version 1.12.0 of ffi.

The reason being, there is a known issue with OSX that leads to
the following build error:

```
dyld: lazy symbol binding failed: Symbol not found: _ffi_prep_closure_loc
  Referenced from: /Users/christopherashton/.rbenv/versions/2.6.6/lib/ruby/gems/2.6.0/gems/ffi-1.13.1/lib/ffi_c.bundle
  Expected in: /usr/lib/libffi.dylib

dyld: Symbol not found: _ffi_prep_closure_loc
  Referenced from: /Users/christopherashton/.rbenv/versions/2.6.6/lib/ruby/gems/2.6.0/gems/ffi-1.13.1/lib/ffi_c.bundle
  Expected in: /usr/lib/libffi.dylib

[1]    66481 abort      GITHUB_TOKEN=$(cat ~/github_token.txt) NO_CONTRACTS=true bundle exec middlema
```

Downgrading to lower version fixes it.
It looks as though this should have been fixed in
ffi/ffi#787, but we're seeing the same
error as originally reported.

In the next commit I will add a Dependabot config which will
prevent a bump PR from being raised again.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked issues

Successfully merging this pull request may close these issues.

1 participant
You can’t perform that action at this time.