ふにゃるんv2

もとは、http://d.hatena.ne.jp/Wacky/

rpmbuildでRPMファイルを作る。tcl/tkを入れる前に必要な事

ちょっと阿呆な事をしでかしたのでメモ〜。

PythonSRPMからRPMファイルを作ろうとして、"rpmbuild --rebuild"を動かしたんですよ。RH9で。

$ rpmbuild --rebuild python2.4-2.4-1pydotorg.src.rpm
警告: user jafo does not exist - using root
警告: group jafo does not exist - using root
警告: user jafo does not exist - using root
警告: group jafo does not exist - using root
Executing(%prep): /bin/sh -e /var/tmp/rpm-tmp.98145

...
Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1


RPM build errors:
    user jafo does not exist - using root
    group jafo does not exist - using root
    user jafo does not exist - using root
    group jafo does not exist - using root
    File not found by glob: /var/tmp/python2.4-2.4-root/usr/lib/python2.4/lib-dynload/_tkinter.so*

Ouch!!


ってんで、何がマズいのか 調べてみたんですな。
そしたら回答が、すぐ側にあったのよ。

RPM Frequently Asked Questions

Q) I'm trying to build the RPMS, but I get:
RPM build errors:
File not found by glob:
/var/tmp/python2.4-2.4-root/usr/lib/python2.4/lib-dynload/_tkinter.so*
A) You need to have the Tk development package installed. This package is usually called "tk-devel", and can be obtained from the same place that you normally find packages for your system. You may also need to install the "tcl-devel" package, if your distribution includes one.

要するに、tcl/tk開発ライブラリを入れろって事みたいなんですね。


で、RH9のISOイメージをマウントして突っ込む&リビルド。
…カイケツシナイヨ?


暫く悩む事 数時間、どうしても解決しないので、「Python-2.4.tgzでビルドで手を打とうかぁ」とconfigure & make した訳ですね。
するとエラー。
で、エラーメッセージを眺めると「Xlib.hが無いよ!?」と おっしゃっている。
おかしいな、X Windowは入っているんだけどな?と思いつつ、試しに"ls /usr/X11R6/include/X11/"すると、

$ ls /usr/X11R6/include/X11/
bitmaps

何もヘッダが入ってません。


と、ここまで来てようやく気付いた。
X Windowは入れてるけど、X Windowの開発ライブラリは入れてなかったよ!」


慌てて、X Windowの開発ライブラリを突っ込んで、再度 rpmbuildをかけてみる。

$ rpmbuild --rebuild python2.4-2.4-1pydotorg.src.rpm
...

Checking for unpackaged file(s): /usr/lib/rpm/check-files /var/tmp/python2.4-2.4-root
書き込み中: /usr/src/redhat/RPMS/i386/python2.4-2.4-1pydotorg.i386.rpm
書き込み中: /usr/src/redhat/RPMS/i386/python2.4-devel-2.4-1pydotorg.i386.rpm
書き込み中: /usr/src/redhat/RPMS/i386/python2.4-tkinter-2.4-1pydotorg.i386.rpm
書き込み中: /usr/src/redhat/RPMS/i386/python2.4-tools-2.4-1pydotorg.i386.rpm
書き込み中: /usr/src/redhat/RPMS/i386/python2.4-debuginfo-2.4-1pydotorg.i386.rpm
Executing(%clean): /bin/sh -e /var/tmp/rpm-tmp.97127
+ umask 022
+ cd /usr/src/redhat/BUILD
+ cd Python-2.4
+ '[' -n /var/tmp/python2.4-2.4-root -a /var/tmp/python2.4-2.4-root '!=' / ']'
+ rm -rf /var/tmp/python2.4-2.4-root
+ rm -f mainpkg.files tools.files
+ exit 0
Executing(--clean): /bin/sh -e /var/tmp/rpm-tmp.88902
+ umask 022
+ cd /usr/src/redhat/BUILD
+ rm -rf Python-2.4
+ exit 0

おぉ、今度は うまく行ったよ。


とまぁ、今日はプチ挫折感を味わった日で ござんした。