Last active
November 2, 2024 13:56
-
-
Save taketo1113/b2dc7b06233f9f40fad1d5af5a80f29b to your computer and use it in GitHub Desktop.
Revisions
-
taketo1113 revised this gist
Sep 18, 2024 . 1 changed file with 2 additions and 0 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -101,6 +101,8 @@ irb(main):002> CONFIG['CXX'] ruby-build occurs CXXFLAGS is not valid, when fail to build gem native extension. ``` $ rbenv install -f -v 3.3.4 ... checking whether CXXFLAGS is valid... no configure: WARNING: something wrong with CXXFLAGS="-fdeclspec" ``` -
taketo1113 created this gist
Sep 18, 2024 .There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -0,0 +1,106 @@ # ERROR: Failed to build gem native extension ## Environment - Mac mini (Apple M1) - OS: macOS 14.7 - ruby: ruby 3.3.4 (2024-07-09 revision be1089c8ec) [arm64-darwin23] - ruby-build: ruby-build 20240917 (homebrew) ## Error Details: gem install ```ruby # Gemfile source "https://rubygems.org" git_source(:github) { |repo| "https://github.com/#{repo}.git" } gem "unf_ext" ``` ```sh $ bundle install --path tmp [DEPRECATED] The `--path` flag is deprecated because it relies on being remembered across bundler invocations, which bundler will no longer do in future versions. Instead please use `bundle config set path 'tmp'`, and stop using this flag Fetching gem metadata from https://rubygems.org/. Resolving dependencies... Fetching unf_ext 0.0.9.1 Installing unf_ext 0.0.9.1 with native extensions Gem::Ext::BuildError: ERROR: Failed to build gem native extension. current directory: /Users/taketo/tmp/hoge/tmp/ruby/3.3.0/gems/unf_ext-0.0.9.1/ext/unf_ext /Users/taketo/.rbenv/versions/3.3.4/bin/ruby extconf.rb checking for -lstdc++... yes creating Makefile current directory: /Users/taketo/tmp/hoge/tmp/ruby/3.3.0/gems/unf_ext-0.0.9.1/ext/unf_ext make DESTDIR\= sitearchdir\=./.gem.20240918-54275-bc6g24 sitelibdir\=./.gem.20240918-54275-bc6g24 clean current directory: /Users/taketo/tmp/hoge/tmp/ruby/3.3.0/gems/unf_ext-0.0.9.1/ext/unf_ext make DESTDIR\= sitearchdir\=./.gem.20240918-54275-bc6g24 sitelibdir\=./.gem.20240918-54275-bc6g24 compiling unf.cc make: *** [unf.o] Error 1 make failed, exit code 2 Gem files will remain installed in /Users/taketo/tmp/hoge/tmp/ruby/3.3.0/gems/unf_ext-0.0.9.1 for inspection. Results logged to /Users/taketo/tmp/hoge/tmp/ruby/3.3.0/extensions/arm64-darwin-23/3.3.0/unf_ext-0.0.9.1/gem_make.out /Users/taketo/.rbenv/versions/3.3.4/lib/ruby/3.3.0/rubygems/ext/builder.rb:125:in `run' /Users/taketo/.rbenv/versions/3.3.4/lib/ruby/3.3.0/rubygems/ext/builder.rb:51:in `block in make' /Users/taketo/.rbenv/versions/3.3.4/lib/ruby/3.3.0/rubygems/ext/builder.rb:43:in `each' /Users/taketo/.rbenv/versions/3.3.4/lib/ruby/3.3.0/rubygems/ext/builder.rb:43:in `make' /Users/taketo/.rbenv/versions/3.3.4/lib/ruby/3.3.0/rubygems/ext/ext_conf_builder.rb:42:in `build' /Users/taketo/.rbenv/versions/3.3.4/lib/ruby/3.3.0/rubygems/ext/builder.rb:193:in `build_extension' /Users/taketo/.rbenv/versions/3.3.4/lib/ruby/3.3.0/rubygems/ext/builder.rb:227:in `block in build_extensions' /Users/taketo/.rbenv/versions/3.3.4/lib/ruby/3.3.0/rubygems/ext/builder.rb:224:in `each' /Users/taketo/.rbenv/versions/3.3.4/lib/ruby/3.3.0/rubygems/ext/builder.rb:224:in `build_extensions' /Users/taketo/.rbenv/versions/3.3.4/lib/ruby/3.3.0/rubygems/installer.rb:852:in `build_extensions' /Users/taketo/.rbenv/versions/3.3.4/lib/ruby/3.3.0/bundler/rubygems_gem_installer.rb:76:in `build_extensions' /Users/taketo/.rbenv/versions/3.3.4/lib/ruby/3.3.0/bundler/rubygems_gem_installer.rb:28:in `install' /Users/taketo/.rbenv/versions/3.3.4/lib/ruby/3.3.0/bundler/source/rubygems.rb:206:in `install' /Users/taketo/.rbenv/versions/3.3.4/lib/ruby/3.3.0/bundler/installer/gem_installer.rb:54:in `install' /Users/taketo/.rbenv/versions/3.3.4/lib/ruby/3.3.0/bundler/installer/gem_installer.rb:16:in `install_from_spec' /Users/taketo/.rbenv/versions/3.3.4/lib/ruby/3.3.0/bundler/installer/parallel_installer.rb:132:in `do_install' /Users/taketo/.rbenv/versions/3.3.4/lib/ruby/3.3.0/bundler/installer/parallel_installer.rb:123:in `block in worker_pool' /Users/taketo/.rbenv/versions/3.3.4/lib/ruby/3.3.0/bundler/worker.rb:62:in `apply_func' /Users/taketo/.rbenv/versions/3.3.4/lib/ruby/3.3.0/bundler/worker.rb:57:in `block in process_queue' <internal:kernel>:187:in `loop' /Users/taketo/.rbenv/versions/3.3.4/lib/ruby/3.3.0/bundler/worker.rb:54:in `process_queue' /Users/taketo/.rbenv/versions/3.3.4/lib/ruby/3.3.0/bundler/worker.rb:90:in `block (2 levels) in create_threads' An error occurred while installing unf_ext (0.0.9.1), and Bundler cannot continue. In Gemfile: unf_ext ``` ## Steps to reproduce ```sh $ ruby-build --version ruby-build 20240917 $ openssl version OpenSSL 3.3.2 3 Sep 2024 (Library: OpenSSL 3.3.2 3 Sep 2024) $ rbenv install -f 3.3.4 $ ruby -v ruby 3.3.4 (2024-07-09 revision be1089c8ec) [arm64-darwin23] ``` ### ruby build option `CONFIG['CXX']` returns false when fail to build gem native extension. It returns `clang++` when success to build . ```ruby $ irb irb(main):001> require 'mkmf' => true irb(main):002> CONFIG['CXX'] => "false" ``` ### ruby-build ruby-build occurs CXXFLAGS is not valid, when fail to build gem native extension. ``` checking whether CXXFLAGS is valid... no configure: WARNING: something wrong with CXXFLAGS="-fdeclspec" ```