libxml2-2.9.8

libxml2 の概要

libxml2 パッケージは、XML ファイルを解析するライブラリやユーティリティーを提供します。

本パッケージは LFS-8.3 において正しくビルドでき動作することが確認されています。

パッケージ情報

追加のダウンロード

libxml2 の依存パッケージ

任意

Python-2.7.15

[注記]

注記

libxml2 を利用するパッケージの中には Python3 モジュールがないと正しく動作しないものがあります。 (例えば GNOME Doc Utils など。) また Python3 モジュールがないとビルドができないパッケージもあります。

The old Python2 module can be built after libxml2.so has been installed, see libxml2-2.9.8 (for Python2).

Optional

ICU-62.1 and Valgrind-3.13.0 (テスト実施時に利用)

ユーザー情報: http://wiki.linuxfromscratch.org/blfs/wiki/libxml2

libxml2 のインストール

First apply a patch, which prevents segfaults in the Python module, when built by Python-3.7.0:

patch -Np1 -i ../libxml2-2.9.8-python3_hack-1.patch

To ensure that the Python module can be built by Python-3.7.0, run:

sed -i '/_PyVerify_fd/,+1d' python/types.c

以下のコマンドを実行して libxml2 をビルドします。

./configure --prefix=/usr    \
            --disable-static \
            --with-history   \
            --with-python=/usr/bin/python3 &&
make

テストスイート用のファイルをダウンロードしている場合は以下を実行します。

tar xf ../xmlts20130923.tar.gz

ビルド結果をテストする場合は make check > check.log を実行します。 grep -E '^Total|expected' check.log を実行して結果を確認することができます。 Valgrind-3.13.0 をインストールしていてメモリリークをチェックしたい場合は check ではなく check-valgrind に置き換えて実行します。

[注記]

注記

The tests use http://localhost/ to test parsing of external entities. If the machine where you run the tests serves as a web site, the tests may hang, depending on the content of the file served. It is therefore recommended to shut down the server during the tests, as the root user:

systemctl stop httpd.service

root ユーザーになって以下を実行します。

make install

コマンド説明

--disable-static: このスイッチはスタティックライブラリをインストールしないようにします。

sed -i '/_PyVerify_fd/,+1d' python/types.c: This fixes the Python3 code to build with gcc-7.

--with-history: このスイッチは xmlcatalogxmllint をシェルモードで実行する際に Readline サポートを有効にします。

--with-python=/usr/bin/python3: libxml2 が Python2 でなく Python3 を利用するようにしたいときに指定します。

--with-icu: Add this switch if you have built ICU-62.1, for better unicode support.

--with-threads: Add this switch to enable multithread support.

パッケージ構成

インストールプログラム: xml2-config, xmlcatalog, xmllint, Python3 モジュールである drv_libxml2.py, libxml2.py
インストールライブラリ: libxml2.so, また任意のビルドとして libxml2mod.so Python3 モジュール
インストールディレクトリ: /usr/include/libxml2, /usr/lib/cmake/libxml2, /usr/share/doc/libxml2-2.9.8, /usr/share/doc/libxml2-python-2.9.8, /usr/share/gtk-doc/html/libxml2

概略説明

xml2-config

他のプログラムが libxml2 を利用してコンパイルおよびリンクを行う場合に、コンパイラーフラグやリンカーフラグを決定します。

xmlcatalog

XML カタログや SGML カタログを監視したり操作するために利用します。

xmllint

XML ファイルを精査して (オプションの指示状況に従った) 結果報告を行います。 XML 記述に誤りがあれば検出し報告します。

drv_libxml2.py

is a SAX Python3 driver for libxml2.

libxml2.py

is the Python3 binding for libxml2.

libxml2.so

XML 形式で書かれたファイルを精査するためのプログラム関数を提供するライブラリです。

libxml2mod.so

is the interface for Python3 to use libxml2.so.

最終更新日: 2018-08-15 11:28:50 +0900