Closed14

rbenvでruby2.5.8をinstallする際にBUILD FAILEDが起きる

rbenvでruby2.5.8をインストールした際にBUILD FAILDが起きた.

% rbenv install 2.5.8

Downloading openssl-1.1.1k.tar.gz...
-> https://dqw8nmjcqpjn7.cloudfront.net/892a0875b9872acd04a9fde79b1f943075d5ea162415de3047c327df33fbaee5
Installing openssl-1.1.1k...

BUILD FAILED (macOS 11.2.3 using ruby-build 20210804)

Inspect or clean up the working tree at /var/folders/gt/sqqp1dc90vd55f2_hzlgqlkr0000gn/T/ruby-build.20210901183956.7884.oen8q2
Results logged to /var/folders/gt/sqqp1dc90vd55f2_hzlgqlkr0000gn/T/ruby-build.20210901183956.7884.log

Last 10 log lines:
      _bio_s_mempacket_test in ssltestlib.o
      _bio_s_always_retry in ssltestlib.o
      _create_ssl_ctx_pair in ssltestlib.o
  "_test_ulong_eq", referenced from:
      _create_ssl_connection in ssltestlib.o
ld: symbol(s) not found for architecture x86_64
make[1]: *** [test/asn1_encode_test] Error 1
clang-12: error: linker command failed with exit code 1 (use -v to see invocation)
make[1]: *** [test/asynciotest] Error 1
make: *** [all] Error 2

enviroment

  • MacBook Pro (13-inch, 2019, Four Thunderbolt 3 ports)
  • Processer 2.4 GHz Quad-Core Intel Core i5
  • macOS Big Sur Version 11.2.3
  • rbenv version 1.1.2-61-g585ed84

https://github.com/rbenv/ruby-build/issues/1429#issuecomment-674895582
を試したがBUILD FAILD
% RUBY_CONFIGRUBY_CONFIGURE_OPTS="--with-openssl-dir=$(brew --prefix openssl@1.1)  --with-readline-dir=$(brew --prefix readline)" rbenv install 2.5.8
Downloading ruby-2.5.8.tar.bz2...
-> https://cache.ruby-lang.org/pub/ruby/2.5/ruby-2.5.8.tar.bz2
error: failed to download ruby-2.5.8.tar.bz2

BUILD FAILED (macOS 11.2.3 using ruby-build 20210804)

https://github.com/rbenv/ruby-build/issues/1429#issuecomment-728672829
をもとにrbx-2.5.8をinstallしてみたが,だめだった
% rbenv install rbx-2.5.8

ERROR: Rubinius will not be able to compile using Apple's LLVM-based
build tools on OS X. You will need to install LLVM 3.5 first.

TO FIX THE PROBLEM: Install Homebrew's llvm package with this
command: brew install llvm@3.5

BUILD FAILED (macOS 11.2.3 using ruby-build 20210804)

LLVMのversionがだめだと言われたのが気になる.

clang のversionを確認.brewのclangが入っている.
https://formulae.brew.sh/formula/llvm をみると,安定板っぽい
versionは問題なさそう

% clang -v
Homebrew clang version 12.0.1
Target: x86_64-apple-darwin20.3.0
Thread model: posix
InstalledDir: /usr/local/opt/llvm/bin

そういえばこの前osを再インストールしてxcodeインストールしてない気がする.

と思ったけどしてたっぽい.

% xcode-select --install
xcode-select: error: command line tools are already installed, use "Software Update" to install updates

既にHomebrewが入ってるのでそりゃそうか

mac OS SDKはちゃんと入っている模様

% xcrun --sdk macosx --show-sdk-path
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk

https://zenn.dev/link/comments/4ba42a9a1ca6ba
で失敗した時に出ていたld: symbol(s) not found for architecture x86_64が気になる.リンカがうまくヘッダーファイルを繋げられていないという認識.
コンパイラに対して何かしらフラグをつけて実行しないといけない?

binutilsをuninstall

% which ar; which ranlib
/usr/local/opt/binutils/bin/ar
/usr/local/opt/binutils/bin/ranlib
% brew uninstall binutils
Uninstalling /usr/local/Cellar/binutils/2.37... (82 files, 158.8MB)
% which ar; which ranlib
/usr/bin/ar
/usr/bin/ranlib

rbenv installしたら入った❗️❗️❗️❗️

% rbenv install 2.5.8

Downloading openssl-1.1.1k.tar.gz...
-> https://dqw8nmjcqpjn7.cloudfront.net/892a0875b9872acd04a9fde79b1f943075d5ea162415de3047c327df33fbaee5
Installing openssl-1.1.1k...
Installed openssl-1.1.1k to /Users/kanekou/.anyenv/envs/rbenv/versions/2.5.8

Downloading ruby-2.5.8.tar.bz2...
-> https://cache.ruby-lang.org/pub/ruby/2.5/ruby-2.5.8.tar.bz2
Installing ruby-2.5.8...

WARNING: ruby-2.5.8 is past its end of life and is now unsupported.
It no longer receives bug fixes or critical security updates.

ruby-build: using readline from homebrew
Installed ruby-2.5.8 to /Users/kanekou/.anyenv/envs/rbenv/versions/2.5.8

% ruby --version
ruby 2.5.8p224 (2020-03-31 revision 67882) [x86_64-darwin20]

macでbinutilsをインストールするとarranlibのpathが書き換えられ,リンク時にエラーを吐くことが判明した.勉強になった.

解決したのでclose

このスクラップは2021/09/01にクローズされました
ログインするとコメントできます