amoeba opened a new issue, #50180:
URL: https://github.com/apache/arrow/issues/50180

   ### Describe the bug, including details regarding any error messages, 
version, and platform.
   
   When using red-arrow with 
[rubygems-requirements-system](https://github.com/ruby-gnome/rubygems-requirements-system)
 on arm64 macOS, installing system requirements fails. There are at least a few 
ways to fix this so I'm filing an issue to discuss.
   
   My `Gemfile`:
   
   ```ruby
   source "https://rubygems.org";
   
   plugin "rubygems-requirements-system"
   
   gem "activerecord-adbc-adapter"
   ```
   
   My error,
   
   ```
   $ bundle
   -- >8 -- 
   Installing red-arrow 24.0.0 with native extensions
   requirements: system: arrow-c-glib: install: Start
   Retrieving notices: done
   Channels:
    - conda-forge
   Platform: osx-arm64
   Collecting package metadata (repodata.json): done
   Solving environment: failed
   
   PackagesNotFoundError: The following packages are not available from current 
channels:
   
     - arrow-c-glib
   
   Current channels:
   
     - https://conda.anaconda.org/conda-forge
   
   To search for alternate channels that may provide the conda package you're
   looking for, navigate to
   
       https://anaconda.org
   
   and use the search bar at the top of the page.
   
   
   requirements: system: arrow-c-glib: install: failed
   requirements: system: arrow-c-glib: install: Failed.
   requirements: system: Run the following command to install required system 
package: /opt/homebrew/Caskroom/miniforge/base/bin/conda install -c conda-forge 
-y arrow-c-glib
   Gem::InstallError: pre-install hook at 
/Users/bryce/tmp/arrow-ruby/.bundle/plugin/gems/rubygems-requirements-system-0.1.7/plugins.rb:17
 failed for red-arrow-24.0.0
     
/Users/bryce/.rubies/ruby-4.0.0/lib/ruby/4.0.0/rubygems/installer.rb:317:in 
'block in Gem::Installer#run_pre_install_hooks'
     
/Users/bryce/.rubies/ruby-4.0.0/lib/ruby/4.0.0/rubygems/installer.rb:312:in 
'Array#each'
     
/Users/bryce/.rubies/ruby-4.0.0/lib/ruby/4.0.0/rubygems/installer.rb:312:in 
'Gem::Installer#run_pre_install_hooks'
     
/Users/bryce/.rubies/ruby-4.0.0/lib/ruby/4.0.0/bundler/rubygems_gem_installer.rb:14:in
 'Bundler::RubyGemsGemInstaller#install'
     
/Users/bryce/.rubies/ruby-4.0.0/lib/ruby/4.0.0/bundler/source/rubygems.rb:217:in
 'block in Bundler::Source::Rubygems#install'
     /Users/bryce/.rubies/ruby-4.0.0/lib/ruby/4.0.0/rubygems.rb:1051:in 
'Gem.time'
     
/Users/bryce/.rubies/ruby-4.0.0/lib/ruby/4.0.0/bundler/source/rubygems.rb:216:in
 'Bundler::Source::Rubygems#install'
     
/Users/bryce/.rubies/ruby-4.0.0/lib/ruby/4.0.0/bundler/installer/gem_installer.rb:54:in
 'Bundler::GemInstaller#install'
     
/Users/bryce/.rubies/ruby-4.0.0/lib/ruby/4.0.0/bundler/installer/gem_installer.rb:17:in
 'Bundler::GemInstaller#install_from_spec'
     
/Users/bryce/.rubies/ruby-4.0.0/lib/ruby/4.0.0/bundler/installer/parallel_installer.rb:133:in
 'Bundler::ParallelInstaller#do_install'
     
/Users/bryce/.rubies/ruby-4.0.0/lib/ruby/4.0.0/bundler/installer/parallel_installer.rb:124:in
 'block in Bundler::ParallelInstaller#worker_pool'
     /Users/bryce/.rubies/ruby-4.0.0/lib/ruby/4.0.0/bundler/worker.rb:62:in 
'Bundler::Worker#apply_func'
     /Users/bryce/.rubies/ruby-4.0.0/lib/ruby/4.0.0/bundler/worker.rb:57:in 
'block in Bundler::Worker#process_queue'
     /Users/bryce/.rubies/ruby-4.0.0/lib/ruby/4.0.0/bundler/worker.rb:54:in 
'Kernel#loop'
     /Users/bryce/.rubies/ruby-4.0.0/lib/ruby/4.0.0/bundler/worker.rb:54:in 
'Bundler::Worker#process_queue'
     /Users/bryce/.rubies/ruby-4.0.0/lib/ruby/4.0.0/bundler/worker.rb:90:in 
'block (2 levels) in Bundler::Worker#create_threads'
   
   An error occurred while installing red-arrow (24.0.0), and Bundler cannot 
continue.
   
   In Gemfile:
     activerecord-adbc-adapter was resolved to 0.0.1, which depends on
       red-adbc was resolved to 1.11.0, which depends on
         red-arrow
   ```
   
   I see it errors out when trying to find `arrow-c-glib` on conda-forge which 
fails because we don't have arm64 packages on conda-forge. But the real thing I 
wanted was for `rubygems-requirements-system` to ignore the failure and 
continue down to try to install with homebrew.
   
   To fix this, I think we could:
   
   1. Publish arm64 binaries to conda-forge
   1. Remove the conda options from the requirements since Linux users will 
already get covered by apt/yum/etc
   1. Improve `rubygems-requirements-system` to have fallback behavior in this 
case (package manager and package name is available but wrong platform)
   
   ## System Info
   
   ```
   $ ruby -v
   ruby 4.0.0 (2025-12-25 revision 553f1675f3) +PRISM [arm64-darwin25]
   
   $ bundle -v
   4.0.3
   ```
   
   cc @kou 
   
   ### Component(s)
   
   Ruby


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to