An error occurred while installing thin (1.7.2) - ruby

i tried to install the thin web server, version 1.7.2 but got an error
with the logs:
thin.c:359:10: error: implicit declaration of function 'thin_http_parser_has_error' is invalid in C99
[-Werror,-Wimplicit-function-declaration]
return thin_http_parser_has_error(http) ? Qtrue : Qfalse;
^
thin.c:374:10: error: implicit declaration of function 'thin_http_parser_is_finished' is invalid in C99
[-Werror,-Wimplicit-function-declaration]
return thin_http_parser_is_finished(http) ? Qtrue : Qfalse;
^
9 errors generated.
make: *** [thin.o] Error 1
make failed, exit code 2
Gem files will remain installed in
/Users/dorianmarie/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0/gems/thin-1.7.2 for inspection.
Results logged to
/Users/dorianmarie/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0/extensions/x86_64-darwin-19/2.7.0/thin-1.7.2/gem_make.out
An error occurred while installing thin (1.7.2), and Bundler cannot continue.
Make sure that `gem install thin -v '1.7.2' --source 'https://rubygems.org/'` succeeds before bundling.

disabling the error fixed it:
bundle config build.thin --with-cflags="-Wno-error=implicit-function-declaration"

The solution that worked for me was slightly different. I had to run the following for my specific gem version, using rbenv on Big Sur 11.3.1. I added a more in depth explanation of my particular error and solution here.
gem install thin -v '1.6.4' -- --with-cflags="-Wno-error=implicit-function-declaration"

arch -arm64 gem install thin -v '1.7.2' -- --with-cflags="-Wno-error=implicit-function-declaration"
worked for me on M1 mac Monterey

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.

Bundle update error on macOS BigSur (Apple Silicon M1)

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

Cannot install Jekyll after updating to Catalina - An error occurred while installing ffi (1.9.18)

I have updated my mac to use Catalina and now I am having all sorts of issues when I try and install Jekyll.
This is what I get when I run my usual grunt setup:
Running "jekyll:dist" (jekyll) task
>> Error: Command failed: bundle exec jekyll -v
>> bundler: command not found: jekyll
>> Install missing gem executables with `bundle install`
Warning: Please install Jekyll before running this task. Use --force to continue.
I then run sudo bundle install
I then get this:
Don't run Bundler as root. Bundler can ask for sudo if it is needed, and installing your bundle as root will break this
application for all non-root users on this machine.
Fetching gem metadata from https://rubygems.org/.........
Using public_suffix 3.0.1
Using addressable 2.5.2
Using bundler 2.1.4
Using colorator 1.1.0
Fetching ffi 1.9.18
Installing ffi 1.9.18 with native extensions
Gem::Ext::BuildError: ERROR: Failed to build gem native extension.
current directory: /Applications/MAMP/htdocs/hangr/vendor/bundle/ruby/2.6.0/gems/ffi-1.9.18/ext/ffi_c
/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/bin/ruby -I
/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0 -r ./siteconf20201016-30905-1yh2cx1.rb extconf.rb
checking for ffi_call() in -lffi... yes
checking for ffi_prep_closure()... yes
checking for ffi_raw_call()... yes
checking for ffi_prep_raw_closure()... yes
checking for shlwapi.h... no
checking for rb_thread_blocking_region()... no
checking for rb_thread_call_with_gvl()... yes
checking for rb_thread_call_without_gvl()... yes
checking for ffi_prep_cif_var()... yes
creating extconf.h
creating Makefile
current directory: /Applications/MAMP/htdocs/hangr/vendor/bundle/ruby/2.6.0/gems/ffi-1.9.18/ext/ffi_c
make "DESTDIR=" clean
current directory: /Applications/MAMP/htdocs/hangr/vendor/bundle/ruby/2.6.0/gems/ffi-1.9.18/ext/ffi_c
make "DESTDIR="
compiling AbstractMemory.c
compiling ArrayType.c
compiling Buffer.c
compiling Call.c
Call.c:355:5: error: implicit declaration of function 'rb_thread_call_without_gvl' is invalid in C99
[-Werror,-Wimplicit-function-declaration]
rbffi_thread_blocking_region(call_blocking_function, data, (void *) -1, NULL);
^
./Thread.h:78:39: note: expanded from macro 'rbffi_thread_blocking_region'
# define rbffi_thread_blocking_region rb_thread_call_without_gvl
^
1 error generated.
make: *** [Call.o] Error 1
make failed, exit code 2
Gem files will remain installed in /Applications/MAMP/htdocs/hangr/vendor/bundle/ruby/2.6.0/gems/ffi-1.9.18 for inspection.
Results logged to
/Applications/MAMP/htdocs/hangr/vendor/bundle/ruby/2.6.0/extensions/universal-darwin-19/2.6.0/ffi-1.9.18/gem_make.out
An error occurred while installing ffi (1.9.18), and Bundler cannot continue.
Make sure that `gem install ffi -v '1.9.18' --source 'https://rubygems.org/'` succeeds before bundling.
In Gemfile:
jekyll was resolved to 3.4.3, which depends on
jekyll-sass-converter was resolved to 1.5.1, which depends on
sass was resolved to 3.5.5, which depends on
sass-listen was resolved to 4.0.0, which depends on
rb-inotify was resolved to 0.9.10, which depends on
ffi
When I run
ruby -v
I get
ruby 2.6.3p62 (2019-04-16 revision 67580) [universal.x86_64-darwin19]
I have no idea at all what I need to do.
When I run
jekyll -v
I get
-bash: /usr/local/bin/jekyll: /System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/bin/ruby: bad interpreter: No such file or directory
I tried running this from another post but had no luck
gem install ffi -v '1.9.18' -- --with-cflags="-Wno-error=implicit-function-declaration"
Does anyone have any ideas?
Thanks
The root problem is that you cannot install one of jekyl's dependancies - specifically the ffi gem. Knowing that will better help you workout a fix.
You can see that this is the error by reading your bundle output. Learn how to read these so you can better help yourself in the future; If you were searching for "install ffi on macOS" you might have found more information available to you.
Give that you've just installed Catalina, it's likely that GCC isn't on your machine, or is outdated, or is unlinked.
Try running xcode-select --install to (re)install the Xcode command line tools.
ALSO - STOP USING SUDO
At the very top of your bundle output is a warning that you shouldn't use sudo when installing gems. It's good advice to follow!
Even better advice would be to use rbenv or rvm to create gem sets or environments for each ruby application you're working with. But, if you don't go all the way down that path, ** at least, stop using sudo**

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 ""

