It appears to be importing _tkagg.so just fine, but it depends on Tcl/Tk itself, notably libtk8.5.so, which it can not find.
You can see what _tkagg.so depends on with ldd, eg.: > ldd ~/usr/lib/python2.5/site-packages/matplotlib/backends/_tkagg.so libtk8.4.so => /usr/lib/libtk8.4.so (0x006c6000) libtcl8.4.so => /usr/lib/libtcl8.4.so (0x002ce000) libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x005b9000) libfreetype.so.6 => /home/mdroe/usr/lib/libfreetype.so.6 (0x00c92000) libz.so.1 => /usr/lib/libz.so.1 (0x00111000) libm.so.6 => /lib/tls/libm.so.6 (0x00a15000) libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x0046b000) libpthread.so.0 => /lib/tls/libpthread.so.0 (0x00121000) libc.so.6 => /lib/tls/libc.so.6 (0x00133000) libX11.so.6 => /usr/X11R6/lib/libX11.so.6 (0x00a7d000) libdl.so.2 => /lib/libdl.so.2 (0x00281000) /lib/ld-linux.so.2 (0x00bd1000) You may need to add the path to your libtk8.5.so to your LD_LIBRARY_PATH (since you mention you built it yourself and put it in a custom location) and then run ldconfig to get the dynamic linker to find it. Cheers, Mike Graham Mark wrote: > > I had to build matplotlib and many of its requirements in my home > directory because I lack privileges to put stuff in /usr/local. So I > build python-2.6.2, freetype-2.3.9, numpy-1.3.0, tcl-8.5.7, tk-8.5.7, > and matplotlib-0.98.5.3. Each of those is in its own subdirectory in > /home/gam/packages. > > Since these packages are not in /usr/local, I had to alter pathways in > certain cases in order to get stuff to build, link, and work together. > > Things seem close to working, but matplotlib is unable to load a > backend (_tkagg). Here's what happens: > > 1655: python > Python 2.6.2 (r262:71600, Aug 5 2009, 09:48:28) > [GCC 3.4.6 20060404 (Red Hat 3.4.6-11)] on linux2 > Type "help", "copyright", "credits" or "license" for more information. > >>> import matplotlib.pyplot > Traceback (most recent call last): > File "<stdin>", line 1, in <module> > File > "/home/gam/packages/Python-2.6.2/lib/python2.6/site-packages/matplotlib/pyplot.py", > > line 75, in <module> > new_figure_manager, draw_if_interactive, show = pylab_setup() > File > "/home/gam/packages/Python-2.6.2/lib/python2.6/site-packages/matplotlib/backends/__init__.py", > > line 25, in pylab_setup > globals(),locals(),[backend_name]) > File > "/home/gam/packages/Python-2.6.2/lib/python2.6/site-packages/matplotlib/backends/backend_tkagg.py", > > line 8, in <module> > import tkagg # Paint image to Tk photo blitter > extension > File > "/home/gam/packages/Python-2.6.2/lib/python2.6/site-packages/matplotlib/backends/tkagg.py", > > line 1, in <module> > import _tkagg > ImportError: libtk8.5.so: cannot open shared object file: No such file > or directory > >>> import sys > >>> sys.path > ['', '/home/gam/packages/Python-2.6.2/lib/python2.6/site-packages', > '/home/gam/packages/Python-2.6.2/lib/python26.zip', > '/home/gam/packages/Python-2.6.2/lib/python2.6', > '/home/gam/packages/Python-2.6.2/lib/python2.6/plat-linux2', > '/home/gam/packages/Python-2.6.2/lib/python2.6/lib-tk', > '/home/gam/packages/Python-2.6.2/lib/python2.6/lib-old', > '/home/gam/packages/Python-2.6.2/lib/python2.6/lib-dynload', > '/home/gam/.local/lib/python2.6/site-packages'] > >>> > > If I understand correctly, _tkagg corresponds to _tkagg.so. Python > ought to be able to load that object if it's in python's search path. > The output above shows the presence of site_packages in sys.path, and > that site-packages/matplotlib/backends/backend_tkagg.py does get > loaded. _tkagg.so is in the same directory, as shown here: > > 1654: ls > /home/gam/packages/Python-2.6.2/lib/python2.6/site-packages/matplotlib/backends > Matplotlib.nib backend_emf.py backend_gtkcairo.pyc > backend_qt4.py backend_tkagg.pyc > __init__.py backend_emf.pyc backend_macosx.py > backend_qt4.pyc backend_wx.py > __init__.pyc backend_fltkagg.py backend_macosx.pyc > backend_qt4agg.py backend_wx.pyc > _backend_agg.so backend_fltkagg.pyc backend_mixed.py > backend_qt4agg.pyc backend_wxagg.py > _tkagg.so backend_gdk.py backend_mixed.pyc > backend_qtagg.py backend_wxagg.pyc > backend_agg.py backend_gdk.pyc backend_pdf.py > backend_qtagg.pyc tkagg.py > backend_agg.pyc backend_gtk.py backend_pdf.pyc > backend_svg.py tkagg.pyc > backend_cairo.py backend_gtk.pyc backend_ps.py > backend_svg.pyc > backend_cairo.pyc backend_gtkagg.py backend_ps.pyc > backend_template.py > backend_cocoaagg.py backend_gtkagg.pyc backend_qt.py > backend_template.pyc > backend_cocoaagg.pyc backend_gtkcairo.py backend_qt.pyc > backend_tkagg.py > > > I have tried clean rebuilds and reinstalls from the ground up but end > with the same result. > > Help! > > Thanks. > > > Here's information about my system and build: > > > > 1626: uname -a > Linux ccscs4.lanl.gov 2.6.9-67.0.7.ELsmp #1 SMP Wed Feb 27 04:48:20 > EST 2008 i686 i686 i386 GNU/Linux > > matplotlib version: 0.98.5.3 > > 1630: diff setup.cfg setup.cfg.template > 60c60 > < #tkagg = True > --- > > #tkagg = False > 76d75 > < #backend = TkAgg > > 1631: diff setupext.py setupext.py.orig > 50,51c50,51 > < 'linux2' : ['/usr/local', '/usr', '/home/gam/packages'], > < 'linux' : ['/usr/local', '/usr', '/home/gam/packages'], > --- > > 'linux2' : ['/usr/local', '/usr'], > > 'linux' : ['/usr/local', '/usr',], > 950,959c950,953 > < #gam > < tcl_inc = "/home/gam/packages/tcl8.5.7/include" > < tcl_lib = "/home/gam/packages/tcl8.5.7/lib" > < tk_inc = "/home/gam/packages/tcl8.5.7/include" > < tk_lib = "/home/gam/packages/tcl8.5.7/lib" > < #tcl_inc = "/usr/local/include" > < #tk_inc = "/usr/local/include" > < #tcl_lib = "/usr/local/lib" > < #tk_lib = "/usr/local/lib" > < #mag > --- > > tcl_inc = "/usr/local/include" > > tk_inc = "/usr/local/include" > > tcl_lib = "/usr/local/lib" > > tk_lib = "/usr/local/lib" > 1063,1065d1056 > < #gam > < tk_ver = tcl_ver = '8.5' > < #mag > > > 1633: python setup.py build > ============================================================================ > BUILDING MATPLOTLIB > matplotlib: 0.98.5.3 > python: 2.6.2 (r262:71600, Aug 5 2009, 09:48:28) [GCC > 3.4.6 20060404 (Red Hat 3.4.6-11)] > platform: linux2 > > REQUIRED DEPENDENCIES > numpy: 1.3.0 > freetype2: 9.7.3 > > OPTIONAL BACKEND DEPENDENCIES > libpng: 1.2.7 > Tkinter: Tkinter: 70220, Tk: 8.5, Tcl: 8.5 > * Guessing the library and include directories for > * Tcl and Tk because the tclConfig.sh and > * tkConfig.sh could not be found and/or parsed. > wxPython: no > * wxPython not found > Gtk+: no > * Building for Gtk+ requires pygtk; you must > be able > * to "import gtk" in your build/install > environment > Mac OS X native: no > Qt: no > Qt4: no > Cairo: no > > OPTIONAL DATE/TIMEZONE DEPENDENCIES > datetime: present, version unknown > dateutil: matplotlib will provide > pytz: 2008c > > OPTIONAL USETEX DEPENDENCIES > dvipng: no > ghostscript: 7.07 > latex: 3.14159 > pdftops: 3.00 > > > 1634: gcc --version > gcc (GCC) 3.4.6 20060404 (Red Hat 3.4.6-11) > Copyright (C) 2006 Free Software Foundation, Inc. > This is free software; see the source for copying conditions. There is NO > warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR > PURPOSE. > > > ========================== > > Graham Mark > CCS-3 > Information Sciences > Los Alamos National Laboratory > 505-667-8147 > > > > ------------------------------------------------------------------------ > > ------------------------------------------------------------------------------ > Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day > trial. Simplify your report design, integration and deployment - and focus on > what you do best, core application coding. Discover what's new with > Crystal Reports now. http://p.sf.net/sfu/bobj-july > ------------------------------------------------------------------------ > > _______________________________________________ > Matplotlib-users mailing list > Matplotlib-users@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/matplotlib-users > -- Michael Droettboom Science Software Branch Operations and Engineering Division Space Telescope Science Institute Operated by AURA for NASA ------------------------------------------------------------------------------ Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day trial. Simplify your report design, integration and deployment - and focus on what you do best, core application coding. Discover what's new with Crystal Reports now. http://p.sf.net/sfu/bobj-july _______________________________________________ Matplotlib-users mailing list Matplotlib-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/matplotlib-users