Failure to run setupext.py (patch attached)

I need to apply the attached patch in order to get the setup.py script to run. I’m using python 2.4.3 with matplotlib-0.87.4. If I do not apply this patch, I got the following. It seems like there’s a change in tk’s getvar implementation. The tk.getvar('tcl_library") returns an _tkinter.Tcl_Obj instead of a string.

Will


036A-fSeriesData text html latex example
036B-MillsData text html latex example

036C-TsayData text html latex example
037A-SeriesTools text html latex example
** building package indices …

  • DONE (fSeries)
    GTK requires pygtk

Traceback (most recent call last):
File “setup.py”, line 220, in ?
build_tkagg(ext_modules, packages, NUMERIX)
File “/home/wlee/views/foopen/foopen/bld/scientific/matplotlib-0.87.4/setupext.py”, line 537, in build_tkagg

add_tk_flags(module) # do this first

File “/home/wlee/views/foopen/foopen/bld/scientific/matplotlib-0.87.4/setupext.py”, line 461, in add_tk_flags
o = find_tcltk() # todo: try/except
File “/home/wlee/views/foopen/foopen/bld/scientific/matplotlib-
0.87.4/setupext.py”, line 357, in find_tcltk
o.tcl_lib = os.path.normpath(os.path.join((tk.getvar(‘tcl_library’)), ‘…/’))
File “/auto/csmodeldata/foopen/0.54/lib/python2.4/posixpath.py”, line 62, injoin

elif path == '' or path.endswith('/'):

AttributeError: ‘_tkinter.Tcl_Obj’ object has no attribute ‘endswith’
Traceback (most recent call last):
File “buildEnv.py”, line 500, in run
thunk(*args, **kwargs)

File “buildEnv.py”, line 570, in main
buildScientificLibraries(sourceDir, buildDir, installDir)
File “buildEnv.py”, line 359, in buildScientificLibraries
pySetup(source, installDir)

File “buildEnv.py”, line 108, in pySetup
system(source, command)
File “buildEnv.py”, line 114, in system
raise 'Failed to excute command: %s in directory %s ’ % ( command, execDir)

setupext.py.diff (1.5 KB)

What OS? It returns a string on linux with python-2.4.3 and tk-8.4.13.

···

On Tuesday 29 August 2006 13:01, Will Lee wrote:

I need to apply the attached patch in order to get the setup.py script to
run. I'm using python 2.4.3 with matplotlib-0.87.4. If I do not apply
this patch, I got the following. It seems like there's a change in tk's
getvar implementation. The tk.getvar('tcl_library") returns an
_tkinter.Tcl_Obj instead of a string.

I applied your patch, tested the build process on my own machine (still ok)
and commited it to svn. Thanks for the report.

Darren

···

On Tuesday 29 August 2006 15:49, Darren Dale wrote:

On Tuesday 29 August 2006 13:01, Will Lee wrote:
> I need to apply the attached patch in order to get the setup.py script to
> run. I'm using python 2.4.3 with matplotlib-0.87.4. If I do not apply
> this patch, I got the following. It seems like there's a change in tk's
> getvar implementation. The tk.getvar('tcl_library") returns an
> _tkinter.Tcl_Obj instead of a string.

What OS? It returns a string on linux with python-2.4.3 and tk-8.4.13.