Open gyfis opened 2 years ago
I too have this issue, though with ruby 3.0.2
Looks like this issue might be related in the C library: https://github.com/redis/hiredis/issues/862 different build error for hiredis, ignore
Looks like the build error we're running into locally is basically a duplicate of this unresolved (😢) issue: https://github.com/redis/hiredis-rb/issues/54
The build error in that issue looks the same, but is probably ran from a Docker container -- it looks similar to what I was seeing on an Alpine container before I switched to looking at this locally
Native ext ( d62cb77c72fe292e4f35f385467006096b7d9e3b ) builds fine on M1 Max + 3.1.2, 2.7.6, and 2.6.10.
brew uninstall --ignore-dependencies hiredis; gem install specific_install && gem specific_install https://github.com/redis/hiredis-rb
Hi, I'm trying to use hiredis with the native SSL support, which seems to be available on the
master
branch of the repo, but I'm unable to install the gem when specifyinggem 'hiredis', github: 'redis/hiredis-rb'
in my Gemfile.I'm using Ruby 2.7.5., M1 Max MacBook, but this also happens on a Ubuntu 20.04 machine. The stacktrace is quite mysterious, so I wasn't able to figure out where or why it's failing. I have
hiredis
installed viabrew
.Any pointers appreciated!
Here are the stacktrace and related files:
bundle install
``` > bundle install ... Using hiredis 0.6.3 from https://github.com/redis/hiredis-rb.git (at master@a66f527) /Users/gyfis/.rbenv/versions/2.7.5/lib/ruby/2.7.0/rubygems/ext/builder.rb:167: warning: conflicting chdir during another chdir block /Users/gyfis/.rbenv/versions/2.7.5/lib/ruby/2.7.0/rubygems/ext/builder.rb:175: warning: conflicting chdir during another chdir block Gem::Ext::BuildError: ERROR: Failed to build gem native extension. current directory: /Users/gyfis/.rbenv/versions/2.7.5/lib/ruby/gems/2.7.0/bundler/gems/hiredis-rb-a66f527d7661/ext/hiredis_ext /Users/gyfis/.rbenv/versions/2.7.5/bin/ruby -I /Users/gyfis/.rbenv/versions/2.7.5/lib/ruby/2.7.0 -r ./siteconf20220211-34460-1bi0xss.rb extconf.rb --with-cflags\=-std\=c99 checking for sys/socket.h... yes make: *** No rule to make target `static'. Stop. *** extconf.rb failed *** Could not create Makefile due to some reason, probably lack of necessary libraries and/or headers. Check the mkmf.log file for more details. You may need configuration options. Provided configuration options: --with-opt-dir --without-opt-dir --with-opt-include --without-opt-include=${opt-dir}/include --with-opt-lib --without-opt-lib=${opt-dir}/lib --with-make-prog --without-make-prog --srcdir=. --curdir --ruby=/Users/gyfis/.rbenv/versions/2.7.5/bin/$(RUBY_BASE_NAME) --with-sys-dir --without-sys-dir --with-sys-include --without-sys-include=${sys-dir}/include --with-sys-lib --without-sys-lib=${sys-dir}/lib extconf.rb:33:in `block inHere's the` hiredis-rb-a66f527d7661/mkmf.log`:
``` have_header: checking for sys/socket.h... -------------------- yes "clang -o conftest -I/Users/gyfis/.rbenv/versions/2.7.5/include/ruby-2.7.0/arm64-darwin21 -I/Users/gyfis/.rbenv/versions/2.7.5/include/ruby-2.7.0/ruby/backward -I/Users/gyfis/.rbenv/versions/2.7.5/include/ruby-2.7.0 -I. -I/Users/gyfis/.rbenv/versions/2.7.5/include -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -D_DARWIN_UNLIMITED_SELECT -D_REENTRANT -std=c99 conftest.c -L. -L/Users/gyfis/.rbenv/versions/2.7.5/lib -L. -L/Users/gyfis/.rbenv/versions/2.7.5/lib -fstack-protector-strong -m64 -lruby.2.7 " checked program was: /* begin */ 1: #include "ruby.h" 2: 3: int main(int argc, char **argv) 4: { 5: return !!argv[argc]; 6: } /* end */ "clang -E -I/Users/gyfis/.rbenv/versions/2.7.5/include/ruby-2.7.0/arm64-darwin21 -I/Users/gyfis/.rbenv/versions/2.7.5/include/ruby-2.7.0/ruby/backward -I/Users/gyfis/.rbenv/versions/2.7.5/include/ruby-2.7.0 -I. -I/Users/gyfis/.rbenv/versions/2.7.5/include -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -D_DARWIN_UNLIMITED_SELECT -D_REENTRANT -std=c99 conftest.c -o conftest.i" checked program was: /* begin */ 1: #include "ruby.h" 2: 3: #includeAnd here's the `gem_make.out`:
``` current directory: /Users/gyfis/.rbenv/versions/2.7.5/lib/ruby/gems/2.7.0/bundler/gems/hiredis-rb-a66f527d7661/ext/hiredis_ext /Users/gyfis/.rbenv/versions/2.7.5/bin/ruby -I /Users/gyfis/.rbenv/versions/2.7.5/lib/ruby/2.7.0 -r ./siteconf20220211-34460-1bi0xss.rb extconf.rb --with-cflags\=-std\=c99 checking for sys/socket.h... yes make: *** No rule to make target `static'. Stop. *** extconf.rb failed *** Could not create Makefile due to some reason, probably lack of necessary libraries and/or headers. Check the mkmf.log file for more details. You may need configuration options. Provided configuration options: --with-opt-dir --without-opt-dir --with-opt-include --without-opt-include=${opt-dir}/include --with-opt-lib --without-opt-lib=${opt-dir}/lib --with-make-prog --without-make-prog --srcdir=. --curdir --ruby=/Users/gyfis/.rbenv/versions/2.7.5/bin/$(RUBY_BASE_NAME) --with-sys-dir --without-sys-dir --with-sys-include --without-sys-include=${sys-dir}/include --with-sys-lib --without-sys-lib=${sys-dir}/lib extconf.rb:33:in `block in