[TriZPUG] determining libraries for python programs

Joseph Mack NA3T jmack at wm7d.net
Mon Nov 22 20:58:14 CET 2010


On Sun, 21 Nov 2010, Joseph Tate wrote:

> The best way to see what your app uses is to strace it. 
> You can look just for the "open" syscall.  If you drop to 
> a debugging prompt, you can inspect sys.modules to see 
> what has been imported.

Hi Joseph,
 	The problem was that I was working on a machine with

/usr/lib/libtcl8.4.so
/usr/lib64/libtk8.4.so

I needed libtk8.5.so. For administrative reasons :-( I 
wasn't allowed to change any files in these two directories, 
was only allowed to install in /usr/local/lib, but not 
allowed to add /usr/local/lib to /etc/ld.so.conf.

So I had to build python in a way that it found 
/usr/local/lib/libtk8.5.so but not the two copies of 
libtk8.4.so. This is where I needed to know what libraries 
were being loaded at run time.

The solution was to (temporarily) delete the 8.4 libraries, 
add /usr/local/lib to LD_LIBRARY_PATH for the python 
install, then restore the 8.4 libraries. Tkinter looks for 
the 8.5 library now.

Thanks
Joe

-- 
Joseph Mack NA3T EME(B,D), FM05lw North Carolina
jmack (at) wm7d (dot) net - azimuthal equidistant map
generator at http://www.wm7d.net/azproj.shtml
Homepage http://www.austintek.com/ It's GNU/Linux!


More information about the TriZPUG mailing list