Bundle update error on macOS BigSur (Apple Silicon M1) - ruby

I've ruby tools installed brew install ruby-install chruby
and ruby 2.7 which is visible when I use chruby 2.7 command
but when I want to update packages in gem file I got such error:
Fetching digest-crc 0.6.4 (was 0.6.3)
Installing digest-crc 0.6.4 (was 0.6.3) with native extensions
Gem::Ext::BuildError: ERROR: Failed to build gem native extension.
current directory:
/Users/nysander/.gem/ruby/2.7.4/gems/digest-crc-0.6.4/ext/digest
/Users/nysander/.rubies/ruby-2.7.4/bin/ruby
-I/Users/nysander/.rubies/ruby-2.7.4/lib/ruby/2.7.0/rubygems -rrubygems
/Users/nysander/.gem/ruby/2.7.4/gems/rake-13.0.6/exe/rake
RUBYARCHDIR\=/Users/nysander/.gem/ruby/2.7.4/extensions/arm64-darwin-20/2.7.0-static/digest-crc-0.6.4
RUBYLIBDIR\=/Users/nysander/.gem/ruby/2.7.4/extensions/arm64-darwin-20/2.7.0-static/digest-crc-0.6.4
dyld: lazy symbol binding failed: Symbol not found: _rb_deprecate_constant
Referenced from:
/Users/nysander/.gem/ruby/2.7.4/gems/etc-1.2.0/lib/etc.bundle
Expected in: flat namespace
dyld: Symbol not found: _rb_deprecate_constant
Referenced from:
/Users/nysander/.gem/ruby/2.7.4/gems/etc-1.2.0/lib/etc.bundle
Expected in: flat namespace
rake failed, uncaught signal 6
Gem files will remain installed in
/Users/nysander/.gem/ruby/2.7.4/gems/digest-crc-0.6.4 for inspection.
Results logged to
/Users/nysander/.gem/ruby/2.7.4/extensions/arm64-darwin-20/2.7.0-static/digest-crc-0.6.4/gem_make.out
An error occurred while installing digest-crc (0.6.4), and Bundler
cannot continue.
Make sure that `gem install digest-crc -v '0.6.4' --source
'https://rubygems.org/'` succeeds before bundling.
In Gemfile:
xcode-install was resolved to 2.7.0, which depends on
fastlane was resolved to 2.174.0, which depends on
google-cloud-storage was resolved to 1.34.1, which depends on
digest-crc
how to fix this? this is the same when I try to use terminal in normal or Roseta 2 mode
I've tried installing manually gem install digest-crc -v '0.6.4' --source 'https://rubygems.org/' but this also fails.
Any help really appreciated

Related

RN CLI error - Failed to build gem native extension, error occurred while installing ffi

