Help getting BLT extension working with python/tkinter on linux

Bob bobt at rubble.com
Tue Jun 17 02:05:38 EDT 2003


As a followup to my own post:

In article <20030616.143151.1261034869.8390 at hp.rubble.com>, I wrote:

> I'm confused about how to get the BLT package configured and working on
> linux. Here's my situation:
> 
> I have ActivePython installed, version 2.2. This includes tkinter and
> some other extensions, but since it doesn't have a complete tcl/tk
> installation I couldn't build other extensions against it. So I
> downloaded ActiveTCL, version 8.3.4.2 I believe (it has the same
> versions of tcl/tk as the ActivePython).
> . . .
> . . .
> but I can't get this extension to load manually:
> 
>   TclError: couldn't load file "/usr/local/ActiveTcl/lib/libBLT24.so":
>   /usr/local/ActiveTcl/lib/libBLT24.so: undefined symbol: TclpAlloc
> 
> This tells me that the BLT extension was found ok, but the actual
> dynamic loading of the library failed because it couldn't find the
> symbol  symbol?.
> 
> That's a basic allocation routine in the tcl library, libtcl8.3.so. This
> symbol is found in python2.2/lib-dynload/_tkinter.so, so why can't the
> blt library find it?

I downloaded python src distro from python.org and built it. I modified
Modules/Setup to include both tkinter and BLT, and specified the 
existing versions I had in the ActiveTcl installation. It all works fine.
This build of python must have tkinter built in, as there is no _tkinter.so
to be found in the hierarchy.

So anyway, I'm all set, but I would still like to understand why the other
installation wasn't working. Why couldn't the loading of BLT find
the TclpAlloc symbol?

Thanks,

Bob




More information about the Python-list mailing list