[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[plamo:16154] Python-2.2.2



きどです。

Plamo-3.0 収録の python.tgz は、python, Tcl/Tk 間のインターフェースと
なるモジュール tkinter が、ビルド不良 ? か、上手く動作しないようです。
python ソースに含まれる Demo/tkinter/guido/ 以下のデモが動きません。

conrib-3.0 の WWW/ML/Python-2.1.3-i386.tgz も同様に動きませんが、
.all/Python-1.6.1.tgz は正常に動作するようです。

原因は、python がビルド時に Tcl/Tk ライブラリの名前や場所をモジュール
にハード・コーディングしてしまうことのように思われます。

この問題を回避した plamo-3.0 用パッケージ (最新版 python-2.2.2) を
作ってみましたので、ビルド・スクリプトを投稿いたします。

スクリプトとパッチ、およびソース Python-2.2.2.tgz を同じディレクトリに
置いて、root 権限でスクリプトを実行すれば、Plamo-3.0 用パッケージ 
python-2.2.2tgz ができます。

================== ビルド・スクリプト ================================
#!/bin/sh

# source http://www.python.org/ftp/python/2.2.2/Python-2.2.2.tgz
# offcial site http://www.python.org/

mkdir -p pkg/usr/doc/python-2.2.2
B=`pwd`
P=$B/pkg

tar zxvf Python-2.2.2.tgz 
cd Python-2.2.2

( cd /usr/lib ; rm -rf libtk8.0.so ; ln -s libtk8.0jp.so libtk8.0.so )
( cd /usr/lib ; rm -rf libtcl8.0.so ; ln -s libtcl8.0jp.so libtcl8.0.so )

./configure --prefix=/usr
make

( cd Modules ; patch -p0 < $B/Setup-plamo.diff ; cd ../ )
make

LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/lib"
export LD_LIBRARY_PATH

make -e prefix=$P/usr install

cp ./{README,LICENSE,PLAN.txt} $P/usr/doc/python-2.2.2/
gzip $P/usr/doc/python-2.2.2/*

cp -R Demo $P/usr/doc/python-2.2.2/
cp -R Misc $P/usr/doc/python-2.2.2/
cp -R Tools $P/usr/doc/python-2.2.2/

# if which latex2html ; then  # latex2html があればここをコメントアウト
#   cd Doc/                   # ただし make にすごく時間がかかる。
#   make
#   cd ..
# fi

cp -R Doc $P/usr/doc/python-2.2.2/
find $P/usr/doc/python-2.2.2/ -name README -exec gzip {} \;

cd $P

for i in `ls usr/bin/*`
do
  if file $i | grep -q 'not stripped' ; then
    strip -s $i
  fi
done

gzip usr/man/man1/*

makepkg python-2.2.2.tgz <<EOF
y
y
EOF

mv python-2.2.2.tgz $B/
cd $B
rm -rf Python-2.2.2 pkg

================== ビルド・スクリプトおわり ==========================

================== スクリプト内で使うパッチ Setup-plamo.diff =========
--- Setup.orig	2002-11-06 10:10:15.000000000 +0900
+++ Setup	2002-11-06 09:56:39.000000000 +0900
@@ -304,11 +304,11 @@
 # *** Always uncomment this (leave the leading underscore in!):
 # _tkinter _tkinter.c tkappinit.c -DWITH_APPINIT \
 # *** Uncomment and edit to reflect where your Tcl/Tk libraries are:
-#	-L/usr/local/lib \
+	-L/usr/lib \
 # *** Uncomment and edit to reflect where your Tcl/Tk headers are:
-#	-I/usr/local/include \
+	-I/usr/include \
 # *** Uncomment and edit to reflect where your X11 header files are:
-#	-I/usr/X11R6/include \
+	-I/usr/X11R6/include \
 # *** Or uncomment this for Solaris:
 #	-I/usr/openwin/include \
 # *** Uncomment and edit for Tix extension only:
@@ -321,9 +321,9 @@
 # *** Uncomment and edit for TOGL extension only:
 #	-DWITH_TOGL togl.c \
 # *** Uncomment and edit to reflect your Tcl/Tk versions:
-#	-ltk8.2 -ltcl8.2 \
+	-ltk8.0 -ltcl8.0 \
 # *** Uncomment and edit to reflect where your X11 libraries are:
-#	-L/usr/X11R6/lib \
+	-L/usr/X11R6/lib \
 # *** Or uncomment this for Solaris:
 #	-L/usr/openwin/lib \
 # *** Uncomment these for TOGL extension only:
@@ -331,7 +331,7 @@
 # *** Uncomment for AIX:
 #	-lld \
 # *** Always uncomment this; X11 libraries to link with:
-#	-lX11
+	-lX11
 
 # Lance Ellinghaus's modules:

================== Setup-plamo.diff おわり ===========================

# わたしは、 python のことは (興味はありますが) 全然わかりません。
# tkinter の件も、ゲーム pysol を動かそうとして発見しただけです。
# このようなビルドで良いのかも自信がありません。
# 少なくとも手元では pysol が動くようになったのですが :-)

-- 
きど
KIDO Hideyuki
rp9h-kd@asahi-net.or.jp

Follow-Ups
[plamo:16168] Re: Python-2.2.2, Kaihei^Rastaman^Koyama

[検索ページ] [メール一覧]
Plamo ML 公開システム