Project

General

Profile

Actions

Bug #18758

closed

Ruby fails to build on M1 Mac when x86 Homebrew is installed

Added by tenderlovemaking (Aaron Patterson) over 2 years ago. Updated about 2 years ago.

Status:
Closed
Assignee:
-
Target version:
-
[ruby-core:108424]

Description

If you install x86 homebrew on an M1 mac, then install libyaml in the x86 version of homebrew, Ruby will fail to build on ARM.

Steps to reproduce:

  1. Install x86 homebrew: $ arch -x86_64 /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
  2. Install x86 libyaml: $ arch -x86_64 /usr/local/bin/brew install libyaml
  3. Configure and compile Ruby with ARM architecture

I expected Ruby to compile, but Psych fails with the following output:

/Users/aaron/git/ruby/tool/extlibs.rb:6:in `require': cannot load such file -- digest (LoadError)
	from /Users/aaron/git/ruby/tool/extlibs.rb:6:in `<top (required)>'
	from /Users/aaron/git/ruby/ext/psych/extconf.rb:24:in `require_relative'
	from /Users/aaron/git/ruby/ext/psych/extconf.rb:24:in `<top (required)>'
	from ./ext/extmk.rb:217:in `load'
	from ./ext/extmk.rb:217:in `block in extmake'
	from /Users/aaron/git/ruby/lib/mkmf.rb:324:in `open'
	from ./ext/extmk.rb:213:in `extmake'
	from ./ext/extmk.rb:577:in `block in <main>'
	from ./ext/extmk.rb:573:in `each'
	from ./ext/extmk.rb:573:in `<main>'

mkmf.log from Psych says:

ld: warning: ignoring file /usr/local/lib/libyaml.dylib, building for macOS-arm64 but attempting to link with file built for macOS-x86_64

I believe the problem is the default LDFLAGS set by configure. The output of configure is:

   * LDFLAGS:             -L. -fstack-protector-strong -L/usr/local/lib

I don't think /usr/local/lib should be in LDFLAGS by default.

I've attached a patch that fixes the problem for me, and I sent the same patch as a PR on GitHub: https://github.com/ruby/ruby/pull/5855

Thanks!


Related issues 1 (0 open1 closed)

Is duplicate of Ruby master - Bug #18790: cannot load such file -- digest (LoadError)Closedhsbt (Hiroshi SHIBATA)Actions
Actions

Also available in: Atom PDF

Like0
Like0Like0Like0Like0Like0Like0