[RAILS] J'obtiens une erreur avec l'installation du bundle et puma ne peut pas être installé.

Erreur qui se produit

Gem::Ext::BuildError: ERROR: Failed to build gem native extension.

current directory:
/Users/yohei-yokota/.rbenv/versions/2.6.1/lib/ruby/gems/2.6.0/gems/puma-4.3.3/ext/puma_http11
/Users/yohei-yokota/.rbenv/versions/2.6.1/bin/ruby -I
/Users/yohei-yokota/.rbenv/versions/2.6.1/lib/ruby/2.6.0 -r
./siteconf20200920-91266-1229hke.rb extconf.rb
checking for BIO_read() in -lcrypto... yes
checking for SSL_CTX_new() in -lssl... yes
checking for openssl/bio.h... yes
checking for DTLS_method() in openssl/ssl.h... yes
checking for TLS_server_method() in openssl/ssl.h... yes
checking for SSL_CTX_set_min_proto_version in openssl/ssl.h... yes
creating Makefile

current directory:
/Users/yohei-yokota/.rbenv/versions/2.6.1/lib/ruby/gems/2.6.0/gems/puma-4.3.3/ext/puma_http11
make "DESTDIR=" clean

current directory:
/Users/yohei-yokota/.rbenv/versions/2.6.1/lib/ruby/gems/2.6.0/gems/puma-4.3.3/ext/puma_http11
make "DESTDIR="
compiling http11_parser.c
ext/puma_http11/http11_parser.c:44:18: warning: unused variable
'puma_parser_en_main' [-Wunused-const-variable]
static const int puma_parser_en_main = 1;
                 ^
1 warning generated.
compiling io_buffer.c
compiling mini_ssl.c
mini_ssl.c:145:7: warning: unused variable 'min' [-Wunused-variable]
  int min, ssl_options;
      ^
mini_ssl.c:299:40: warning: function 'raise_error' could be declared with
attribute 'noreturn' [-Wmissing-noreturn]
void raise_error(SSL* ssl, int result) {
                                       ^
2 warnings generated.
compiling puma_http11.c
puma_http11.c:203:22: error: implicitly declaring library function 'isspace'
with type 'int (int)' [-Werror,-Wimplicit-function-declaration]
  while (vlen > 0 && isspace(value[vlen - 1])) vlen--;
                     ^
puma_http11.c:203:22: note: include the header <ctype.h> or explicitly provide a
declaration for 'isspace'
1 error generated.
make: *** [puma_http11.o] Error 1

make failed, exit code 2

Gem files will remain installed in
/Users/yohei-yokota/.rbenv/versions/2.6.1/lib/ruby/gems/2.6.0/gems/puma-4.3.3
for inspection.
Results logged to
/Users/yohei-yokota/.rbenv/versions/2.6.1/lib/ruby/gems/2.6.0/extensions/x86_64-darwin-19/2.6.0/puma-4.3.3/gem_make.out

An error occurred while installing puma (4.3.3), and Bundler cannot
continue.
Make sure that `gem install puma -v '4.3.3' --source 'https://rubygems.org/'`
succeeds before bundling.

In Gemfile:
  puma

Cela ne se produit pas dans puma v4.2.1, mais semble se produire dans v4.3.0 ou une version ultérieure.

J'ai pu exécuter la commande suivante.

$ gem install puma:4.3.3 -- --with-cflags="-Wno-error=implicit-function-declaration"

Lien de référence

https://github.com/puma/puma/issues/2342 https://github.com/puma/puma/issues/2304

Recommended Posts

J'obtiens une erreur avec l'installation du bundle et puma ne peut pas être installé.
[Rails 6] MySQL 2 ne peut pas regrouper l'installation
Lors du déploiement d'EC2, l'installation de l'ensemble ne peut pas être effectuée et une erreur de variable locale non définie ou de méthode `git_source'for Gemfile apparaît.
Je ne vois pas d'erreur dans l'installation du bundle Rails ... la solution
L'installation du bundle [Ruby on Rails] échoue "Une erreur s'est produite lors de l'installation de pg (1.2.3) et le bundle ne peut pas continuer."
Ajouter gem'rails-i18n ',' ~> 6.0.0 'et que faire si l'installation du bundle donne une erreur
Heroku peut être déployé, mais j'obtiens une erreur et je ne peux pas l'ouvrir
Que faire si vous entrez gem'bcrypt 'dans votre Gemfile et obtenez une erreur avec l'installation du bundle
Après avoir renouvelé le certificat avec CircleCI × fastlane, j'obtiens un état de sortie: erreur 65.
J'obtiens une erreur lors de l'ajout d'une dépendance
Erreur lors de l'installation du bundle après la mise à niveau vers Catalina
erreur d'installation du bundle
À propos de l'erreur causée par l'installation du bundle ~ puma Gem ~
Quand je bcrypt avec node + docker, j'ai une erreur
Erreur lors de l'installation du bundle
Comment changer la version Java et l'exécuter dans un environnement où Java ne peut pas être installé librement
Je peux déployer sur heroku, mais j'obtiens une erreur et je ne peux pas l'ouvrir [Cause: MySQL]
Je ne peux pas grouper l'installation après avoir changé la version de Ruby
J'ai eu une erreur lors de l'utilisation de nextInt, nextLine et substring.
Une erreur se produit lors de l'installation du bundle après avoir défini la base de données sur mysql
Remarque lorsque pip install mysqlclient ne peut pas être installé sur Mac
Différence entre l'installation de bundle et de bundle
Une erreur 404 se produit lors du test de l'authentification par formulaire avec Spring Security
Vérifiez le paramètre BUNDLE_PATH lorsque la commande d'installation du bundle sur le conteneur Docker se termine avec le code: 15