When I run npx react-native projectname, the project is only created partially.
Now when I run bundle install I get:
Gem::Ext::BuildError: ERROR: Failed to build gem native extension.
An error occurred while installing ffi (1.15.5), and Bundler cannot continue.
Make sure that "gem install ffi -v '1.15.5' --source 'https://rubygems.org/'" succeeds before bundling.
Using atomos 0.1.3
Using bundler 2.1.4
Using claide 1.1.0
Using fuzzy_match 2.0.4
Using nap 1.1.0
Using netrc 0.11.0
Fetching ffi 1.15.5
Installing ffi 1.15.5 with native extensions
Gem::Ext::BuildError: ERROR: Failed to build gem native extension.
current directory: █████████████████████s/React
Native/uber/vendor/bundle/ruby/2.7.0/gems/ffi-1.15.5/ext/ffi_c
█████████████/.rvm/rubies/ruby-2.7.5/lib/ruby/2.7.0 -r ./siteconf20221129-56735-3mfz1o.rb
extconf.rb
checking for ffi_prep_closure_loc() in -lffi… no
checking for ffi_prep_closure_loc() in -llibffi… no
checking for ffi_prep_closure_loc() in -llibffi-8… no
checking for whether -Wl,--exclude-libs,ALL is accepted as LDFLAGS… no
checking for whether -pthread is accepted as LDFLAGS… yes
creating extconf.h
creating Makefile
current directory: █████████████████████React
Native/uber/vendor/bundle/ruby/2.7.0/gems/ffi-1.15.5/ext/ffi_c
make "DESTDIR=" clean
current directory: █████████████████████React
Native/uber/vendor/bundle/ruby/2.7.0/gems/ffi-1.15.5/ext/ffi_c
make "DESTDIR="
/bin/sh: -c: line 0: unexpected EOF while looking for matching
/bin/sh: -c: line 1: syntax error: unexpected end of file
make: *** █████████████████████ Error 2
make failed, exit code 2
Gem files will remain installed in █████████████████████/React
Native/uber/vendor/bundle/ruby/2.7.0/gems/ffi-1.15.5 for inspection.
Results logged to █████████████████████/React
Native/uber/vendor/bundle/ruby/2.7.0/extensions/arm64-darwin-21/2.7.0/ffi-1.15.5/gem_make.out
An error occurred while installing ffi (1.15.5), and Bundler cannot continue.
Make sure that `gem install ffi -v '1.15.5' --source 'https://rubygems.org/'` succeeds before bundling.
In Gemfile:
cocoapods was resolved to 1.11.3, which depends on
cocoapods-core was resolved to 1.11.3, which depends on
typhoeus was resolved to 1.4.0, which depends on
ethon was resolved to 0.16.0, which depends on
ffi
Yes, I have installed the ffi 1.15.5 (below screenshot) but it is still saying I dont have it
█████████████████████ gem install ffi -v '1.15.5' --source 'https://rubygems.org/ '
Building native extensions. This could take a while...
Successfully installed ffi-1.15.5
Parsing documentation for ffi-1.15.5
Done installing documentation for ffi after 0 seconds
1 gem installed
Ruby version: ruby 2.7.5p203 (2021-11-24 revision f69aeb8314) [arm64-darwin21]
pod --version: 1.11.3
I am impressed how difficult it is to start a project. Someone please help
I've been stuck with this problem for an hour. The fix would be initializing your project on a folder directory without space.
Try running npx react-native init on Desktop and it should work fine.

Issues with setting up react native cli project

When I run npx react-native projectname, the project is only created partially.
Now when I run bundle install I get:
1. Gem::Ext::BuildError: ERROR: Failed to build gem native extension.
2. An error occurred while installing ffi (1.15.5), and Bundler cannot continue. Make sure that "gem install ffi -v '1.15.5' --source 'https://rubygems.org/'" succeeds before bundling.
Using atomos 0.1.3
Using bundler 2.1.4
Using claide 1.1.0
Using fuzzy_match 2.0.4
Using nap 1.1.0
Using netrc 0.11.0
Fetching ffi 1.15.5
Installing ffi 1.15.5 with native extensions
Gem::Ext::BuildError: ERROR: Failed to build gem native extension.
current directory: █████████████████████s/React
Native/uber/vendor/bundle/ruby/2.7.0/gems/ffi-1.15.5/ext/ffi_c
█████████████████████/.rvm/rubies/ruby-2.7.5/lib/ruby/2.7.0 -r ./siteconf20221129-56735-3mfz1o.rb
extconf.rb
checking for ffi_prep_closure_loc() in -lffi… no
checking for ffi_prep_closure_loc() in -llibffi… no
checking for ffi_prep_closure_loc() in -llibffi-8… no
checking for whether -Wl,--exclude-libs,ALL is accepted as LDFLAGS… no
checking for whether -pthread is accepted as LDFLAGS… yes
creating extconf.h
creating Makefile
current directory: █████████████████████React
Native/uber/vendor/bundle/ruby/2.7.0/gems/ffi-1.15.5/ext/ffi_c
make "DESTDIR=" clean
current directory: █████████████████████React
Native/uber/vendor/bundle/ruby/2.7.0/gems/ffi-1.15.5/ext/ffi_c
make "DESTDIR="
/bin/sh: -c: line 0: unexpected EOF while looking for matching
/bin/sh: -c: line 1: syntax error: unexpected end of file
make: *** █████████████████████ Error 2
make failed, exit code 2
Gem files will remain installed in █████████████████████/React
Native/uber/vendor/bundle/ruby/2.7.0/gems/ffi-1.15.5 for inspection.
Results logged to █████████████████████/React
Native/uber/vendor/bundle/ruby/2.7.0/extensions/arm64-darwin-21/2.7.0/ffi-1.15.5/gem_make.out
An error occurred while installing ffi (1.15.5), and Bundler cannot continue.
Make sure that `gem install ffi -v '1.15.5' --source 'https://rubygems.org/'` succeeds before bundling.
In Gemfile:
cocoapods was resolved to 1.11.3, which depends on
cocoapods-core was resolved to 1.11.3, which depends on
typhoeus was resolved to 1.4.0, which depends on
ethon was resolved to 0.16.0, which depends on
ffi
Yes, I have installed the ffi 1.15.5 (below screenshot) but it is still saying I dont have it
█████████████████████ gem install ffi -v '1.15.5' --source 'https://rubygems.org/ '
Building native extensions. This could take a while...
Successfully installed ffi-1.15.5
Parsing documentation for ffi-1.15.5
Done installing documentation for ffi after 0 seconds
1 gem installed
Ruby version: ruby 2.7.5p203 (2021-11-24 revision f69aeb8314) [arm64-darwin21]
pod --version: 1.11.3
I am impressed how difficult it is to start a project. Someone please help
Try using expo. https://docs.expo.dev/get-started/create-a-new-app/
run npx create-expo-app my-app
this will create a new app called "my-app".
Or you could run npx create-expo-app --template to begin with a starter app. I like to use 'Navigation (TypeScript)'.
The expo link will explain how to set up your app and how to run your app in a simulator or with the expo go app on your phone. It's a great resource.
Hope that helped!

