Проблемы с установкой git-commit-notifier

Здравствуйте. Пытаюсь поставить git-commit-notifier. Действую по инструкции:

gem install git-commit-notifier

Building native extensions. This could take a while...
ERROR: Error installing git-commit-notifier:
ERROR: Failed to build gem native extension.

/usr/bin/ruby extconf.rb
checking for #include <libxml/parser.h>
... yes
checking for #include <libxslt/xslt.h>
... yes
checking for #include <libexslt/exslt.h>
... yes
checking for iconv_open() in iconv.h... no
checking for iconv_open() in -liconv... no
-----
libiconv is missing. please visit nokogiri.org/tutorials/installing_nokogiri.html for help with installing dependencies.
-----
*** 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=${opt-dir}/include
--with-opt-lib
--without-opt-lib=${opt-dir}/lib
--with-make-prog
--without-make-prog
--srcdir=.
--curdir
--ruby=/usr/bin/ruby
--with-zlib-dir
--without-zlib-dir
--with-zlib-include
--without-zlib-include=${zlib-dir}/include
--with-zlib-lib
--without-zlib-lib=${zlib-dir}/lib
--with-iconv-dir
--without-iconv-dir
--with-iconv-include
--without-iconv-include=${iconv-dir}/include
--with-iconv-lib
--without-iconv-lib=${iconv-dir}/lib
--with-xml2-dir
--without-xml2-dir
--with-xml2-include
--without-xml2-include=${xml2-dir}/include
--with-xml2-lib
--without-xml2-lib=${xml2-dir}/lib
--with-xslt-dir
--without-xslt-dir
--with-xslt-include
--without-xslt-include=${xslt-dir}/include
--with-xslt-lib
--without-xslt-lib=${xslt-dir}/lib
--with-iconvlib
--without-iconvlib

Gem files will remain installed in /usr/lib/ruby/gems/1.8/gems/nokogiri-1.4.4 for inspection.
Results logged to /usr/lib/ruby/gems/1.8/gems/nokogiri-1.4.4/ext/nokogiri/gem_make.out


Тогда libiconv собраю из исходников. Пытаюсь показать где она лежит:

gem install git-commit-notifier — --with-iconv-include=/usr/local/lib/libiconv.so.2.2.0

Получаю аналогичный вывод, только ошибка выглядит так: "libxml2 is missing. please visit nokogiri.org/tutorials/installing_nokogiri.html for help with installing dependencies."

Выполняю рекомендации по ссылке, пробую — опять ошибка. Показываю, где у меня libxml2:

gem install git-commit-notifier — --with-iconv-include=/usr/local/lib/libiconv.so.2.2.0 --with-xml2-include=/usr/local/lib/libxml2.so.2.7.8

Опять ошибка:
Building native extensions. This could take a while...
ERROR: Error installing git-commit-notifier:
ERROR: Failed to build gem native extension.

/usr/bin/ruby extconf.rb --with-iconv-include=/usr/local/lib/libiconv.so.2.2.0 --with-xml2-include=/usr/local/lib/libxml2.so.2.7.8
checking for #include <libxml/parser.h>
... no
-----
libxml2 is missing. please visit nokogiri.org/tutorials/installing_nokogiri.html for help with installing dependencies.
-----
*** 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=${opt-dir}/include
--with-opt-lib
--without-opt-lib=${opt-dir}/lib
--with-make-prog
--without-make-prog
--srcdir=.
--curdir
--ruby=/usr/bin/ruby
--with-zlib-dir
--without-zlib-dir
--with-zlib-include
--without-zlib-include=${zlib-dir}/include
--with-zlib-lib
--without-zlib-lib=${zlib-dir}/lib
--with-iconv-dir
--without-iconv-dir
--with-iconv-include=${iconv-dir}/include
--with-iconv-lib
--without-iconv-lib=${iconv-dir}/lib
--with-xml2-dir
--without-xml2-dir
--with-xml2-include=${xml2-dir}/include
--with-xml2-lib
--without-xml2-lib=${xml2-dir}/lib
--with-xslt-dir
--without-xslt-dir
--with-xslt-include
--without-xslt-include=${xslt-dir}/include
--with-xslt-lib
--without-xslt-lib=${xslt-dir}/lib

Gem files will remain installed in /usr/lib/ruby/gems/1.8/gems/nokogiri-1.4.4 for inspection.
Results logged to /usr/lib/ruby/gems/1.8/gems/nokogiri-1.4.4/ext/nokogiri/gem_make.out


Centos 5.5, все обновления есть.
  • Вопрос задан
  • 2845 просмотров
Пригласить эксперта
Ответы на вопрос 4
GearHead
@GearHead
Fullstack разработчик и предприниматель
насколько знаю, при сборки native extension ему не только shared-libraries нужны, но ещё и исходники или заголовочные файлы. не знаю как в centos'e решается эта проблема, но в убунте обычно решается установкой пакета с припиской dev, т.е. libiconv-dev и libxml2-dev.
И кстати, вы в параметр для include-файлов пихаете путь shared-library.
Ответ написан
seriyPS
@seriyPS
Может какой-нить

yum install libxml2-devel
Ответ написан
seriyPS
@seriyPS
По крайней мере на нашем сервачке файл /usr/include/iconv.h принадлежит пакету glibc-headers (2.5-42.el5_4.3)

а /usr/include/libxml2/libxml/parser.h пакету libxml2-devel (2.6.26-2.1.2.8)

И если выполнить grep iconv_open /usr/include/iconv.h то выведет
extern iconv_t iconv_open (__const char *__tocode, __const char *__fromcode);

Но сразу скажу, git-commit-notifier не пробовал поставить, так что возможно эта информация и не поможет.
Ответ написан
seriyPS
@seriyPS
В общем решил-таки попробовать поставить…

uname -a
Linux xen-centos 2.6.18-164.15.1.el5 #1 SMP Wed Mar 17 11:30:06 EDT 2010 x86_64 x86_64 x86_64 GNU/Linux

cat /etc/redhat-release
CentOS release 5.4 (Final)

sudo yum install rubygems
sudo yum install libxml2-devel
sudo yum install ruby-devel
sudo gem install git-commit-notifier
>>>
Successfully installed nokogiri-1.4.4
Successfully installed premailer-1.7.1
Successfully installed git-commit-notifier-0.9.1
3 gems installed ...


libxslt и libxslt-devel уже стояли, так что не уверен нужны они или нет.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы