質問: ### 前提・実現したいこと railstutorial.jpを見ながらRoRの環境を作っています Windowsのvirtualbox上で動いているUbuntu16.04です bundle update しようとしても同様のエラーが出ます。 下記のエラーはgem install sqlite3 -v '1.3.8' しようとした時に出てくるものです。 Railsのバージョンは4.0.5のはずですが確認しようと rails -v したところ Could not find gem 'sqlite3 (= 1.3.8)' in any of the gem sources listed in your Gemfile or available on this machine. というエラーも出ました。 ### 発生している問題・エラーメッセージ Building native extensions. This could take a while... ERROR: Error installing sqlite3: ERROR: Failed to build gem native extension. current directory: /var/lib/gems/2.3.0/gems/sqlite3-1.3.8/ext/sqlite3 /usr/bin/ruby2.3 -r ./siteconf20161020-4679-7p87j.rb extconf.rb checking for sqlite3.h... yes checking for sqlite3_libversion_number() in -lsqlite3... yes checking for rb_proc_arity()... yes checking for sqlite3_initialize()... yes checking for sqlite3_backup_init()... yes checking for sqlite3_column_database_name()... yes checking for sqlite3_enable_load_extension()... yes checking for sqlite3_load_extension()... yes checking for sqlite3_open_v2()... yes checking for sqlite3_prepare_v2()... yes checking for sqlite3_int64 in sqlite3.h... yes checking for sqlite3_uint64 in sqlite3.h... yes creating Makefile To see why this extension failed to compile, please check the mkmf.log which can be found here: /var/lib/gems/2.3.0/extensions/x86_64-linux/2.3.0/sqlite3-1.3.8/mkmf.log current directory: /var/lib/gems/2.3.0/gems/sqlite3-1.3.8/ext/sqlite3 make "DESTDIR=" clean current directory: /var/lib/gems/2.3.0/gems/sqlite3-1.3.8/ext/sqlite3 make "DESTDIR=" compiling backup.c compiling database.c compiling exception.c compiling sqlite3.c compiling statement.c In file included from statement.c:1:0: statement.c: In function ‘bind_param’: ./sqlite3_ruby.h:16:24: warning: implicit declaration of function ‘RBIGNUM’ [-Wimplicit-function-declaration] define RBIGNUM_LEN(x) RBIGNUM(x)->len ^ statement.c:261:11: note: in expansion of macro ‘RBIGNUM_LEN’ if (RBIGNUM_LEN(value) * SIZEOF_BDIGITS <= 8) { ^ ./sqlite3_ruby.h:16:34: error: invalid type argument of ‘->’ (have ‘int’) define RBIGNUM_LEN(x) RBIGNUM(x)->len ^ statement.c:261:11: note: in expansion of macro ‘RBIGNUM_LEN’ if (RBIGNUM_LEN(value) * SIZEOF_BDIGITS <= 8) { ^ statement.c:261:32: error: ‘SIZEOF_BDIGITS’ undeclared (first use in this function) if (RBIGNUM_LEN(value) * SIZEOF_BDIGITS <= 8) { ^ statement.c:261:32: note: each undeclared identifier is reported only once for each function it appears in Makefile:239: ターゲット 'statement.o' のレシピで失敗しました make: *** [statement.o] エラー 1 make failed, exit code 2 Gem files will remain installed in /var/lib/gems/2.3.0/gems/sqlite3-1.3.8 for inspection. Results logged to /var/lib/gems/2.3.0/extensions/x86_64-linux/2.3.0/sqlite3-1.3.8/gem_make.out ### 試したこと チュートリアルにある必要なパッケージ等はすべてインストールしてあるはずですが、チュートリアルを見てもわからなかったことは別のサイトを見ながらやってみたり、またチュートリアルの順番も前後しているところがあります。
回答: Rubyのヘッダファイルなどが不足しているようにも見えます。`apt-get install ruby-dev`のようにインストールしてみると改善するかもしれません。