Почему я получаю эти сообщения об ошибках при попытке установить сборщик гемов в Ubuntu? (Не удалось создать Makefile)

567
AndreaNobili

Я не являюсь разработчиком Ruby, и мне трудно установить Redmine (разработанный в Ruby) на сервер Ububuntu 16.04.

Я следую этому официальному учебнику: http://www.redmine.org/projects/redmine/wiki/HowTo_Install_Redmine_on_Ubuntu_step_by_step

Это кажется очень простым, но я нахожу много трудным, когда он «гарантирует, что GEM-пакет включен».

Я не уверен, что именно этот GEM-пакет должен быть установлен. Из того, что я понимаю (поправьте меня, если я делаю неправильное утверждение), GEM - это то, что упаковывает исполняемое приложение Ruby (что-то вроде файла JAR в Java).

Итак, проблема в том, что когда я выполняю это утверждение в консоли bash:

sudo gem update 

Я получаю много сообщений об ошибках, как это:

root@Betrivius-VPS:~# sudo gem update Updating installed gems Updating molinillo Fetching: molinillo-0.5.4.gem (100%) Successfully installed molinillo-0.5.4 Parsing documentation for molinillo-0.5.4 Installing ri documentation for molinillo-0.5.4 Installing darkfish documentation for molinillo-0.5.4 Done installing documentation for molinillo after 1 seconds Parsing documentation for molinillo-0.5.4 Done installing documentation for molinillo after 0 seconds Updating mysql2 Building native extensions. This could take a while... ERROR: Error installing mysql2: ERROR: Failed to build gem native extension.  current directory: /var/lib/gems/2.3.0/gems/mysql2-0.4.5/ext/mysql2 /usr/bin/ruby2.3 -r ./siteconf20161115-29205-1v41srl.rb extconf.rb checking for rb_absint_size()... yes checking for rb_absint_singlebit_p()... yes checking for ruby/thread.h... yes checking for rb_thread_call_without_gvl() in ruby/thread.h... yes checking for rb_thread_blocking_region()... no checking for rb_wait_for_single_fd()... yes checking for rb_hash_dup()... yes checking for rb_intern3()... yes checking for rb_big_cmp()... yes checking for mysql_query() in -lmysqlclient... no ----- mysql client is missing. You may need to 'apt-get install libmysqlclient-dev' or 'yum install mysql-devel', and try again. ----- *** extconf.rb failed *** Could not create Makefile due to some reason, probably lack of necessary libraries and/or headers. Check the mkmf.log file for more details. You may need configuration options.  Provided configuration options: --with-opt-dir --without-opt-dir --with-opt-include --without-opt-include=$/include --with-opt-lib --without-opt-lib=$/lib --with-make-prog --without-make-prog --srcdir=. --curdir --ruby=/usr/bin/$(RUBY_BASE_NAME)2.3 --with-mysql-dir --without-mysql-dir --with-mysql-include --without-mysql-include=$/include --with-mysql-lib --without-mysql-lib=$/lib --with-mysql-config --without-mysql-config --with-mysql-dir --without-mysql-dir --with-mysql-include --without-mysql-include=$/include --with-mysql-lib --without-mysql-lib=$/lib --with-mysqlclientlib --without-mysqlclientlib  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/mysql2-0.4.5/mkmf.log  extconf failed, exit code 1  Gem files will remain installed in /var/lib/gems/2.3.0/gems/mysql2-0.4.5 for inspection. Results logged to /var/lib/gems/2.3.0/extensions/x86_64-linux/2.3.0/mysql2-0.4.5/gem_make.out Updating nokogiri Building native extensions. This could take a while... ERROR: Error installing nokogiri: ERROR: Failed to build gem native extension.  current directory: /var/lib/gems/2.3.0/gems/nokogiri-1.6.8.1/ext/nokogiri /usr/bin/ruby2.3 -r ./siteconf20161115-29205-11qd2.rb extconf.rb checking if the C compiler accepts ... yes Building nokogiri using packaged libraries. Using mini_portile version 2.1.0 checking for gzdopen() in -lz... no zlib is missing; necessary for building libxml2 *** extconf.rb failed *** Could not create Makefile due to some reason, probably lack of necessary libraries and/or headers. Check the mkmf.log file for more details. You may need configuration options.  Provided configuration options: --with-opt-dir --without-opt-dir --with-opt-include --without-opt-include=$/include --with-opt-lib --without-opt-lib=$/lib --with-make-prog --without-make-prog --srcdir=. --curdir --ruby=/usr/bin/$(RUBY_BASE_NAME)2.3 --help --clean --use-system-libraries --enable-static --disable-static --with-zlib-dir --without-zlib-dir --with-zlib-include --without-zlib-include=$/include --with-zlib-lib --without-zlib-lib=$/lib --enable-cross-build --disable-cross-build  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/nokogiri-1.6.8.1/mkmf.log  extconf failed, exit code 1  Gem files will remain installed in /var/lib/gems/2.3.0/gems/nokogiri-1.6.8.1 for inspection. Results logged to /var/lib/gems/2.3.0/extensions/x86_64-linux/2.3.0/nokogiri-1.6.8.1/gem_make.out Updating psych Fetching: psych-2.2.0.gem (100%) Building native extensions. This could take a while... Successfully installed psych-2.2.0 Parsing documentation for psych-2.2.0 Installing ri documentation for psych-2.2.0 Installing darkfish documentation for psych-2.2.0 Done installing documentation for psych after 2 seconds Parsing documentation for psych-2.2.0 Done installing documentation for psych after 1 seconds Updating rmagick Building native extensions. This could take a while... ERROR: Error installing rmagick: ERROR: Failed to build gem native extension.  current directory: /var/lib/gems/2.3.0/gems/rmagick-2.16.0/ext/RMagick /usr/bin/ruby2.3 -r ./siteconf20161115-29205-1qfeji3.rb extconf.rb checking for gcc... yes checking for Magick-config... no checking for pkg-config... no Can't install RMagick 2.16.0. Can't find Magick-config or pkg-config in /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin  *** extconf.rb failed *** Could not create Makefile due to some reason, probably lack of necessary libraries and/or headers. Check the mkmf.log file for more details. You may need configuration options.  Provided configuration options: --with-opt-dir --without-opt-dir --with-opt-include --without-opt-include=$/include --with-opt-lib --without-opt-lib=$/lib --with-make-prog --without-make-prog --srcdir=. --curdir --ruby=/usr/bin/$(RUBY_BASE_NAME)2.3  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/rmagick-2.16.0/mkmf.log  extconf failed, exit code 1  Gem files will remain installed in /var/lib/gems/2.3.0/gems/rmagick-2.16.0 for inspection. Results logged to /var/lib/gems/2.3.0/extensions/x86_64-linux/2.3.0/rmagick-2.16.0/gem_make.out Updating sqlite3 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.12/ext/sqlite3 /usr/bin/ruby2.3 -r ./siteconf20161115-29205-1mvfxcm.rb extconf.rb checking for sqlite3.h... no sqlite3.h is missing. Try 'brew install sqlite3', 'yum install sqlite-devel' or 'apt-get install libsqlite3-dev' and check your shared library search path (the location where your sqlite3 shared library is located). *** extconf.rb failed *** Could not create Makefile due to some reason, probably lack of necessary libraries and/or headers. Check the mkmf.log file for more details. You may need configuration options.  Provided configuration options: --with-opt-dir --without-opt-dir --with-opt-include --without-opt-include=$/include --with-opt-lib --without-opt-lib=$/lib --with-make-prog --without-make-prog --srcdir=. --curdir --ruby=/usr/bin/$(RUBY_BASE_NAME)2.3 --with-sqlite3-config --without-sqlite3-config --with-pkg-config --without-pkg-config --with-sqlite3-dir --without-sqlite3-dir --with-sqlite3-include --without-sqlite3-include=$/include --with-sqlite3-lib --without-sqlite3-lib=$/lib  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.12/mkmf.log  extconf failed, exit code 1 

