macbook pro 2020
ruby 2.6.6
Rails 5.2.4.4
Homebrew 2.5.2
gem 3.1.4
「現場で使えるRuby on Rails5速習実践ガイド」にてrailsについて学習中です。
メイラーの動作確認のためにgem"mailcatcher"をインストールしようとしたところ、下記のようなエラーが発生します。
terminal
1user@MBP ~ % gem install mailcatcher 2Building native extensions. This could take a while... 3ERROR: Error installing mailcatcher: 4 ERROR: Failed to build gem native extension. 5 6 current directory: /Users/user/.rbenv/versions/2.6.6/lib/ruby/gems/2.6.0/gems/thin-1.5.1/ext/thin_parser 7/Users/user/.rbenv/versions/2.6.6/bin/ruby -I /Users/user/.rbenv/versions/2.6.6/lib/ruby/site_ruby/2.6.0 -r ./siteconf20200922-90375-1qgo6zx.rb extconf.rb 8checking for main() in -lc... yes 9creating Makefile 10 11current directory: /Users/user/.rbenv/versions/2.6.6/lib/ruby/gems/2.6.0/gems/thin-1.5.1/ext/thin_parser 12make "DESTDIR=" clean 13 14current directory: /Users/user/.rbenv/versions/2.6.6/lib/ruby/gems/2.6.0/gems/thin-1.5.1/ext/thin_parser 15make "DESTDIR=" 16compiling parser.c 17parser.rl:112:17: warning: comparison of integers of different signs: 'long' and 'unsigned long' [-Wsign-compare] 18 assert(pe - p == len - off && "pointers aren't same distance"); 19 ~~~~~~ ^ ~~~~~~~~~ 20/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/include/assert.h:93:25: note: expanded from macro 'assert' 21 (__builtin_expect(!(e), 0) ? __assert_rtn(__func__, __FILE__, __LINE__, #e) : (void)0) 22 ^ 23parser.rl:142:7: error: implicit declaration of function 'thin_http_parser_has_error' is invalid in C99 [-Werror,-Wimplicit-function-declaration] 24 if (thin_http_parser_has_error(parser) ) { 25 ^ 26parser.rl:142:7: note: did you mean 'http_parser_has_error'? 27./parser.h:44:5: note: 'http_parser_has_error' declared here 28int http_parser_has_error(http_parser *parser); 29 ^ 30parser.rl:144:14: error: implicit declaration of function 'thin_http_parser_is_finished' is invalid in C99 [-Werror,-Wimplicit-function-declaration] 31 } else if (thin_http_parser_is_finished(parser) ) { 32 ^ 331 warning and 2 errors generated. 34make: *** [parser.o] Error 1 35 36make failed, exit code 2 37 38Gem files will remain installed in /Users/user/.rbenv/versions/2.6.6/lib/ruby/gems/2.6.0/gems/thin-1.5.1 for inspection. 39Results logged to /Users/user/.rbenv/versions/2.6.6/lib/ruby/gems/2.6.0/extensions/x86_64-darwin-19/2.6.0/thin-1.5.1/gem_make.out
エラーが出ている
/Users/user/.rbenv/versions/2.6.6/lib/ruby/gems/2.6.0/gems/thin-1.5.1/ext/thin_parser
の中のparser.rlファイルは以下のようになっています。
thin_parser/parser.rl 142行目〜 int thin_http_parser_finish(http_parser *parser) { if (thin_http_parser_has_error(parser) ) { return -1; } else if (thin_http_parser_is_finished(parser) ) { return 1; } else { return 0; } }
どこをどのように修正する必要があるのか分からないため、コードを修正することは避けました。
ひとまずgem"thin"の中でエラーが発生しているようなので、gem"thin"のアップデートを試みましたが、以下のような結果です。
terminal
1user@MBP ~ % gem update thin 2Updating installed gems 3Nothing to update
こういったエラーへの対応経験が浅く、昨日からネット記事等を参考に解決を試みていますが、解決できず質問させてもらった次第です。
解決方法をご教示いただけると幸いです。よろしくお願いします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2020/09/25 05:47
2020/09/25 06:13
退会済みユーザー
2020/09/25 08:30
2020/09/25 08:44