CygwinでのwxPythonのインストールに失敗
端末から以下のコマンドでバックグラウンドで実行しておけば一応画面上にもbackend: TKAggとかでも出せるが、いちいちバックグラウンドで実行しておくのが面倒。しかもバックグラウンドに出していないとimport matplotlib.pyplotの時点でエラー出るし。
startxwin &
(なお、backendの設定は ~/.matplotlib/matplotlibrcのbackendの値を設定すれば選択できる。)
そこでwxPythonをインストールしようとしていた。
結論としては失敗した。wxWidgetsのインストールまではうまくいったと思ったのだけど、wxPythonのインストールで失敗した。
環境
Cygwin 1.7.25
以下のコマンドで確認可能。
uname -r
1.7.25
使用したPythonのバージョン 2.7.3
安定版のwxPytyhon 2.8.12.1をソースからインストールする。wxPython2.9.5.0でも試したが、wxWidgetsのインストールの時点でアウトだった。
easy_installや pipでも試したがなかった。
wxPythonのインストールの手順はwxWidgetsとwxPythonのインストールの2つに分かれている。
wxWidgetsのインストール
mkdir -p ~/local/src
cd ~/local/src
wget http://downloads.sourceforge.net/wxpython/wxPython-src-2.8.12.1.tar.bz2
tar jxf wxPython-src-2.8.12.1.tar.bz2
cd wxPython-src-2.8.12.1
mkdir bld
cd bld
../configure –build=i686-pc-cygwin –host=i686-w64-mingw32 –disable-baseevtloop –disable-epolloop –disable-selectloop –with-msw –disable-shared –enable-unicode –disable-precomp-headers –with-sdl –without-odbc –with-libmspack –enable-stl
make
make install
これでインストールできるはず。configureとmakeに結構時間かかる。
configureのオプションでは以下がキーだったようだ。
–without-odbc
–build=i686-pc-cygwin –host=i686-w64-mingw32
コンパイルできたらdllファイルをWindowsのシステムフォルダに保存する。これをしないとコンパイルしたプログラムを実行すると、はlib*.dllがみつかりませんというエラーが出る。
/usr/i686-w64-mingw32/sys-root/mingw/bin/lib*.dll
にdllがある。以下のコマンドでコピーしよう。
cp /usr/i686-w64-mingw32/sys-root/mingw/bin/lib*.dll /cygdrive/c/Windows/system/
wxWidgetsの動作確認
cd samples/minimal
make
./minimal.exe
wxPythonのインストール
cd ../wxPython
python setup.py BUILD_GLCANVAS=0 BUILD_ACTIVEX=0 WX_CONFIG="wx-config --cxxflags" build_ext --inplace
実行中にundefined refereceというエラー。原因不明で諦めた。
素直にWindowsのexeファイルからインストールするのが楽でいいのかな…。
参考情報
http://www.kkaneko.com/rinkou/cygwin/wxwidgets.html
http://blog.livedoor.jp/k_yon/archives/51595089.html
- wxPythonの公式:
- http://www.wxpython.org/BUILD-2.8.html
- wxWiki:
- http://wiki.wxwidgets.org/Cygwin
- GNU Radio:
- http://gnuradio.org/redmine/projects/gnuradio/wiki/WxPythonCygwin
- MSYS:
- http://wiki.kicad.jp/%E3%83%93%E3%83%AB%E3%83%89%E6%96%B9%E6%B3%95#.E4.BE.9D.E5.AD.98.E3.83.A9.E3.82.A4.E3.83.96.E3.83.A9.E3.83.AAwxPython.E3.81.AEMSYS.E3.81.AB.E3.82.88.E3.82.8B.E3.83.93.E3.83.AB.E3.83.89