В этих сообщениях об ошибках говорится, что я должен проверить содержимое файла /var/lib/gems/2.3.0/extensions/x86_64-linux/2.3.0/sqlite3-1.3.12/mkmf.log, это его содержимое ( что может дать некоторую дополнительную информацию, чтобы понять, где находится пробм):

package configuration for sqlite3 is not found find_header: checking for sqlite3.h... -------------------- no  "gcc -o conftest -I/usr/include/x86_64-linux-gnu/ruby-2.3.0 -I/usr/include/ruby-2.3.0/ruby/backward -I/usr/include/ruby-2.3.0 -I. -Wdate-t$ checked program was: /* begin */ 1: #include "ruby.h" 2: 3: int main(int argc, char **argv) 4: { 5: return 0; 6: } /* end */  "gcc -E -I/usr/include/x86_64-linux-gnu/ruby-2.3.0 -I/usr/include/ruby-2.3.0/ruby/backward -I/usr/include/ruby-2.3.0 -I. -Wdate-time -D_FO$ conftest.c:3:21: fatal error: sqlite3.h: No such file or directory compilation terminated. checked program was: /* begin */ 1: #include "ruby.h" 2: 3: #include <sqlite3.h> /* end */  -------------------- 

Итак, читая предыдущий файл журнала, кажется, что проблема может быть связана с:

 fatal error: sqlite3.h: No such file or directory 

Кажется, что заголовочный файл C отсутствует, но я действительно не знаю, почему.

Почему у меня есть эта проблема? Что мне не хватает? Как я могу попытаться решить эту проблему?

Tnx

0

1 ответ на вопрос

0
Ipor Sircer
apt-get install libsqlite3-dev libmysqlclient-dev