[Python-modules-team] Bug#621700: python-matplotlib: fails to find tcl/tk headers during build

Julian Taylor jtaylor.debian at googlemail.com
Thu Apr 7 22:20:24 UTC 2011


Package: python-matplotlib
Version: 0.99.3-1
Severity: important
Tags: patch

version 8.5.9-2 of tcl and tk moved the tcl/tkConfig.sh to /usr/lib/tcl8.5 and
/usr/lib/tk8.5

see https://bugs.launchpad.net/ubuntu/+source/matplotlib/+bug/752647 for
details



-- System Information:
Debian Release: wheezy/sid
  APT prefers unstable
  APT policy: (500, 'unstable'), (50, 'experimental')
Architecture: amd64 (x86_64)

Kernel: Linux 2.6.38-2-amd64 (SMP w/1 CPU core)
Locale: LANG=en_AU.utf8, LC_CTYPE=en_AU.utf8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

Versions of packages python-matplotlib depends on:
ii  libatk1.0-0           1.32.0-3           The ATK accessibility toolkit
ii  libc6                 2.11.2-13          Embedded GNU C Library: Shared lib
ii  libcairo2             1.10.2-6           The Cairo 2D vector graphics libra
ii  libfontconfig1        2.8.0-2.1          generic font configuration library
ii  libfreetype6          2.4.4-1            FreeType 2 font engine, shared lib
ii  libgcc1               1:4.6.0-2          GCC support library
ii  libglib2.0-0          2.28.4-1           The GLib library of C routines
ii  libgtk2.0-0           2.24.3-1~sid1      The GTK+ graphical user interface 
ii  libpango1.0-0         1.28.3-6           Layout and rendering of internatio
ii  libpng12-0            1.2.44-2           PNG library - runtime
ii  libstdc++6            4.6.0-2            The GNU Standard C++ Library v3
ii  python                2.6.6-12           interactive high-level object-orie
ii  python-cairo          1.8.8-1+b1         Python bindings for the Cairo vect
ii  python-dateutil       1.4.1-3            powerful extensions to the standar
ii  python-gobject        2.21.4+is.2.21.3-1 Python bindings for the GObject li
ii  python-matplotlib-dat 0.99.3-1           Python based plotting system (data
ii  python-numpy          1:1.5.1-2          Numerical Python adds a fast array
ii  python-pyparsing      1.5.2-2            Python parsing module
ii  python-support        1.0.11             automated rebuilding support for P
ii  python-tz             2010b-1            Python version of the Olson timezo
ii  tcl8.5                8.5.9-2            Tcl (the Tool Command Language) v8
ii  tk8.5                 8.5.9-2            Tk toolkit for Tcl and X11, v8.5 -
ii  zlib1g                1:1.2.3.4.dfsg-3   compression library - runtime

Versions of packages python-matplotlib recommends:
ii  python-glade2                2.17.0-4+b1 GTK+ bindings: Glade support
ii  python-tk                    2.7.1-1     Tkinter - Writing Tk applications 

Versions of packages python-matplotlib suggests:
pn  dvipng                     <none>        (no description available)
ii  ipython                    0.10.1-1      enhanced interactive Python shell
ii  librsvg2-common            2.32.1-1      SAX-based renderer library for SVG
ii  python-configobj           4.7.2+ds-2    simple but powerful config file re
pn  python-excelerator         <none>        (no description available)
ii  python-gtk2                2.17.0-4+b1   Python bindings for the GTK+ widge
pn  python-matplotlib-doc      <none>        (no description available)
pn  python-qt3                 <none>        (no description available)
pn  python-qt4                 <none>        (no description available)
pn  python-scipy               <none>        (no description available)
pn  python-traits              <none>        (no description available)
ii  python-wxgtk2.8            2.8.10.1-3+b1 wxWidgets Cross-platform C++ GUI t
pn  texlive-extra-utils        <none>        (no description available)
pn  texlive-latex-extra        <none>        (no description available)

-- no debconf information
-------------- next part --------------
Description: check new path of tcl/tkConfig.sh
Bug-Ubuntu: https://bugs.launchpad.net/ubuntu/+source/matplotlib/+bug/752647
Forwarded: https://sourceforge.net/tracker/?func=detail&aid=3279844&group_id=80706&atid=560720
Author: Julian Taylor <jtaylor.debian at googlemail.com>

version 8.5.9-2 of tcl and tk moved the tcl/tkConfig.sh
to /usr/lib/tcl8.5 and /usr/lib/tk8.5

--- matplotlib-1.0.1/setupext.py	2011-04-08 00:09:42.000000000 +0200
+++ matplotlib-1.0.1patched/setupext.py	2011-04-08 00:09:22.000000000 +0200
@@ -893,15 +893,20 @@
     return TCL_TK_CACHE
 
 def parse_tcl_config(tcl_lib_dir, tk_lib_dir):
-    # This is where they live on Ubuntu Hardy (at least)
-    tcl_config = os.path.join(tcl_lib_dir, "tclConfig.sh")
-    tk_config = os.path.join(tk_lib_dir, "tkConfig.sh")
+    import Tkinter
+    tcl_poss = [tcl_lib_dir,
+                "/usr/lib/tcl"+str(Tkinter.TclVersion),
+                "/usr/lib"]
+    tk_poss = [tk_lib_dir,
+               "/usr/lib/tk"+str(Tkinter.TkVersion),
+               "/usr/lib"]
+    for ptcl, ptk in zip(tcl_poss, tk_poss):
+        tcl_config = os.path.join(ptcl, "tclConfig.sh")
+        tk_config = os.path.join(ptk, "tkConfig.sh")
+        if (os.path.exists(tcl_config) and os.path.exists(tk_config)):
+            break
     if not (os.path.exists(tcl_config) and os.path.exists(tk_config)):
-        # This is where they live on RHEL4 (at least)
-        tcl_config = "/usr/lib/tclConfig.sh"
-        tk_config = "/usr/lib/tkConfig.sh"
-        if not (os.path.exists(tcl_config) and os.path.exists(tk_config)):
-            return None
+        return None
 
     # These files are shell scripts that set a bunch of
     # environment variables.  To actually get at the


More information about the Python-modules-team mailing list