Hi,
I just built matplotlib from CVS on debian/linux and mac os x,
and had to modify some things. I thought the information might
be useful to others, and that people on this list might advise me
if there were better fixes.
On debian, I had to make the following modification to setupext.py:
···
---
Index: setupext.py
RCS file: /cvsroot/matplotlib/matplotlib/setupext.py,v
retrieving revision 1.30
diff -c -r1.30 setupext.py
*** setupext.py 31 Mar 2004 14:29:35 -0000 1.30
--- setupext.py 13 Apr 2004 00:39:54 -0000
***************
*** 169,177 ****
else:
tk.withdraw()
o.tcl_lib = os.path.join((tk.getvar('tcl_library')), '../')
- o.tcl_inc = os.path.join((tk.getvar('tcl_library')), '../../include')
o.tk_lib = os.path.join((tk.getvar('tk_library')), '../')
o.tkv = str(Tkinter.TkVersion)[:3]
return o
--- 169,177 ----
else:
tk.withdraw()
o.tcl_lib = os.path.join((tk.getvar('tcl_library')), '../')
o.tk_lib = os.path.join((tk.getvar('tk_library')), '../')
o.tkv = str(Tkinter.TkVersion)[:3]
+ o.tcl_inc = os.path.join((tk.getvar('tcl_library')), '../../include/tcl'+o.tkv)
return o
---
I'm using a fairly mixed stable/testing/unstable version of debian, so
maybe that's the reason for my needing to make this change.
On mac os x, I was going to use fink for the dependencies, and so
I modified setupext.py as follows:
---
Index: setupext.py
RCS file: /cvsroot/matplotlib/matplotlib/setupext.py,v
retrieving revision 1.30
diff -c -r1.30 setupext.py
*** setupext.py 31 Mar 2004 14:29:35 -0000 1.30
--- setupext.py 13 Apr 2004 00:46:31 -0000
***************
*** 36,42 ****
'win32' : 'win32_static',
'linux2' : '/usr',
'linux' : '/usr',
! 'darwin' : '/usr/local',
'sunos5' : os.getenv('MPLIB_BASE') or '/usr/local'
}
--- 36,43 ----
'win32' : 'win32_static',
'linux2' : '/usr',
'linux' : '/usr',
! #'darwin' : '/usr/local',
! 'darwin' : '/sw',
'sunos5' : os.getenv('MPLIB_BASE') or '/usr/local'
}
***************
*** 92,99 ****
--- 93,105 ----
inc = os.path.join(basedir[sys.platform], 'include')
module.include_dirs.append(inc)
module.include_dirs.append(os.path.join(inc, 'freetype2'))
+ if sys.platform == 'darwin':
+ module.include_dirs.append(os.path.join(basedir[sys.platform], 'lib/freetype2/include'))
+ module.include_dirs.append(os.path.join(basedir[sys.platform], 'lib/freetype2/include/freetype2'))
module.library_dirs.append(os.path.join(basedir[sys.platform], 'lib'))
+ if sys.platform == 'darwin':
+ module.library_dirs.append(os.path.join(basedir[sys.platform], 'lib/freetype2/lib'))
if sys.platform == 'win32':
module.libraries.append('gw32c')
---
Do most of the users of matplotlib on os x not use fink? The stumper
for me is that I have been unable to build scipy/numpy for the python
that is bundled with os x - has anyone been successful with this?
(is this process documented anywhere?)
For both debian and os x, I found that I would get the following error:
---
File "...../lib/python2.3/site-packages/matplotlib/backends/backend_wx.py", line 611, in get_wx_font
self.fontweights[t.get_fontweight()], # Weight
KeyError
---
where t.get_fontweight() seems to be returning None. I "fixed" this by
adding
---
Index: backends/backend_gtk.py
RCS file: /cvsroot/matplotlib/matplotlib/matplotlib/backends/backend_gtk.py,v
retrieving revision 1.81
diff -c -r1.81 backend_gtk.py
*** backends/backend_gtk.py 12 Apr 2004 13:32:05 -0000 1.81
--- backends/backend_gtk.py 13 Apr 2004 01:08:20 -0000
***************
*** 89,94 ****
--- 89,95 ----
'normal' : pango.WEIGHT_NORMAL,
'ultrabold' : pango.WEIGHT_ULTRABOLD,
'ultralight' : pango.WEIGHT_ULTRALIGHT,
+ None : pango.WEIGHT_NORMAL
}
fontangles = {
'italic': pango.STYLE_ITALIC,
Index: backends/backend_wx.py
RCS file: /cvsroot/matplotlib/matplotlib/matplotlib/backends/backend_wx.py,v
retrieving revision 1.51
diff -c -r1.51 backend_wx.py
*** backends/backend_wx.py 5 Apr 2004 12:58:54 -0000 1.51
--- backends/backend_wx.py 13 Apr 2004 01:08:20 -0000
***************
*** 338,344 ****
'heavy' : wxBOLD,
'light' : wxLIGHT,
'ultrabold' : wxBOLD,
! 'ultralight' : wxLIGHT }
fontangles = { 'italic' : wxITALIC,
'normal' : wxNORMAL,
--- 338,346 ----
'heavy' : wxBOLD,
'light' : wxLIGHT,
'ultrabold' : wxBOLD,
! 'ultralight' : wxLIGHT,
! None : wxNORMAL
! }
fontangles = { 'italic' : wxITALIC,
'normal' : wxNORMAL,
---
but there is probably a better/cleaner way to solve this problem...
d