ひまつぶし雑記帖

termux環境でXML::Simpleのインストール

2018/6/12 [17:54:03] (火) 天気

Androidタブレットのlinux環境、termuxにperlをインストールして普段の仕事環境を構築していくネタ。

XML::Parserのコンパイルでハマったのでメモ。
結論からいうと、expat.h expat_external.hというふたつのファイルをexpatの本家サイトからいただいてきて/usr/include/に配置して解決。
expat本家→https://github.com/libexpat/

perlのXML::SimpleというXMLを解析するためのモジュールは必需品。
WEBで提供されるもろもろのデータのほとんどはXMLかjson形式なので、なくてはならないシロモノだ。
また、ワード(.docx)やエクセル(.xlsx)も、その本体はXMLファイルなので、ワードファイルの解析にもXML::Simpleは必須。というか、XML形式のデータは日常のあちこちに広く深く潜んでいる。

このXML::Simpleというモジュールは、MacOSXでも、WINDOWSのActivePerlでもデフォルトで入っている標準のモジュール(…って記憶が曖昧)
ところが、termuxのperlのパッケージには入っていないので、CPAN(perlのモジュールならなんでも揃う巨大なアーカイブ)から持ってくることにした。

CPANのインストール
pkg install cpan

makeのインストール
pkg install make

XML::Simpleをインストールするために必要なXML::Parserは(ていうか、XML::Simpleは被せもの・ガワでその実体はSAXとかParser)「.xs」ファイルを生成する必要がある、Cコンパイラが必要なので。
Cコンパイラのインストール
pkg install llvm
pkg install clang

これで準備完了。cpanのコマンドラインで
install XML::Simple
とやればインストールできるはずなんだけど、XML::Parserのインストールでエラーとなって止まってしまう。面倒くさいけどインストールのログを見ると
image 
コンパイルに必要な「expat.h」が見つからない、というエラーで終了している。

「XML::Parser cpan expat.h」などとぐーぐる様に訊ねてみたらさくっと解答が出てきたので、expat本家サイトから「expat-2.2.5.tar.bz2」をいただいてきて解凍、その中に入っていたexpat.h(と、expat_external.h)を「/usr/include/」にコピーしたら無事インストールできた。

とりあえず今日はここまで。
というのも、termuxのlinux環境はファイルのpathが独特、というか閉じた中でやってるみたいで、スクリプトの中でファイルのコピー操作が意図どおりにいかない。これは調べなきゃ、だなあ。

termuxというAndroidのlinux環境。こりゃ久しぶりに面白いもの見つけたなあ。

»電子書籍制作代行についてはこちら

【電子書籍発売中】

doncha.net制作・発行:KindleやiBooks、楽天kobo、BOOK☆WALKERで読む電子書籍

profile

profile

 
doncha.net
contact:
»運営者
@t2aki@tokoroten.doncha.net

いいだ(@t2aki@tokoroten.doncha.net)

[Mon, 12 Jan 2026 09:15]

電車のエステの車内広告にデカデカと 「もう生えない!」 …ハゲには怖すぎだろww 一瞬ギョッとしたじゃないかorz... ...

[Mon, 12 Jan 2026 08:13]

今日はレオン カーフェイを観に行くぞっ!

[Mon, 12 Jan 2026 08:12]

mastodon.socialのHTTP SignatureはまだRFC9421じゃなかったし。現時点でRFC9421、signature-iputでリクエス...

検索
<<2026/1>>
    123
45678910
11121314151617
18192021222324
25262728293031

リンク

WINDOWS版サウンドノベル
おかえりください PC WINDOWS版サウンドノベル
『おかえりください』体験版