proglog

主にプログラミングに関する断片的メモ

cygwinでPyQt4をビルド

で、PyQt4を使ってみようという試み。


まず、

cygwin用のバイナリを落としてくる

ftp://ftp.cygwinports.org/pub/cygwinports

cygwinのsetup.exeのリストにaddしてパッケージ選択画面へ。

PythonカテゴリとKDEカテゴリにPyQt4の本体とdevelが現れるので、選択してダウンロード。

依存関係で他にも色々インストールされる。
Qt自体、X関係などなど。


これで、PyQtがpython2.6のsite-pakagesにインストールされる。
いや、それでは、困るので、2.5のディレクトリにコピーしたり、.pthファイルに書いたりしてみるけど、サンプルスクリプト実行時に

ImportError: No such file or directory

と出て、動かない。

ソースパッケージを使ってみる

それでは、自前でビルドしてみよう。
cygwinのsetup.exeでsourceを選択する。
cygportで扱うファイルが落ちてくる。
んが、ビルドにはpython3も必要だと言う。
ややこしくなりそうなので保留。

オリジナルのソースからビルド

では、ソースからしてオリジナルでいこう。
場所は http://www.riverbankcomputing.co.uk/software/pyqt/download
linux用のソースをもらってくる。

  • PyQt4 ver 4.8.3
sip

Cとかのライブラリとの間を取り持つやつらしい。
swigみたいな感じ?
で、これが必要らしいので、http://www.riverbankcomputing.co.uk/software/sip/download からlinux用のものを取得。

make、make installであっさり成功。

QMAKE

これはcygwinのlibQtCore4-devel-4.x.xとかいうパッケージに入っている。
で、インストールすると

/usr/lib/qt4/bin/

に入るのでパスを通しておく。

その他

さっきぞろぞろと落ちてきたので、ビルドに必要なものは揃ってるだろうと思ってたけど、そうでもなかった。
KDEカテゴリーの中のQt関係で、runtimeだけ取得してあるパッケージについて、それに対応するdevelパッケージを、cygwinで取得する。
ここで揃えたQtのモジュールだけがPyQtで使えるモジュールとなる。

ビルド
python configure.py

最初の方で、ライセンスを承諾するか聞かれるのでyes、GPL
次に

Qt has been built as static libraries so either the -g or -k argument

と言われるので、改めて-gをつけてやり直す。

  • gであって、-kではない。

すると長い時間をかけて条件にあったソースが生成され、makeするとさらに長い時間をかけてビルドされる。
で、make install。
Xサーバを立ち上げて、サンプルのウィジェット描画スクリプト辺りを実行して、無事インストール完了を確認。

結果

鶏を割くに焉んぞ牛刀を用いん、そんな気がしてきた。