jekyll build error unknown encoding name "chunked\r\n\r\n25"

I am trying something simple. Using Jekyll with Bundler. The first thing to do is create a new directory for your project and run  bundle init. This creates a new Bundler project (by creating an empty Gemfile).
mkdir my-jekyll-website
cd my-jekyll-website
bundle init
bundle config set --local path 'vendor/bundle'
bundle add jekyll
The last command gives me an issue.
C:\Users\***\Documents\LEARNING\web stuff\Jekyll\my-jekyll-website>bundle add jekyll
Fetching gem metadata from https://rubygems.org/..........
Fetching gem metadata from https://rubygems.org/.
Resolving dependencies...
Fetching gem metadata from https://rubygems.org/..........
Fetching gem metadata from https://rubygems.org/.
Resolving dependencies...
Fetching public_suffix 4.0.6
Installing public_suffix 4.0.6
Fetching addressable 2.7.0
Installing addressable 2.7.0
Using bundler 2.1.4
Fetching colorator 1.1.0
Installing colorator 1.1.0
Fetching concurrent-ruby 1.1.7
Installing concurrent-ruby 1.1.7
Fetching eventmachine 1.2.7 (x64-mingw32)
Installing eventmachine 1.2.7 (x64-mingw32)
Fetching http_parser.rb 0.6.0
Installing http_parser.rb 0.6.0 with native extensions
Gem::Ext::BuildError: ERROR: Failed to build gem native extension.
current directory: C:/Users/****/Documents/LEARNING/web
stuff/Jekyll/my-jekyll-website/vendor/bundle/ruby/2.6.0/gems/http_parser.rb-0.6.0/ext/ruby_http_parser
C:/Ruby26-x64/bin/ruby.exe -I C:/Ruby26-x64/lib/ruby/2.6.0 -r
./siteconf20200925-7100-x9bvnr.rb extconf.rb
creating Makefile
current directory: C:/Users/***/Documents/LEARNING/web
stuff/Jekyll/my-jekyll-website/vendor/bundle/ruby/2.6.0/gems/http_parser.rb-0.6.0/ext/ruby_http_parser
make "DESTDIR=" clean
current directory: C:/Users/***/Documents/LEARNING/web
stuff/Jekyll/my-jekyll-website/vendor/bundle/ruby/2.6.0/gems/http_parser.rb-0.6.0/ext/ruby_http_parser
make "DESTDIR="
generating ruby_http_parser-x64-mingw32.def
compiling ruby_http_parser.c
x86_64-w64-mingw32-gcc.exe: error:
stuff/Jekyll/my-jekyll-website/vendor/bundle/ruby/2.6.0/gems/http_parser.rb-0.6.0/ext/ruby_http_parser:
No such file or directory
make: *** [Makefile:244: ruby_http_parser.o] Error 1
make failed, exit code 2
Gem files will remain installed in C:/Users/***/Documents/LEARNING/web
stuff/Jekyll/my-jekyll-website/vendor/bundle/ruby/2.6.0/gems/http_parser.rb-0.6.0
for inspection.
Results logged to C:/Users/***/Documents/LEARNING/web
stuff/Jekyll/my-jekyll-website/vendor/bundle/ruby/2.6.0/extensions/x64-mingw32/2.6.0/http_parser.rb-0.6.0/gem_make.out
An error occurred while installing http_parser.rb (0.6.0), and Bundler cannot
continue.
Make sure that `gem install http_parser.rb -v '0.6.0' --source
'https://rubygems.org/'` succeeds before bundling.
In Gemfile:
jekyll was resolved to 4.1.1, which depends on
em-websocket was resolved to 0.5.2, which depends on
http_parser.rb
What am I missing? Why is this happening?
When I run,
gem install http_parser.rb -v '0.6.0' --source 'https://rubygems.org/'
I get the following output,
http://rubygems.org' Temporarily enhancing PATH for MSYS/MINGW...
Building native extensions. This could take a while...
Successfully installed http_parser.rb-0.6.0
Parsing documentation for http_parser.rb-0.6.0 unknown encoding name "chunked\r\n\r\n25" for ext/ruby_http_parser/vendor/http-parser-java/tools/parse_tests.rb,
skipping
Done installing documentation for http_parser.rb after 1 seconds
1 gem installed
Any pointers that will help me out of this?
I am running this on a Windows 10 laptop.
The code editor is VS Code and the Jekyll version is 4.1.1.
I just had the same problem on windows 10. In my case, the issue seemed to be caused by my Windows path including a folder with a space in its name and I see that you were in the same position ("web stuff"). Note the wording of the error - it only includes the section of the path following the space. In my case, moving the installation to a different folder without a space in the name fixed the problem.
compiling ruby_http_parser.c
x86_64-w64-mingw32-gcc.exe: error:
stuff/Jekyll/my-jekyll-website/vendor/bundle/ruby/2.6.0/gems/http_parser.rb-0.6.0/ext/ruby_http_parser:
No such file or directory
make: *** [Makefile:244: ruby_http_parser.o] Error 1
make failed, exit code 2
I guess that the compilation stage has failed to quote the name of the file to compile. I'm not a Ruby or Jekyll developer and don't know where to log that issue.

bundle install using wrong ruby with rvm when building native extension?

I'm using bundle install to install rest-client. It's failing with the following:
$ bundle
Fetching gem metadata from https://rubygems.org/..........
Fetching version metadata from https://rubygems.org/..
Resolving dependencies...
Installing unf_ext 0.0.7.4 with native extensions
Gem::Ext::BuildError: ERROR: Failed to build gem native extension.
current directory: /home/roger/.rvm/gems/ruby-2.3.4#junk-drawer/gems/unf_ext-0.0.7.4/ext/unf_ext
/usr/bin/ruby2.3 -r ./siteconf20180115-9722-1iow75n.rb extconf.rb
mkmf.rb can't find header files for ruby at /usr/lib/ruby/include/ruby.h
extconf failed, exit code 1
Gem files will remain installed in /home/roger/.rvm/gems/ruby-2.3.4#junk-drawer/gems/unf_ext-0.0.7.4 for inspection.
Results logged to /home/roger/.rvm/gems/ruby-2.3.4#junk-drawer/extensions/x86_64-linux/2.3.0/unf_ext-0.0.7.4/gem_make.out
Installing mime-types-data 3.2016.0521
Installing netrc 0.11.0
Using bundler 1.11.2
An error occurred while installing unf_ext (0.0.7.4), and Bundler cannot continue.
Make sure that `gem install unf_ext -v '0.0.7.4'` succeeds before bundling.
I'm using rvm, which appears to be working correctly, if I'm reading the output from rvm info right.
which ruby reports /home/roger/.rvm/rubies/ruby-2.3.4/bin/ruby, which looks right.
I found Install ruby headers with rvm, but I have Ruby headers in (apparently) the correct place:
$ ruby -rmkmf -e 'print RbConfig::CONFIG["rubyhdrdir"]'
/home/roger/.rvm/rubies/ruby-2.3.4/include/ruby-2.3.0
$ ls /home/roger/.rvm/rubies/ruby-2.3.4/include/ruby-2.3.0
ruby/ ruby.h x86_64-linux/
In the output from bundle, I see /usr/bin/ruby2.3, which looks suspicious.
It's looking in the wrong place for Ruby header files. How do I get it to use the RVM-installed ones?
I was using the wrong bundle.
$ which bundle
/usr/bin/bundle
Either the one included in Ubuntu 16.04 is old, or using the system-installed bundler doesn't work with rvm-installed Ruby.
$ gem install bundler
Fetching: bundler-1.16.1.gem (100%)
...
1 gem installed
$ which bundle
/home/roger/.rvm/gems/ruby-2.3.4#junk-drawer/bin/bundle
That looks better.
$ bundle
Fetching gem metadata from https://rubygems.org/.........
Resolving dependencies...
Using bundler 1.16.1
...
Bundle complete! 1 Gemfile dependency, 9 gems now installed.
Use `bundle info [gemname]` to see where a bundled gem is installed.
Lesson learned: when using rvm, remember to gem install bundler as well.

Error installing RedCloth (4.2.9) on OS X 10.9.2

I try to install Jekyll with pages, using enter link description here.
The process stops when installing RedCloth (4.2.9): "Make sure that gem install RedCloth -v '4.2.9' succeeds before bundling."
The results below (I changed https in H due to url limitations in this Question).
I run OS X 10.9.2
Step 1 = OK
mikea:mego mikea$ ruby --version
ruby 2.0.0p247 (2013-06-27 revision 41674) [universal.x86_64-darwin13]
Step 2 = OK
mikea:mego mikea$ sudo gem install bundler
Password:
Successfully installed bundler-1.5.3
Parsing documentation for bundler-1.5.3
1 gem installed
Step 3 = NOK
mikea:mego mikea$ bundle install
Fetching gem metadata from H://rubygems.org/.......
Fetching additional metadata from h://rubygems.org/..
Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension.
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin/ruby extconf.rb --with-cflags=-w
checking for main() in -lc... yes
creating Makefile
make "DESTDIR="
compiling redcloth_attributes.c
compiling redcloth_inline.c
compiling redcloth_scan.c
linking shared-object redcloth_scan.bundle
clang: error: unknown argument: '-multiply_definedsuppress' [-Wunused-command-line-argument-hard-error-in-future]
clang: note: this will be a hard error (cannot be downgraded to a warning) in the future
make: *** [redcloth_scan.bundle] Error 1
Gem files will remain installed in /Users/mikea/.bundler/tmp/25125/gems/RedCloth-4.2.9 for inspection.
Results logged to /Users/mikea/.bundler/tmp/25125/gems/RedCloth-4.2.9/ext/redcloth_scan/gem_make.out
An error occurred while installing RedCloth (4.2.9), and Bundler cannot
continue.
Make sure that `gem install RedCloth -v '4.2.9'` succeeds before bundling.
I solved this by install rbenv with brew, and then install ruby 2.1.1 through rbenv. Finally change the ruby version to 2.1.1. Here is the command:
$brew update
$brew install rbenv
$rbenv install 2.1.1
$rbenv global 2.1.1
log out. Now you can try your 3 step.
I did not use hue answer to install rbenv with brew. Maybe you can use it.
I solved the problem by using Terminal, first go to the folder in Sites and then type:
jekyll serve --watch --baseurl ""

Resources