訳あってというか、組み込みLinuxでMercurialを使いたかったので、Python2.4.6をインストールした。
Mercurailが使用するPythonの要件はバージョン2.4以上ということだったので、一番古いバージョンをインストールしてみた。
というのも、もう一方のユーザランドライブラリなど割と最近のものを使っているのでPython 2.7.2を素直にインストールすることができて、Mercurailも素直にインストールできた。
しかし、こちらのユーザランドは、ちと古くてPythonは1.5がデフォルト。Python 2.7.2をインストールしようとしたら様々なライブラリを要求された。要求されたライブラリをインストールしていこうとすると、更に別のライブラリ等を要求されユーザランドそのものを構築した方が早いくらい。
ということで、Mercurial 1.9.3をPython 2.4.6を経由してインストールした時のメモ。
# rpm -ihv bzip2-devel*.rpm openssl-devel*.rpm
# tar xvjf Python-2.4.6.tar.bz2 # cd Python-2.4.6 # ./configure --without-cxx <-- c++を使用しない設定とする。 # vi Modules/Setup : #SSL=/usr/local/ssl #_ssl ssl.c \ # -DUSE_SSL -l$(SSL)/include -l$(SSL)/include/openssl \ # -L$(SSL)/lib -lssl -lcrypto SSL=/usr _ssl ssl.c \ -DUSE_SSL -l$(SSL)/include -l$(SSL)/include/openssl \ -L$(SSL)/lib -lssl -lcrypto : # make # make install
# tar xvzf docutils-0.8.1.tar.gz # ./setup.py install
# tar xvzf mercurial-1.9.3.tar.gz # make all # make install
# mv /usr/bin/python /usr/bin/python.org # ln -s /usr/local/bin/python /usr/bin/python
bzip2-develはPythonインストール時に要求されインストールした。
openssl-develおよび、Modules/Setupの編集はhg cloneしたときに
AttributeError: 'module' object has no attribute 'HTTPSHandler'
というエラーが出てcloneやpushができなかった。 HDEラボさんを参考にモジュール_sslを有効化した。