前回のつづき。
開発環境
- LinuxMint 17.3 MATE
libxml2-devel, libxslt-develをインストールできなかった
$ sudo apt-get install libxml2-devel [sudo] password for mint: パッケージリストを読み込んでいます... 完了 依存関係ツリーを作成しています 状態情報を読み取っています... 完了 E: パッケージ libxml2-devel が見つかりません
$ sudo apt-get install libxslt-devel パッケージリストを読み込んでいます... 完了 依存関係ツリーを作成しています 状態情報を読み取っています... 完了 E: パッケージ libxslt-devel が見つかりません
一応gemでもやってみたが同様に見つからなかった。
$ sudo gem install libxml2-devel ERROR: Could not find a valid gem 'libxml2-devel' (>= 0) in any repository ERROR: Possible alternatives: libxml-feed, libxml-ext
$ sudo gem install libxslt-devel ERROR: Could not find a valid gem 'libxslt-devel' (>= 0) in any repository ERROR: Possible alternatives: libxml-feed, libxslt-ruby
調べてみた
スペルミスということはなさそう。
libxml2-devel
libxml2-develについて|日々の雑感
Index of /sources
libxslt-devel
Synapticパッケージマネージャ
LinuxMint17.3MATEにはSynapticパッケージマネージャというアプリケーションがある。これで検索してみると、それらしきものを見つけた。
libxml2-dev
とlibxslt1-dev
なので微妙に名前が違うが。
新たなエラーメッセージ
上記インストール後、新規にターミナルを起動してgemを実行。
$ sudo gem install hatenablog [sudo] password for mint: Building native extensions. This could take a while... ERROR: Error installing hatenablog: ERROR: Failed to build gem native extension. /usr/bin/ruby1.9.1 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=${opt-dir}/include --with-opt-lib --without-opt-lib=${opt-dir}/lib --with-make-prog --without-make-prog --srcdir=. --curdir --ruby=/usr/bin/ruby1.9.1 --help --clean --use-system-libraries --enable-static --disable-static --with-zlib-dir --without-zlib-dir --with-zlib-include --without-zlib-include=${zlib-dir}/include --with-zlib-lib --without-zlib-lib=${zlib-dir}/lib --enable-cross-build --disable-cross-build Gem files will remain installed in /var/lib/gems/1.9.1/gems/nokogiri-1.6.8.1 for inspection. Results logged to /var/lib/gems/1.9.1/gems/nokogiri-1.6.8.1/ext/nokogiri/gem_make.out
いい加減にしてくれ……。もう次回にする。
分析
apt-getではlibxml2-devel
、libxslt-devel
という名前がなかった。理由は以下が考えられる。
libxml2-dev
とlibxslt1-dev
に改名された?libxml2-devel
とlibxml2-dev
、libxslt-devel
とlibxslt1-dev
は別物?- apt-getで認識できる名前とSynapticパッケージマネージャでは別名で扱っている?
検証
apt-getでパッケージ検索するコマンドを調べて、存在するか確認する。
$ sudo apt-cache search libxml2-dev [sudo] password for mint: libxml2-dev - Development files for the GNOME XML library libglobus-common-dev - Globus Toolkit - Common Library Development Files
$ sudo apt-cache search libxslt1-dev libxslt1-dev - XSLT 1.0 processing library - development kit
存在した。改名されたと考えるのが妥当か。
所感
エラーはいつまで続くのか……。かつてMinGWでGTKmmをコンパイルしたときのことを思い出す。