Eric Guo's blog.cloud-mes.com

Hoping writing JS, Ruby & Rails and Go article, but fallback to DevOps note

Install Sassc in Sequoia and Brew Ruby 3.4.1

Permalink

My new Sequoia 15.3 seems not loading C++ standard library headers and lead several native gem failed to compile:

┌─[±][master U:1 ✗][ 5:13PM][product_hunt]
└─▪ bundle update
Fetching gem metadata from https://rubygems.org/...........
Resolving dependencies...
Fetching sassc 2.4.0
Installing sassc 2.4.0 with native extensions
Gem::Ext::BuildError: ERROR: Failed to build gem native extension.
current directory: /opt/homebrew/lib/ruby/gems/3.4.0/gems/sassc-2.4.0/ext
/opt/homebrew/opt/ruby/bin/ruby extconf.rb
creating Makefile
current directory: /opt/homebrew/lib/ruby/gems/3.4.0/gems/sassc-2.4.0/ext
make DESTDIR\= sitearchdir\=./.gem.20250128-60884-opsqne sitelibdir\=./.gem.20250128-60884-opsqne clean
current directory: /opt/homebrew/lib/ruby/gems/3.4.0/gems/sassc-2.4.0/ext
make DESTDIR\= sitearchdir\=./.gem.20250128-60884-opsqne sitelibdir\=./.gem.20250128-60884-opsqne
compiling ./libsass/src/ast.cpp
In file included from ./libsass/src/ast.cpp:3:
In file included from ./libsass/src/sass.hpp:55:
In file included from ./libsass/src/memory.hpp:8:
./libsass/src/memory/allocator.hpp:8:10: fatal error: 'vector' file not found
8 | #include <vector>
| ^~~~~~~~
1 error generated.
make: *** [ast.o] Error 1
make failed, exit code 2
Gem files will remain installed in /opt/homebrew/lib/ruby/gems/3.4.0/gems/sassc-2.4.0 for inspection.
Results logged to /opt/homebrew/lib/ruby/gems/3.4.0/extensions/arm64-darwin-24/3.4.0/sassc-2.4.0/gem_make.out
/opt/homebrew/lib/ruby/site_ruby/3.4.0/rubygems/ext/builder.rb:126:in 'Gem::Ext::Builder.run'
/opt/homebrew/lib/ruby/site_ruby/3.4.0/rubygems/ext/builder.rb:52:in 'block in Gem::Ext::Builder.make'
/opt/homebrew/lib/ruby/site_ruby/3.4.0/rubygems/ext/builder.rb:44:in 'Array#each'
/opt/homebrew/lib/ruby/site_ruby/3.4.0/rubygems/ext/builder.rb:44:in 'Gem::Ext::Builder.make'
/opt/homebrew/lib/ruby/site_ruby/3.4.0/rubygems/ext/ext_conf_builder.rb:44:in 'Gem::Ext::ExtConfBuilder.build'
/opt/homebrew/lib/ruby/site_ruby/3.4.0/rubygems/ext/builder.rb:195:in 'Gem::Ext::Builder#build_extension'
/opt/homebrew/lib/ruby/site_ruby/3.4.0/rubygems/ext/builder.rb:229:in 'block in Gem::Ext::Builder#build_extensions'
/opt/homebrew/lib/ruby/site_ruby/3.4.0/rubygems/ext/builder.rb:226:in 'Array#each'
/opt/homebrew/lib/ruby/site_ruby/3.4.0/rubygems/ext/builder.rb:226:in 'Gem::Ext::Builder#build_extensions'
/opt/homebrew/lib/ruby/site_ruby/3.4.0/rubygems/installer.rb:844:in 'Gem::Installer#build_extensions'
/opt/homebrew/lib/ruby/site_ruby/3.4.0/bundler/rubygems_gem_installer.rb:111:in 'Bundler::RubyGemsGemInstaller#build_extensions'
/opt/homebrew/lib/ruby/site_ruby/3.4.0/bundler/rubygems_gem_installer.rb:30:in 'Bundler::RubyGemsGemInstaller#install'
/opt/homebrew/lib/ruby/site_ruby/3.4.0/bundler/source/rubygems.rb:205:in 'Bundler::Source::Rubygems#install'
/opt/homebrew/lib/ruby/site_ruby/3.4.0/bundler/installer/gem_installer.rb:55:in 'Bundler::GemInstaller#install'
/opt/homebrew/lib/ruby/site_ruby/3.4.0/bundler/installer/gem_installer.rb:17:in 'Bundler::GemInstaller#install_from_spec'
/opt/homebrew/lib/ruby/site_ruby/3.4.0/bundler/installer/parallel_installer.rb:133:in 'Bundler::ParallelInstaller#do_install'
/opt/homebrew/lib/ruby/site_ruby/3.4.0/bundler/installer/parallel_installer.rb:124:in 'block in Bundler::ParallelInstaller#worker_pool'
/opt/homebrew/lib/ruby/site_ruby/3.4.0/bundler/worker.rb:62:in 'Bundler::Worker#apply_func'
/opt/homebrew/lib/ruby/site_ruby/3.4.0/bundler/worker.rb:57:in 'block in Bundler::Worker#process_queue'
<internal:kernel>:168:in 'Kernel#loop'
/opt/homebrew/lib/ruby/site_ruby/3.4.0/bundler/worker.rb:54:in 'Bundler::Worker#process_queue'
/opt/homebrew/lib/ruby/site_ruby/3.4.0/bundler/worker.rb:90:in 'block (2 levels) in Bundler::Worker#create_threads'
An error occurred while installing sassc (2.4.0), and Bundler cannot continue.
In Gemfile:
sassc-rails was resolved to 2.1.2, which depends on
sassc

Below is the correct solution:

xcrun --show-sdk-path
CPLUS_INCLUDE_PATH=/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1 bundle install
CPLUS_INCLUDE_PATH=/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1 gem install rmmseg-cpp-new

Comments