In order to run Xerblin (which depends on Tkinter), I'm creating an extension for DSL that includes Python 2.5 as well as Tcl/Tk 8.5 (there is already a Python 2.5 extension but it doesn't include Tkinter support.) It's proving to be very straightforward, in part because both the folks responsible for Tcl/Tk and the folks responsible for Python have done a great job on their respective build processes, and in part because the DSL extension creation process is undemanding.
Compiling and Installing Python and Tcl/Tk
Briefly, I created a couple of "destination" directories in the
/opt
directory, one for Python and one for Tcl/Tk:
mkdir /opt/tcltk-8.5
mkdir /opt/python2.5
Then, having downloaded the source code for each from their respective websites, I did the
configure; make; make install
dance and specified the proper "destination" directoriesTcl:
tar xzvf tcl8.5.1-src.tar.gz
cd tcl8.5.1/unix
./configure --prefix=/opt/tcltk-8.5 --exec-prefix=/opt/tcltk-8.5
make && make install
Tk (note the
--with-tcl
option, that was one thing that had to be there to tell Tk where to find the Tcl libs):tar xzvf tk8.5.1-src.tar.gz
cd tk8.5.1/unix
./configure \
--with-tcl=/opt/tcltk-8.5/lib \
--prefix=/opt/tcltk-8.5 \
--exec-prefix=/opt/tcltk-8.5
make && make install
Python:
tar xzvf Python-2.5.2.tgz
cd Python-2.5.2
./configure --prefix=/opt/python2.5 --exec-prefix=/opt/python2.5
make && make install
Note, before you can compile Python and have it find Tcl/Tk and build Tkinter you must tell it where Tcl/Tk are, and to do this you must edit Python's setup.py file. I'll flesh this out later...
- Symlinks to /opt/bin
- Stripping out unneeded cruft
- Making the extensions proper
- Running ldconfig