Unable to install bson_ext 1.8.2 gem

I am unable to install the bson_ext 1.8.2 gem in my mongo project directory.
In specific I tried running bundle install and gem install bson_ext -v '1.8.2'
I tried other solutions present on the forum but in vain.
Installing bson_ext (1.8.2)
Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension.
/home/jayanth/.rvm/rubies/ruby-2.0.0-p0/bin/ruby extconf.rb
checking for asprintf()... yes
checking for ruby/st.h... yes
checking for ruby/regex.h... yes
checking for ruby/encoding.h... yes
creating Makefile
make
compiling bson_buffer.c
compiling encoding_helpers.c
compiling cbson.c
cbson.c: In function ‘write_utf8’:
cbson.c:118:36: warning: pointer targets in passing argument 1 of ‘check_string’ differ in signedness [-Wpointer-sign]
In file included from cbson.c:66:0:
encoding_helpers.h:26:10: note: expected ‘const unsigned char *’ but argument is of type ‘char *’
cbson.c: In function ‘write_element’:
cbson.c:301:20: warning: unused variable ‘values’ [-Wunused-variable]
cbson.c: In function ‘objectid_generate’:
cbson.c:936:9: warning: implicit declaration of function ‘htonl’ [-Wimplicit-function-declaration]
cbson.c:944:5: warning: implicit declaration of function ‘htons’ [-Wimplicit-function-declaration]
cbson.c: In function ‘write_element’:
cbson.c:316:17: warning: ignoring return value of ‘asprintf’, declared with attribute warn_unused_result [-Wunused-result]
linking shared-object bson_ext/cbson.so
make install
/usr/bin/install -c -m 0755 cbson.so /home/jayanth/.rvm/gems/ruby-2.0.0-p0#mongo-tools/gems/bson_ext-1.8.2/ext/bson_ext/bson_ext
/usr/bin/install: cannot create regular file `/home/jayanth/.rvm/gems/ruby-2.0.0-p0#mongo-tools/gems/bson_ext-1.8.2/ext/bson_ext/bson_ext': No such file or directory
make: *** [install-so] Error 1
Gem files will remain installed in /home/jayanth/.rvm/gems/ruby-2.0.0-p0#mongo-tools/gems/bson_ext-1.8.2 for inspection.
Results logged to /home/jayanth/.rvm/gems/ruby-2.0.0-p0#mongo-tools/gems/bson_ext-1.8.2/ext/cbson/gem_make.out
An error occurred while installing bson_ext (1.8.2), and Bundler cannot continue.
Make sure that `gem install bson_ext -v '1.8.2'` succeeds before bundling.
gem install bson_ext -v '1.8.2 fails with the same error.
The solution here(https://jira.mongodb.org/browse/RUBY-551?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel) says its fixed....but i still face the same
Try updating rubygems and then installing bson_ext.
gem update --system
gem install bson_ext
I use ruby 2.0.0p0
When I installed bson-1.9.2.gem I got this error:
ERROR: Error installing bson_ext:
ERROR: Failed to build gem native extension.
/home/albert/.rvm/rubies/ruby-2.0.0-p0/bin/ruby extconf.rb
The following worked for me:
gem update --system
gem install bson_ext

Resources