インストール: libxml2 | XMLの基本ライブラリー

XMLのC言語のパーサーライブラリーであるlibxml2をソースコードからインストールする。

libxml2はXML処理の基本ライブラリーであり,XMLを使用する数多くのソフトの依存先となっている。

インストール情報
項目説明
配布元The XML C parser and toolkit of Gnome
リポジトリーGNOME / libxml2 · GitLab
手順
依存情報INSTALL.libxml2 · master · GNOME / libxml2 · GitLab
依存先 (必須)Make (GNU Make)
依存先 (任意)libz, iconv
依存元PHP, libxslt
インストールコマンド
sh -eux <<-"EOT"
PKG=libxml2 VER=2.9.8 TAG=v$VER
LOCAL=~/.local J=$(grep -cs '^processor' /proc/cpuinfo || echo 2)
mkdir -p "$LOCAL/src"
cd "$LOCAL/src"

if command -v git >/dev/null; then
  [ -e $PKG ] || git clone --depth 1 https://gitlab.gnome.org/GNOME/libxml2 $PKG
  cd $PKG
  git fetch --depth 1 origin tag $TAG
  git checkout -f $TAG
  git clean -dfX
  [ -e configure.ac ] && autoreconf -is
else
  [ -e $PKG-$VER ] || wget ftp://xmlsoft.org/$PKG/$PKG-$VER.tar.gz
  tar -xf $PKG-$VER.*
  cd $PKG-$VER
  make -kj $J distclean clean || :
fi

[ -x configure ] && ./configure --prefix="$LOCAL/stow/$PKG-$VER" --without-python
make -j $J
make -j $J check
make -j $J install

cd "$LOCAL/stow"
echo $PKG-[0-9]* | xargs -n 1 stow --ignore=dir -D
stow --ignore=dir $PKG-$VER
EOT
インストール例
日付バージョンOS依存関係
2020-02-052.9.8Ubuntu 18.04GNU Make 4.2.1, GCC 7.4.0, libz 1.2.11

make check-j 4で25分くらいと,時間がかかるので注意する。

configure--without-pythonオプションを指定して,libxml2のPythonバインディングの生成を無効化している。これを指定しないと,システムのPythonを自動的に検知して,以下のようにmake install実行時にシステムのPythonにシンボリックリンクを作ろうとして失敗する。

make[5]: Entering directory '/home/senooken/.local/src/libxml2/python'
make[5]: Nothing to be done for 'install-exec-am'.
 /bin/mkdir -p '/home/senooken/.local/stow/libxml2-2.9.8/share/doc/libxml2-pytho
n-2.9.8'
 /usr/bin/install -c -m 644 TODO '/home/senooken/.local/stow/libxml2-2.9.8/share/doc/libxml2-python-2.9.8'
 /bin/mkdir -p '/usr/lib/python2.7/dist-packages'
 /usr/bin/install -c -m 644 drv_libxml2.py libxml2.py '/usr/lib/python2.7/dist-packages'
/usr/bin/install: cannot remove '/usr/lib/python2.7/dist-packages/drv_libxml2.py': Permission denied
/usr/bin/install: cannot remove '/usr/lib/python2.7/dist-packages/libxml2.py': Permission denied
make[5]: *** [Makefile:667: install-dist_pythonDATA] Error 1

ローカルのPythonを使う際に--without-pythonオプションを外すか,--with-python=または--with-python-install-dir=で使用するPythonやPythonバインディングのインストール先を指定する。

インストール: libxml2 | XMLの基本ライブラリー” に対して1件のコメントがあります。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です