RHELサーバーにpythonの2つのインストールがあります。1つはバージョン2.4.x(RHELによる一般的なインストールであり、yum
を使用して更新)と2.6.xバージョンです。 Djangoだけでなく、日常のスクリプト(ソースからインストール)にも使用します。
RsvgライブラリをPython 2.6.xで動作させたい。Python 2.4.xですでに存在し、ここに保存されている/usr/lib64/python2.4/site-packages/gtk-2.0/rsvg.so
。
私の2番目のpythonインストールはここにあります/opt/python2.6
。
理想的には、Python 2.6!)を完全に再インストールせずにこれを実行したいと思います。
Gnome-python-desktopパッケージ全体をインストールしようとしましたが、
checking for PYGTK... configure: error: Package requirements (pygtk-2.0 >= 2.4.0) were not met.
真剣に、私が欲しいのはpython-rsvgだけです。それは、世界中のすべてのパッケージをインストールしなくても可能でなければなりません。
これを実行して、必要な依存関係であると理解しているものを取得しました。
$ yum install pygobject2 pygobject2-devel librsvg2 librsvg2-devel pygtk2 pygtk2-devel
ランニング ./configure --disable-allbindings --enable-rsvg
は、ビルドされるモジュールがmetacity
のみであることを示すメッセージを返します。
提供されている構成オプションを使用してgnome-python-desktopをインストールしようとしています。 make
を実行すると、エラーが発生します。
metacity.c: In function 'pymetacity_add_constants':
metacity.c:955: error: 'META_CURSOR_MOVE_WINDOW' undeclared (first use in this function)
metacity.c:955: error: (Each undeclared identifier is reported only once
metacity.c:955: error: for each function it appears in.)
metacity.c:956: error: 'META_CURSOR_RESIZE_WINDOW' undeclared (first use in this function)
make[2]: *** [metacity_la-metacity.lo] Error 1
make[2]: Leaving directory `/tmp/gnome-python-desktop-2.13.3/metacity'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/tmp/gnome-python-desktop-2.13.3'
make: *** [all] Error 2
Pygobject 2.26.0(最新の安定バージョン?)でconfigure
を実行しています:
checking for GLIB - version >= 2.22.4... no
*** Could not run GLIB test program, checking why...
*** The test program failed to compile or link. See the file config.log for the
*** exact error that occured. This usually means GLIB is incorrectly installed.
configure: error: maybe you want the pygobject-2-4 branch?
Glib2.26.0でmake
を実行する:
/usr/bin/msgfmt -o test.mo ./de.po; \
/bin/mkdir -p de/LC_MESSAGES; \
cp -f test.mo de/LC_MESSAGES
./de.po:15: keyword "msgctxt" unknown
./de.po:15:8: parse error
/usr/bin/msgfmt: found 2 fatal errors
cp: cannot stat `test.mo': No such file or directory
make[4]: *** [test.mo] Error 1
make[4]: Leaving directory `/tmp/glib-2.26.0/gio/tests'
make[3]: *** [all-recursive] Error 1
make[3]: Leaving directory `/tmp/glib-2.26.0/gio'
make[2]: *** [all] Error 2
make[2]: Leaving directory `/tmp/glib-2.26.0/gio'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/tmp/glib-2.26.0'
make: *** [all] Error 2
これはかなりイライラしています!すべてをインストールせずにこれを行う方法はありますか?
export PYTHONPATH=/opt/python2.6
export PATH=/opt/python2.6/bin:$PATH
そして、configure
/make
/make install
python-rsvgモジュール(gnome-python-desktopから)、そしてそれはうまくいくはずです。
残りを含まないrsvgモジュールのみが必要な場合は、./configure --disable-allbindings --enable-rsvg
を使用できます。
また、librsvg2-devel
パッケージがインストールされていることを確認してください。インストールされていない場合、-enableをいくつ指定してもモジュールはビルドされません。 :)
更新:
明らかに、上記の更新#2の段階で問題が発生しています。ここで、./configure
は、予定されている以外のことを行っていることを示しています。特に、metacityバインディングは、不十分に維持されているとしてconfigureヘルプで呼び出されます。
何が問題なのかよくわかりません-configureからの(長い)出力に役立つものはありますか?または、configure/makeの代わりにwaf
を使用することもできます。実行:
./waf configure --enable-modules=rsvg
./waf
./waf install
(--disable-allbindingsは必要ないことに注意してください。)
最初の行は、rsvgのみがビルドされることを示しているはずです。
さらなる更新:
このアプローチでは、/opt/python2.6
ツリーにpygtkとpycairoを組み込む必要があります。これが、構成が失敗する理由である可能性があります。