Skip to content

Unable to install gem on an Apple Silicon M1 Mac #196

@chrismanderson

Description

@chrismanderson

Describe the bug
I am unable to install this gem on an M1 Mac using either bundler or a direct gem install.

To reproduce
Run bundle install for Ruby application that contains this gem in its gemfile.

Expected behavior
The gem installs successfully.

Actual behavior
I receive build error messages and the gem does not build.

Logs

ERROR:  Error installing launchdarkly-server-sdk:
	ERROR: Failed to build gem native extension.

    current directory: /Users/chris/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/llhttp-ffi-0.4.0/ext
/Users/chris/.rbenv/versions/3.0.2/bin/ruby -I/Users/chris/.rbenv/versions/3.0.2/lib/ruby/3.0.0 -rrubygems /Users/chris/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/rake-13.0.6/exe/rake RUBYARCHDIR\=/Users/chris/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/extensions/arm64-darwin-21/3.0.0/llhttp-ffi-0.4.0 RUBYLIBDIR\=/Users/chris/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/extensions/arm64-darwin-21/3.0.0/llhttp-ffi-0.4.0
rake aborted!
LoadError: dlopen(/Users/chris/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/ffi-1.15.5/lib/ffi_c.bundle, 0x0009): tried: '/Users/chris/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/ffi-1.15.5/lib/ffi_c.bundle' (mach-o file, but is an incompatible architecture (have 'x86_64', need 'arm64e')), '/usr/local/lib/ffi_c.bundle' (no such file), '/usr/lib/ffi_c.bundle' (no such file) - /Users/chris/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/ffi-1.15.5/lib/ffi_c.bundle
<internal:/Users/chris/.rbenv/versions/3.0.2/lib/ruby/3.0.0/rubygems/core_ext/kernel_require.rb>:85:in `require'
<internal:/Users/chris/.rbenv/versions/3.0.2/lib/ruby/3.0.0/rubygems/core_ext/kernel_require.rb>:85:in `require'
<internal:/Users/chris/.rbenv/versions/3.0.2/lib/ruby/3.0.0/rubygems/core_ext/kernel_require.rb>:85:in `require'
<internal:/Users/chris/.rbenv/versions/3.0.2/lib/ruby/3.0.0/rubygems/core_ext/kernel_require.rb>:85:in `require'
<internal:/Users/chris/.rbenv/versions/3.0.2/lib/ruby/3.0.0/rubygems/core_ext/kernel_require.rb>:160:in `require'
<internal:/Users/chris/.rbenv/versions/3.0.2/lib/ruby/3.0.0/rubygems/core_ext/kernel_require.rb>:160:in `rescue in require'
<internal:/Users/chris/.rbenv/versions/3.0.2/lib/ruby/3.0.0/rubygems/core_ext/kernel_require.rb>:149:in `require'

Caused by:
LoadError: cannot load such file -- 3.0/ffi_c
<internal:/Users/chris/.rbenv/versions/3.0.2/lib/ruby/3.0.0/rubygems/core_ext/kernel_require.rb>:85:in `require'
<internal:/Users/chris/.rbenv/versions/3.0.2/lib/ruby/3.0.0/rubygems/core_ext/kernel_require.rb>:85:in `require'
<internal:/Users/chris/.rbenv/versions/3.0.2/lib/ruby/3.0.0/rubygems/core_ext/kernel_require.rb>:85:in `require'
<internal:/Users/chris/.rbenv/versions/3.0.2/lib/ruby/3.0.0/rubygems/core_ext/kernel_require.rb>:85:in `require'
<internal:/Users/chris/.rbenv/versions/3.0.2/lib/ruby/3.0.0/rubygems/core_ext/kernel_require.rb>:160:in `require'
<internal:/Users/chris/.rbenv/versions/3.0.2/lib/ruby/3.0.0/rubygems/core_ext/kernel_require.rb>:160:in `rescue in require'
<internal:/Users/chris/.rbenv/versions/3.0.2/lib/ruby/3.0.0/rubygems/core_ext/kernel_require.rb>:149:in `require'

Caused by:
LoadError: cannot load such file -- ffi-compiler/compile_task
<internal:/Users/chris/.rbenv/versions/3.0.2/lib/ruby/3.0.0/rubygems/core_ext/kernel_require.rb>:85:in `require'
<internal:/Users/chris/.rbenv/versions/3.0.2/lib/ruby/3.0.0/rubygems/core_ext/kernel_require.rb>:85:in `require'
(See full trace by running task with --trace)

rake failed, exit code 1

Gem files will remain installed in /Users/chris/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/llhttp-ffi-0.4.0 for inspection.
Results logged to /Users/chris/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/extensions/arm64-darwin-21/3.0.0/llhttp-ffi-0.4.0/gem_make.out

SDK version
6.3.1

Language version, developer tools
Ruby 3.0.2, Rails 6.1.4.6

OS/platform
macOS 12.2.1 running on an Apple Silicon Mac.

Additional context
This fails both when doing a bundle install and when doing a manual gem install launchdarkly-server-sdk.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions