Bug 837156 - RFE: Please update to latest version 1.1.0
Summary: RFE: Please update to latest version 1.1.0
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: Fedora
Classification: Fedora
Component: python-matplotlib
Version: rawhide
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Jef Spaleta
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
: 753210 (view as bug list)
Depends On: 879731
Blocks: 784947
TreeView+ depends on / blocked
 
Reported: 2012-07-03 02:46 UTC by Paulo Andrade
Modified: 2012-12-02 04:24 UTC (History)
15 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2012-12-02 04:24:53 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)

Description Paulo Andrade 2012-07-03 02:46:41 UTC
I am starting working on correcting doctest failures in my WIP fedora sagemath package, and matplotlib 1.0.1 is missing too many features and causing several doctest failures (in sage -testall). Example:

$ sage -t /usr/share/sagemath/devel/doc/en/tutorial/tour_plotting.rst
sage -t  "devel/doc/en/tutorial/tour_plotting.rst"          
**********************************************************************
File "/usr/share/sagemath/devel/doc/en/tutorial/tour_plotting.rst", line 24:
    sage: circle((0,0), 1, rgbcolor=(1,1,0))
Exception raised:
    Traceback (most recent call last):
      File "/usr/share/sagemath/local/bin/ncadoctest.py", line 1231, in run_one_test
        self.run_one_example(test, example, filename, compileflags)
      File "/usr/share/sagemath/local/bin/sagedoctest.py", line 38, in run_one_example
        OrigDocTestRunner.run_one_example(self, test, example, filename, compileflags)
      File "/usr/share/sagemath/local/bin/ncadoctest.py", line 1172, in run_one_example
        compileflags, 1) in test.globs
      File "<doctest __main__.example_0[2]>", line 1, in <module>
        circle((Integer(0),Integer(0)), Integer(1), rgbcolor=(Integer(1),Integer(1),Integer(0)))###line 24:
    sage: circle((0,0), 1, rgbcolor=(1,1,0))
      File "/usr/lib64/python2.7/site-packages/sage/misc/displayhook.py", line 176, in displayhook
        print_obj(sys.stdout, obj)
      File "/usr/lib64/python2.7/site-packages/sage/misc/displayhook.py", line 144, in print_obj
        print >>out_stream, `obj`
      File "sage_object.pyx", line 154, in sage.structure.sage_object.SageObject.__repr__ (sage/structure/sage_object.c:1496)
      File "/usr/lib64/python2.7/site-packages/sage/plot/graphics.py", line 803, in _repr_
        self.show()
      File "/usr/lib64/python2.7/site-packages/sage/misc/decorators.py", line 456, in wrapper
        return func(*args, **kwds)
      File "/usr/lib64/python2.7/site-packages/sage/plot/graphics.py", line 1471, in show
        self.save(DOCTEST_MODE_FILE, **kwds)
      File "/usr/lib64/python2.7/site-packages/sage/misc/decorators.py", line 456, in wrapper
        return func(*args, **kwds)
      File "/usr/lib64/python2.7/site-packages/sage/plot/graphics.py", line 2211, in save
        figure.tight_layout()
    AttributeError: 'Figure' object has no attribute 'tight_layout'
**********************************************************************
File "/usr/share/sagemath/devel/doc/en/tutorial/tour_plotting.rst", line 30:
    sage: circle((0,0), 1, rgbcolor=(1,1,0), fill=True)
Exception raised:
    Traceback (most recent call last):
      File "/usr/share/sagemath/local/bin/ncadoctest.py", line 1231, in run_one_test
        self.run_one_example(test, example, filename, compileflags)
      File "/usr/share/sagemath/local/bin/sagedoctest.py", line 38, in run_one_example
        OrigDocTestRunner.run_one_example(self, test, example, filename, compileflags)
      File "/usr/share/sagemath/local/bin/ncadoctest.py", line 1172, in run_one_example
        compileflags, 1) in test.globs
      File "<doctest __main__.example_1[2]>", line 1, in <module>
        circle((Integer(0),Integer(0)), Integer(1), rgbcolor=(Integer(1),Integer(1),Integer(0)), fill=True)###line 30:
    sage: circle((0,0), 1, rgbcolor=(1,1,0), fill=True)
      File "/usr/lib64/python2.7/site-packages/sage/misc/displayhook.py", line 176, in displayhook
        print_obj(sys.stdout, obj)
      File "/usr/lib64/python2.7/site-packages/sage/misc/displayhook.py", line 144, in print_obj
        print >>out_stream, `obj`
      File "sage_object.pyx", line 154, in sage.structure.sage_object.SageObject.__repr__ (sage/structure/sage_object.c:1496)
      File "/usr/lib64/python2.7/site-packages/sage/plot/graphics.py", line 803, in _repr_
        self.show()
      File "/usr/lib64/python2.7/site-packages/sage/misc/decorators.py", line 456, in wrapper
        return func(*args, **kwds)
      File "/usr/lib64/python2.7/site-packages/sage/plot/graphics.py", line 1471, in show
        self.save(DOCTEST_MODE_FILE, **kwds)
      File "/usr/lib64/python2.7/site-packages/sage/misc/decorators.py", line 456, in wrapper
        return func(*args, **kwds)
      File "/usr/lib64/python2.7/site-packages/sage/plot/graphics.py", line 2211, in save
        figure.tight_layout()
    AttributeError: 'Figure' object has no attribute 'tight_layout'
**********************************************************************
File "/usr/share/sagemath/devel/doc/en/tutorial/tour_plotting.rst", line 146:
    sage: contour_plot(f, (-4, 4), (-4, 4))
Exception raised:
    Traceback (most recent call last):
      File "/usr/share/sagemath/local/bin/ncadoctest.py", line 1231, in run_one_test
        self.run_one_example(test, example, filename, compileflags)
      File "/usr/share/sagemath/local/bin/sagedoctest.py", line 38, in run_one_example
        OrigDocTestRunner.run_one_example(self, test, example, filename, compileflags)
      File "/usr/share/sagemath/local/bin/ncadoctest.py", line 1172, in run_one_example
        compileflags, 1) in test.globs
      File "<doctest __main__.example_11[3]>", line 1, in <module>
        contour_plot(f, (-Integer(4), Integer(4)), (-Integer(4), Integer(4)))###line 146:
    sage: contour_plot(f, (-4, 4), (-4, 4))
      File "/usr/lib64/python2.7/site-packages/sage/misc/displayhook.py", line 176, in displayhook
        print_obj(sys.stdout, obj)
      File "/usr/lib64/python2.7/site-packages/sage/misc/displayhook.py", line 144, in print_obj
        print >>out_stream, `obj`
      File "sage_object.pyx", line 154, in sage.structure.sage_object.SageObject.__repr__ (sage/structure/sage_object.c:1496)
      File "/usr/lib64/python2.7/site-packages/sage/plot/graphics.py", line 803, in _repr_
        self.show()
      File "/usr/lib64/python2.7/site-packages/sage/misc/decorators.py", line 456, in wrapper
        return func(*args, **kwds)
      File "/usr/lib64/python2.7/site-packages/sage/plot/graphics.py", line 1471, in show
        self.save(DOCTEST_MODE_FILE, **kwds)
      File "/usr/lib64/python2.7/site-packages/sage/misc/decorators.py", line 456, in wrapper
        return func(*args, **kwds)
      File "/usr/lib64/python2.7/site-packages/sage/plot/graphics.py", line 2211, in save
        figure.tight_layout()
    AttributeError: 'Figure' object has no attribute 'tight_layout'
**********************************************************************
File "/usr/share/sagemath/devel/doc/en/tutorial/tour_plotting.rst", line 45:
    sage: c.show()
Exception raised:
    Traceback (most recent call last):
      File "/usr/share/sagemath/local/bin/ncadoctest.py", line 1231, in run_one_test
        self.run_one_example(test, example, filename, compileflags)
      File "/usr/share/sagemath/local/bin/sagedoctest.py", line 38, in run_one_example
        OrigDocTestRunner.run_one_example(self, test, example, filename, compileflags)
      File "/usr/share/sagemath/local/bin/ncadoctest.py", line 1172, in run_one_example
        compileflags, 1) in test.globs
      File "<doctest __main__.example_2[3]>", line 1, in <module>
        c.show()###line 45:
    sage: c.show()
      File "/usr/lib64/python2.7/site-packages/sage/misc/decorators.py", line 456, in wrapper
        return func(*args, **kwds)
      File "/usr/lib64/python2.7/site-packages/sage/plot/graphics.py", line 1471, in show
        self.save(DOCTEST_MODE_FILE, **kwds)
      File "/usr/lib64/python2.7/site-packages/sage/misc/decorators.py", line 456, in wrapper
        return func(*args, **kwds)
      File "/usr/lib64/python2.7/site-packages/sage/plot/graphics.py", line 2211, in save
        figure.tight_layout()
    AttributeError: 'Figure' object has no attribute 'tight_layout'
**********************************************************************
File "/usr/share/sagemath/devel/doc/en/tutorial/tour_plotting.rst", line 57:
    sage: c.show(aspect_ratio=1)
Exception raised:
    Traceback (most recent call last):
      File "/usr/share/sagemath/local/bin/ncadoctest.py", line 1231, in run_one_test
        self.run_one_example(test, example, filename, compileflags)
      File "/usr/share/sagemath/local/bin/sagedoctest.py", line 38, in run_one_example
        OrigDocTestRunner.run_one_example(self, test, example, filename, compileflags)
      File "/usr/share/sagemath/local/bin/ncadoctest.py", line 1172, in run_one_example
        compileflags, 1) in test.globs
      File "<doctest __main__.example_2[4]>", line 1, in <module>
        c.show(aspect_ratio=Integer(1))###line 57:
    sage: c.show(aspect_ratio=1)
      File "/usr/lib64/python2.7/site-packages/sage/misc/decorators.py", line 456, in wrapper
        return func(*args, **kwds)
      File "/usr/lib64/python2.7/site-packages/sage/plot/graphics.py", line 1471, in show
        self.save(DOCTEST_MODE_FILE, **kwds)
      File "/usr/lib64/python2.7/site-packages/sage/misc/decorators.py", line 456, in wrapper
        return func(*args, **kwds)
      File "/usr/lib64/python2.7/site-packages/sage/plot/graphics.py", line 2211, in save
        figure.tight_layout()
    AttributeError: 'Figure' object has no attribute 'tight_layout'
**********************************************************************
File "/usr/share/sagemath/devel/doc/en/tutorial/tour_plotting.rst", line 67:
    sage: plot(cos, (-5,5))
Exception raised:
    Traceback (most recent call last):
      File "/usr/share/sagemath/local/bin/ncadoctest.py", line 1231, in run_one_test
        self.run_one_example(test, example, filename, compileflags)
      File "/usr/share/sagemath/local/bin/sagedoctest.py", line 38, in run_one_example
        OrigDocTestRunner.run_one_example(self, test, example, filename, compileflags)
      File "/usr/share/sagemath/local/bin/ncadoctest.py", line 1172, in run_one_example
        compileflags, 1) in test.globs
      File "<doctest __main__.example_3[2]>", line 1, in <module>
        plot(cos, (-Integer(5),Integer(5)))###line 67:
    sage: plot(cos, (-5,5))
      File "/usr/lib64/python2.7/site-packages/sage/misc/displayhook.py", line 176, in displayhook
        print_obj(sys.stdout, obj)
      File "/usr/lib64/python2.7/site-packages/sage/misc/displayhook.py", line 144, in print_obj
        print >>out_stream, `obj`
      File "sage_object.pyx", line 154, in sage.structure.sage_object.SageObject.__repr__ (sage/structure/sage_object.c:1496)
      File "/usr/lib64/python2.7/site-packages/sage/plot/graphics.py", line 803, in _repr_
        self.show()
      File "/usr/lib64/python2.7/site-packages/sage/misc/decorators.py", line 456, in wrapper
        return func(*args, **kwds)
      File "/usr/lib64/python2.7/site-packages/sage/plot/graphics.py", line 1471, in show
        self.save(DOCTEST_MODE_FILE, **kwds)
      File "/usr/lib64/python2.7/site-packages/sage/misc/decorators.py", line 456, in wrapper
        return func(*args, **kwds)
      File "/usr/lib64/python2.7/site-packages/sage/plot/graphics.py", line 2211, in save
        figure.tight_layout()
    AttributeError: 'Figure' object has no attribute 'tight_layout'
**********************************************************************
File "/usr/share/sagemath/devel/doc/en/tutorial/tour_plotting.rst", line 75:
    sage: parametric_plot((cos(x),sin(x)^3),(x,0,2*pi),rgbcolor=hue(0.6))
Exception raised:
    Traceback (most recent call last):
      File "/usr/share/sagemath/local/bin/ncadoctest.py", line 1231, in run_one_test
        self.run_one_example(test, example, filename, compileflags)
      File "/usr/share/sagemath/local/bin/sagedoctest.py", line 38, in run_one_example
        OrigDocTestRunner.run_one_example(self, test, example, filename, compileflags)
      File "/usr/share/sagemath/local/bin/ncadoctest.py", line 1172, in run_one_example
        compileflags, 1) in test.globs
      File "<doctest __main__.example_4[3]>", line 1, in <module>
        parametric_plot((cos(x),sin(x)**Integer(3)),(x,Integer(0),Integer(2)*pi),rgbcolor=hue(RealNumber('0.6')))###line 75:
    sage: parametric_plot((cos(x),sin(x)^3),(x,0,2*pi),rgbcolor=hue(0.6))
      File "/usr/lib64/python2.7/site-packages/sage/misc/displayhook.py", line 176, in displayhook
        print_obj(sys.stdout, obj)
      File "/usr/lib64/python2.7/site-packages/sage/misc/displayhook.py", line 144, in print_obj
        print >>out_stream, `obj`
      File "sage_object.pyx", line 154, in sage.structure.sage_object.SageObject.__repr__ (sage/structure/sage_object.c:1496)
      File "/usr/lib64/python2.7/site-packages/sage/plot/graphics.py", line 803, in _repr_
        self.show()
      File "/usr/lib64/python2.7/site-packages/sage/misc/decorators.py", line 456, in wrapper
        return func(*args, **kwds)
      File "/usr/lib64/python2.7/site-packages/sage/plot/graphics.py", line 1471, in show
        self.save(DOCTEST_MODE_FILE, **kwds)
      File "/usr/lib64/python2.7/site-packages/sage/misc/decorators.py", line 456, in wrapper
        return func(*args, **kwds)
      File "/usr/lib64/python2.7/site-packages/sage/plot/graphics.py", line 2211, in save
        figure.tight_layout()
    AttributeError: 'Figure' object has no attribute 'tight_layout'
**********************************************************************
File "/usr/share/sagemath/devel/doc/en/tutorial/tour_plotting.rst", line 83:
    sage: plot(x^2,(x,300,500))
Exception raised:
    Traceback (most recent call last):
      File "/usr/share/sagemath/local/bin/ncadoctest.py", line 1231, in run_one_test
        self.run_one_example(test, example, filename, compileflags)
      File "/usr/share/sagemath/local/bin/sagedoctest.py", line 38, in run_one_example
        OrigDocTestRunner.run_one_example(self, test, example, filename, compileflags)
      File "/usr/share/sagemath/local/bin/ncadoctest.py", line 1172, in run_one_example
        compileflags, 1) in test.globs
      File "<doctest __main__.example_5[2]>", line 1, in <module>
        plot(x**Integer(2),(x,Integer(300),Integer(500)))###line 83:
    sage: plot(x^2,(x,300,500))
      File "/usr/lib64/python2.7/site-packages/sage/misc/displayhook.py", line 176, in displayhook
        print_obj(sys.stdout, obj)
      File "/usr/lib64/python2.7/site-packages/sage/misc/displayhook.py", line 144, in print_obj
        print >>out_stream, `obj`
      File "sage_object.pyx", line 154, in sage.structure.sage_object.SageObject.__repr__ (sage/structure/sage_object.c:1496)
      File "/usr/lib64/python2.7/site-packages/sage/plot/graphics.py", line 803, in _repr_
        self.show()
      File "/usr/lib64/python2.7/site-packages/sage/misc/decorators.py", line 456, in wrapper
        return func(*args, **kwds)
      File "/usr/lib64/python2.7/site-packages/sage/plot/graphics.py", line 1471, in show
        self.save(DOCTEST_MODE_FILE, **kwds)
      File "/usr/lib64/python2.7/site-packages/sage/misc/decorators.py", line 456, in wrapper
        return func(*args, **kwds)
      File "/usr/lib64/python2.7/site-packages/sage/plot/graphics.py", line 2211, in save
        figure.tight_layout()
    AttributeError: 'Figure' object has no attribute 'tight_layout'
**********************************************************************
File "/usr/share/sagemath/devel/doc/en/tutorial/tour_plotting.rst", line 105:
    sage: p
Exception raised:
    Traceback (most recent call last):
      File "/usr/share/sagemath/local/bin/ncadoctest.py", line 1231, in run_one_test
        self.run_one_example(test, example, filename, compileflags)
      File "/usr/share/sagemath/local/bin/sagedoctest.py", line 38, in run_one_example
        OrigDocTestRunner.run_one_example(self, test, example, filename, compileflags)
      File "/usr/share/sagemath/local/bin/ncadoctest.py", line 1172, in run_one_example
        compileflags, 1) in test.globs
      File "<doctest __main__.example_7[4]>", line 1, in <module>
        p###line 105:
    sage: p
      File "/usr/lib64/python2.7/site-packages/sage/misc/displayhook.py", line 176, in displayhook
        print_obj(sys.stdout, obj)
      File "/usr/lib64/python2.7/site-packages/sage/misc/displayhook.py", line 144, in print_obj
        print >>out_stream, `obj`
      File "sage_object.pyx", line 154, in sage.structure.sage_object.SageObject.__repr__ (sage/structure/sage_object.c:1496)
      File "/usr/lib64/python2.7/site-packages/sage/plot/graphics.py", line 803, in _repr_
        self.show()
      File "/usr/lib64/python2.7/site-packages/sage/misc/decorators.py", line 456, in wrapper
        return func(*args, **kwds)
      File "/usr/lib64/python2.7/site-packages/sage/plot/graphics.py", line 1471, in show
        self.save(DOCTEST_MODE_FILE, **kwds)
      File "/usr/lib64/python2.7/site-packages/sage/misc/decorators.py", line 456, in wrapper
        return func(*args, **kwds)
      File "/usr/lib64/python2.7/site-packages/sage/plot/graphics.py", line 2211, in save
        figure.tight_layout()
    AttributeError: 'Figure' object has no attribute 'tight_layout'
**********************************************************************
File "/usr/share/sagemath/devel/doc/en/tutorial/tour_plotting.rst", line 128:
    sage: line(v)
Exception raised:
    Traceback (most recent call last):
      File "/usr/share/sagemath/local/bin/ncadoctest.py", line 1231, in run_one_test
        self.run_one_example(test, example, filename, compileflags)
      File "/usr/share/sagemath/local/bin/sagedoctest.py", line 38, in run_one_example
        OrigDocTestRunner.run_one_example(self, test, example, filename, compileflags)
      File "/usr/share/sagemath/local/bin/ncadoctest.py", line 1172, in run_one_example
        compileflags, 1) in test.globs
      File "<doctest __main__.example_9[3]>", line 1, in <module>
        line(v)###line 128:
    sage: line(v)
      File "/usr/lib64/python2.7/site-packages/sage/misc/displayhook.py", line 176, in displayhook
        print_obj(sys.stdout, obj)
      File "/usr/lib64/python2.7/site-packages/sage/misc/displayhook.py", line 144, in print_obj
        print >>out_stream, `obj`
      File "sage_object.pyx", line 154, in sage.structure.sage_object.SageObject.__repr__ (sage/structure/sage_object.c:1496)
      File "/usr/lib64/python2.7/site-packages/sage/plot/graphics.py", line 803, in _repr_
        self.show()
      File "/usr/lib64/python2.7/site-packages/sage/misc/decorators.py", line 456, in wrapper
        return func(*args, **kwds)
      File "/usr/lib64/python2.7/site-packages/sage/plot/graphics.py", line 1471, in show
        self.save(DOCTEST_MODE_FILE, **kwds)
      File "/usr/lib64/python2.7/site-packages/sage/misc/decorators.py", line 456, in wrapper
        return func(*args, **kwds)
      File "/usr/lib64/python2.7/site-packages/sage/plot/graphics.py", line 2211, in save
        figure.tight_layout()
    AttributeError: 'Figure' object has no attribute 'tight_layout'
**********************************************************************
9 items had failures:
   1 of   4 in __main__.example_0
   1 of   4 in __main__.example_1
   1 of   5 in __main__.example_11
   2 of   6 in __main__.example_2
   1 of   4 in __main__.example_3
   1 of   5 in __main__.example_4
   1 of   4 in __main__.example_5
   1 of   6 in __main__.example_7
   1 of   5 in __main__.example_9
***Test Failed*** 10 failures.
For whitespace errors, see the file /home/pcpa/.sage//tmp/tour_plotting_8918.py
         [4.0 s]
 
----------------------------------------------------------------------
The following tests failed:


        sage -t  "devel/doc/en/tutorial/tour_plotting.rst"
Total time for all tests: 4.0 seconds

Comment 1 Paulo Andrade 2012-07-03 15:31:40 UTC
I am working on attempting to provide a more sane matplotlib package, and just sent this email, but I do not have any insight on any previous communication of any involved part, sorry.

---%<---para gpc
Hi,

  I am working on a sagemath package for Fedora, and noticed that
there are several
doctest failures in my WIP package due to latest fedora having an
older matplotlib,
but it also appears the matplotlib build is made difficult due to the
agg24/include/agg_conv_gpc.h header file, that is removed from the tarball.

  I am not a lawyer, but I think it should be fair to redistribute it
in a free linux, but
maybe this is not very well understood in terms of free software.

  As I understand it, if you make the license state that it is also
free for commercial
products as long as the source is not modified, it should be ok.

  Sorry for the inconvenience.

  I am reworking the package to avoid not even distributing that header in the
upstream tarball added to the source rpm, and should comment, as well as
make a copy of this email to https://bugzilla.redhat.com/show_bug.cgi?id=837156

Many Thanks,
Paulo
---%<---

Comment 2 Paulo Andrade 2012-07-03 17:56:36 UTC
I got a response from upstream where they thank my message but state there is no plan to change the gpc license in any way. But this should not really be an issue as matplotlib only includes a header to interface to gpc, and a patch to disable it, so, I believe it is not required to regenerate the upstream tarball.

I remade a 1.1.0 package (not 1.1.1 due to missing mpl_sampledata-1.1.1.tar.gz) and now sagemath doctest works correctly:

---%<---
$ sage -t /usr/share/sagemath/devel/doc/en/tutorial/tour_plotting.rst
sage -t  "devel/doc/en/tutorial/tour_plotting.rst"          
         [17.7 s]
 
----------------------------------------------------------------------
All tests passed!
Total time for all tests: 17.7 seconds
---%<---

I would also suggest making a few extra changes like %defattr, %clean and Buildroot removal, and branching 1.1.0 to rawhide or newer.

Suggested package update:
Spec URL: http://fedorapeople.org/~pcpa/python-matplotlib.spec
SRPM URL: http://fedorapeople.org/~pcpa/python-matplotlib-1.1.0-1.fc18.src.rpm

Comment 3 Jef Spaleta 2012-07-03 23:49:43 UTC
thanks for the edits. I'm going to be trying to find the cycles to update the packaging for matplotlib,scipy and related this weekend.

-jef

Comment 4 Jerry James 2012-08-17 23:10:09 UTC
It looks like Jef won't be around for awhile: http://lists.fedoraproject.org/pipermail/devel/2012-August/170690.html.  I'd like to suggest a few more changes, and a way to update to version 1.1.1:

Spec URL: http://jjames.fedorapeople.org/python-matplotlib/python-matplotlib.spec
SRPM URL: http://jjames.fedorapeople.org/python-matplotlib/python-matplotlib-1.1.1-1.fc19.src.rpm

If that looks acceptable, I'll try rebuilding all dependencies of python-matplotlib against it next week.  If the dependencies seem to build and work okay, then I guess we'll have to go ahead without Jef for now.

Comment 5 Paulo Andrade 2012-08-18 02:26:33 UTC
I will try to have a more complete look at it. I only did
carefully look at it when proposing upgrade to 1.1.0,
but now, attempting to build your proposed 1.1.1 it fails
when building documentation, what could have been a
side effect of other rawhide updates, but more likely
the fact that I did use plain rpmbuild and not build
in a clean chroot:

[...]
+ pushd doc
~/rpmbuild/BUILD/matplotlib-1.1.1/doc ~/rpmbuild/BUILD/matplotlib-1.1.1
++ find /home/pcpa/rpmbuild/BUILD -name 'lib.linux*'
+ export 'PYTHONPATH=/home/pcpa/rpmbuild/BUILD/matplotlib-1.1.1/build/lib.linux-x86_64-2.7
/home/pcpa/rpmbuild/BUILD/sage-5.2/spkg/build/sage-5.2/build/lib.linux-x86_64-2.7
/home/pcpa/rpmbuild/BUILD/sage-5.2/spkg/build/cython-0.17pre/src/build/lib.linux-x86_64-2.7
/home/pcpa/rpmbuild/BUILD/matplotlib-1.1.0/build/lib.linux-x86_64-2.7'
+ PYTHONPATH='/home/pcpa/rpmbuild/BUILD/matplotlib-1.1.1/build/lib.linux-x86_64-2.7
/home/pcpa/rpmbuild/BUILD/sage-5.2/spkg/build/sage-5.2/build/lib.linux-x86_64-2.7
/home/pcpa/rpmbuild/BUILD/sage-5.2/spkg/build/cython-0.17pre/src/build/lib.linux-x86_64-2.7
/home/pcpa/rpmbuild/BUILD/matplotlib-1.1.0/build/lib.linux-x86_64-2.7'
+ /usr/bin/python2 make.py --small html
Running Sphinx v1.1.3

Exception occurred:
  File "/home/pcpa/rpmbuild/BUILD/matplotlib-1.1.1/doc/conf.py", line 188, in <module>
    """ % matplotlib.__version__numpy__
AttributeError: 'module' object has no attribute '__version__numpy__'
The full traceback has been saved in /tmp/sphinx-err-xnUEpB.log, if you want to report the issue to the developers.
Please also report this if it was a user error, so that a better error message can be provided next time.
Either send bugs to the mailing list at <http://groups.google.com/group/sphinx-dev/>,
or report them in the tracker at <http://bitbucket.org/birkenfeld/sphinx/issues/>. Thanks!
Building HTML failed.
+ sed -i 's/\r//' build/html/_sources/devel/add_new_projection.txt
sed: can't read build/html/_sources/devel/add_new_projection.txt: No such file or directory
error: Bad exit status from /var/tmp/rpm-tmp.Eh24l1 (%build)


$ cat /tmp/sphinx-err-xnUEpB.log
# Sphinx version: 1.1.3
# Python version: 2.7.3
# Docutils version: 0.10 repository
# Jinja2 version: 2.6
Traceback (most recent call last):
  File "/usr/lib/python2.7/site-packages/sphinx/cmdline.py", line 188, in main
    warningiserror, tags)
  File "/usr/lib/python2.7/site-packages/sphinx/application.py", line 102, in __init__
    confoverrides or {}, self.tags)
  File "/usr/lib/python2.7/site-packages/sphinx/config.py", line 216, in __init__
    exec code in config
  File "/home/pcpa/rpmbuild/BUILD/matplotlib-1.1.1/doc/conf.py", line 188, in <module>
    """ % matplotlib.__version__numpy__
AttributeError: 'module' object has no attribute '__version__numpy__'

Comment 6 Gwyn Ciesla 2012-08-18 15:43:57 UTC
I'm happy to help commit once you have something worked up, or troubleshoot if you get stuck.

Comment 7 Paulo Andrade 2012-08-20 13:00:37 UTC
Sorry I did not look at it further in the weekend,
but the problem was not Jerry patch, but existing
logic in the spec file, that is not safe to use
if one builds several packages with rpmbuild, the
problem is the line:


[...]
pushd doc
# Set PYTHONPATH in order to use the just built modules
export PYTHONPATH=`find %{_builddir} -name lib.linux*`
[...]

that was including my sagemath builds and getting
confused, probably due to some name clash.

I believe due to the fact that in my sagemath builds,
by default it builds an internal cython to build the
modules; I had too many trouble in the past using
system cython, so, delaying patching/debugging for
when having an actual sagemath review.

Comment 8 Paulo Andrade 2012-08-21 00:58:18 UTC
Still fails after removing the sagemath build, should be
related to https://github.com/matplotlib/matplotlib/issues/823

Nevertheless, it builds fine with mock, so, needs a clean
chroot, probably without a system python-matplotlib of
an older version (1.10 in my case) installed.

Should be worth investing some time to make a plain
rpmbuild work, but only for the sake of testing and
if not too much time consuming (I think).

For my intend use, appears to work fine:

$ rpm -q python-matplotlib sagemath
python-matplotlib-1.1.1-1.fc19.x86_64
sagemath-5.2-1.fc18.x86_64
$ sage -t /usr/share/sagemath/devel/doc/en/tutorial/tour_plotting.rst
sage -t  "devel/doc/en/tutorial/tour_plotting.rst"          
         [9.1 s]
 
----------------------------------------------------------------------
All tests passed!
Total time for all tests: 9.1 seconds

Comment 9 Jerry James 2012-08-21 20:40:19 UTC
Great.  I'm going to try to look at the other users of matplotlib in Fedora this week, to try to avoid breaking stuff gratuitously.  Breaking stuff is fine as long as it isn't gratuitous. :-)

Comment 10 Jef Spaleta 2012-08-22 05:01:45 UTC
I want to thank all of you for pushing ahead and getting this updated without blocking on me.  I don't have a lot of bandwidth here, but I just wanted to let you know that I appreciate the work to fill in for me on this package.   

As soon as I get off the island "paradise" I'm making it a priority to follow up on the matplotlib work your doing and address any thing that has still fallen through the cracks.

-jef

Comment 11 Jerry James 2012-08-23 21:14:40 UTC
Good to see you're still around, Jef.  I hope you're enjoying the warm weather. :-)

Note to all: I haven't had time this week to see if this update breaks anything, after all, and I likely won't tomorrow either.  If my repoquery-fu is up to the task, I think we need to check these packages:

APLpy
anki
ipython
openerp-client
oscilloscope
pondus
python-basemap
python-cvxopt-examples (my package; if it breaks, I'll fix it)
python-nltk
python-pebl
pytrainer
reinteract
rootplot
scitools-extras
seekwatcher

If interested parties can try these packages with the package from comment 4 and post here whether each (a) builds, and (b) works, that would be very helpful.

Comment 12 Gwyn Ciesla 2012-09-04 17:56:48 UTC
*** Bug 753210 has been marked as a duplicate of this bug. ***

Comment 13 Henrique C. S. Junior 2012-09-06 23:44:21 UTC
Hi, folks,I'm doing some tests with the packages from "Comment 11".
APLpy seems to be broken by matplotlib 1.1.1.
Here are the warnings when trying a basic plot:
------------------------

In [1]: import aplpy

In [2]: fig = aplpy.FITSFigure('myimage.fits')
---------------------------------------------------------------------------
SingularMatrixError                       Traceback (most recent call last)
/usr/lib64/python2.7/site-packages/matplotlib/backends/backend_gtk.pyc in expose_event(self, widget, event)
    396                 x, y, w, h = self.allocation
    397                 self._pixmap_prepare (w, h)
--> 398                 self._render_figure(self._pixmap, w, h)
    399                 self._need_redraw = False
    400 

/usr/lib64/python2.7/site-packages/matplotlib/backends/backend_gtkagg.pyc in _render_figure(self, pixmap, width, height)
     73     def _render_figure(self, pixmap, width, height):
     74         if DEBUG: print 'FigureCanvasGTKAgg.render_figure'
---> 75         FigureCanvasAgg.draw(self)
     76         if DEBUG: print 'FigureCanvasGTKAgg.render_figure pixmap', pixmap
     77         #agg_to_gtk_drawable(pixmap, self.renderer._renderer, None)


/usr/lib64/python2.7/site-packages/matplotlib/backends/backend_agg.pyc in draw(self)
    419 
    420         try:
--> 421             self.figure.draw(self.renderer)
    422         finally:
    423             RendererAgg.lock.release()

/usr/lib64/python2.7/site-packages/matplotlib/artist.pyc in draw_wrapper(artist, renderer, *args, **kwargs)
     53     def draw_wrapper(artist, renderer, *args, **kwargs):
     54         before(artist, renderer)
---> 55         draw(artist, renderer, *args, **kwargs)
     56         after(artist, renderer)
     57 

/usr/lib64/python2.7/site-packages/matplotlib/figure.pyc in draw(self, renderer)
    896         dsu.sort(key=itemgetter(0))
    897         for zorder, a, func, args in dsu:
--> 898             func(*args)
    899 
    900         renderer.close_group('figure')

/usr/lib64/python2.7/site-packages/mpl_toolkits/axes_grid1/parasite_axes.pyc in draw(self, renderer)
    290             self.artists.extend(artists)
    291 
--> 292         self._get_base_axes_attr("draw")(self, renderer)
    293         self.artists = orig_artists
    294         self.images = orig_images

/usr/lib64/python2.7/site-packages/mpl_toolkits/axisartist/axislines.pyc in draw(self, renderer, inframe)
    723 
    724         if not self._axisline_on:
--> 725             super(Axes, self).draw(renderer, inframe)
    726             return
    727 

/usr/lib64/python2.7/site-packages/matplotlib/artist.pyc in draw_wrapper(artist, renderer, *args, **kwargs)
     53     def draw_wrapper(artist, renderer, *args, **kwargs):
     54         before(artist, renderer)
---> 55         draw(artist, renderer, *args, **kwargs)
     56         after(artist, renderer)
     57 

/usr/lib64/python2.7/site-packages/matplotlib/axes.pyc in draw(self, renderer, inframe)
   1995 
   1996         for zorder, a in dsu:
-> 1997             a.draw(renderer)
   1998 
   1999         renderer.close_group('axes')

/usr/lib64/python2.7/site-packages/matplotlib/artist.pyc in draw_wrapper(artist, renderer, *args, **kwargs)
     53     def draw_wrapper(artist, renderer, *args, **kwargs):
     54         before(artist, renderer)
---> 55         draw(artist, renderer, *args, **kwargs)
     56         after(artist, renderer)
     57 

/usr/lib64/python2.7/site-packages/matplotlib/axis.pyc in draw(self, renderer, *args, **kwargs)
   1039         renderer.open_group(__name__)
   1040 
-> 1041         ticks_to_draw = self._update_ticks(renderer)
   1042         ticklabelBoxes, ticklabelBoxes2 = self._get_tick_bboxes(ticks_to_draw, renderer)
   1043 

/usr/lib64/python2.7/site-packages/matplotlib/axis.pyc in _update_ticks(self, renderer)
    929 
    930         interval = self.get_view_interval()
--> 931         tick_tups = [ t for t in self.iter_ticks()]
    932         if self._smart_bounds:
    933             # handle inverted limits


/usr/lib64/python2.7/site-packages/matplotlib/axis.pyc in iter_ticks(self)
    876         Iterate through all of the major and minor ticks.
    877         """
--> 878         majorLocs = self.major.locator()
    879         majorTicks = self.get_major_ticks(len(majorLocs))
    880         self.major.formatter.set_locs(majorLocs)

/usr/lib/python2.7/site-packages/aplpy/ticks.pyc in __call__(self)
    309 
    310         if self.axis.apl_auto_tick_spacing:
--> 311             self.axis.apl_tick_spacing = default_spacing(self.axis.get_axes(), self.coord, self.axis.apl_label_form)
    312             if self.axis.apl_tick_spacing is None:
    313                 self.axis.apl_tick_positions_pix = []

/usr/lib/python2.7/site-packages/aplpy/ticks.pyc in default_spacing(ax, coord, format)
    347     ymin, ymax = ax.yaxis.get_view_interval()
    348 
--> 349     px, py, wx, wy = axis_positions(wcs, coord, False, xmin=xmin, xmax=xmax, ymin=ymin, ymax=ymax)
    350 
    351     # Keep only pixels that fall inside the sky. This will only really work


/usr/lib/python2.7/site-packages/aplpy/ticks.pyc in axis_positions(wcs, axis, farside, xmin, xmax, ymin, ymax)
    570 
    571     # Convert these to world coordinates

--> 572     x_world, y_world = wcs_util.pix2world(wcs, x_pix, y_pix)
    573 
    574     return x_pix, y_pix, x_world, y_world

/usr/lib/python2.7/site-packages/aplpy/wcs_util.pyc in pix2world(wcs, x_pix, y_pix)
    457         return x_world.tolist(), y_world.tolist()
    458     elif type(x_pix) in [np.ndarray, np.core.records.recarray, np.ma.core.MaskedArray]:
--> 459         return wcs.wcs_pix2sky(x_pix, y_pix, 1)
    460     else:
    461         raise Exception("pix2world should be provided either with two scalars, two lists, or two numpy arrays")

/usr/lib/python2.7/site-packages/aplpy/wcs_util.pyc in wcs_pix2sky(self, x, y, origin)
    141                 return yw, xw
    142             else:
--> 143                 return pywcs.WCS.wcs_pix2sky(self, x, y, origin)
    144         else:
    145             coords = []

/usr/lib64/python2.7/site-packages/pywcs/pywcs.pyc in wcs_pix2sky(self, *args, **kwargs)
    700             raise ValueError("No basic WCS settings were created.")
    701         return self._array_converter(lambda xy, o: self.wcs.p2s(xy, o)['world'],
--> 702                                      'output', *args, **kwargs)
    703     wcs_pix2sky.__doc__ = """
    704         Transforms pixel coordinates to sky coordinates by doing only

/usr/lib64/python2.7/site-packages/pywcs/pywcs.pyc in _array_converter(self, func, sky, *args, **kwargs)
    633             if ra_dec_order and sky == 'input':
    634                 xy = self._denormalize_sky(xy)
--> 635             sky = func(xy, origin)
    636             if ra_dec_order and sky == 'output':
    637                 sky = self._normalize_sky_output(sky)

/usr/lib64/python2.7/site-packages/pywcs/pywcs.pyc in <lambda>(xy, o)
    699         if self.wcs is None:
    700             raise ValueError("No basic WCS settings were created.")
--> 701         return self._array_converter(lambda xy, o: self.wcs.p2s(xy, o)['world'],
    702                                      'output', *args, **kwargs)
    703     wcs_pix2sky.__doc__ = """

SingularMatrixError: ERROR 3 in wcsset() at line 1661 of file wcs.c:
Singular transformation matrix, CDELT1 is zero.

---------------------------------------------------------------------------
SingularMatrixError                       Traceback (most recent call last)
/home/lonely/Downloads/APLpy-example/<ipython-input-2-f4c412032d7a> in <module>()
----> 1 fig = aplpy.FITSFigure('myimage.fits')

/home/lonely/Downloads/APLpy-example/<string> in __init__(self, data, hdu, figure, subplot, downsample, north, convention, dimensions, slices, auto_refresh, **kwargs)

/usr/lib/python2.7/site-packages/aplpy/decorators.pyc in _auto_refresh(f, *args, **kwargs)
     21     mydata.nesting = getattr(mydata, 'nesting', 0) + 1
     22     try:
---> 23         f(*args, **kwargs)
     24     finally:
     25         mydata.nesting -= 1

/usr/lib/python2.7/site-packages/aplpy/aplpy.pyc in __init__(self, data, hdu, figure, subplot, downsample, north, convention, dimensions, slices, auto_refresh, **kwargs)
    292 
    293         # Set default theme

--> 294         self.set_theme(theme='pretty')
    295 
    296     def _get_hdu(self, data, hdu, north, convention=None, dimensions=[0, 1], slices=[]):

/home/lonely/Downloads/APLpy-example/<string> in set_theme(self, theme)

/usr/lib/python2.7/site-packages/aplpy/decorators.pyc in _auto_refresh(f, *args, **kwargs)
     21     mydata.nesting = getattr(mydata, 'nesting', 0) + 1
     22     try:
---> 23         f(*args, **kwargs)
     24     finally:
     25         mydata.nesting -= 1

/usr/lib/python2.7/site-packages/aplpy/aplpy.pyc in set_theme(self, theme)
   1564             self.frame.set_color('black')
   1565             self.frame.set_linewidth(1.0)
-> 1566             self.ticks.set_color('white')
   1567             self.ticks.set_length(7)
   1568             self._figure.apl_grayscale_invert_default = False

/home/lonely/Downloads/APLpy-example/<string> in set_color(self, color)

/usr/lib/python2.7/site-packages/aplpy/decorators.pyc in _auto_refresh(f, *args, **kwargs)
     21     mydata.nesting = getattr(mydata, 'nesting', 0) + 1
     22     try:
---> 23         f(*args, **kwargs)
     24     finally:
     25         mydata.nesting -= 1

/usr/lib/python2.7/site-packages/aplpy/ticks.pyc in set_color(self, color)
    133 
    134         # Major ticks

--> 135         for line in self._ax1.xaxis.get_ticklines():
    136             line.set_color(color)
    137         for line in self._ax1.yaxis.get_ticklines():

/usr/lib64/python2.7/site-packages/matplotlib/axis.pyc in get_ticklines(self, minor)
   1131         if minor:
   1132             return self.get_minorticklines()
-> 1133         return self.get_majorticklines()
   1134 
   1135     def get_majorticklocs(self):

/usr/lib64/python2.7/site-packages/matplotlib/axis.pyc in get_majorticklines(self)
   1112         'Return the major tick lines as a list of Line2D instances'
   1113         lines = []
-> 1114         ticks = self.get_major_ticks()
   1115         for tick in ticks:
   1116             lines.append(tick.tick1line)

/usr/lib64/python2.7/site-packages/matplotlib/axis.pyc in get_major_ticks(self, numticks)
   1189         'get the tick instances; grow as necessary'
   1190         if numticks is None:
-> 1191             numticks = len(self.get_major_locator()())
   1192         if len(self.majorTicks) < numticks:
   1193             # update the new tick label properties from the old


/usr/lib/python2.7/site-packages/aplpy/ticks.pyc in __call__(self)
    309 
    310         if self.axis.apl_auto_tick_spacing:
--> 311             self.axis.apl_tick_spacing = default_spacing(self.axis.get_axes(), self.coord, self.axis.apl_label_form)
    312             if self.axis.apl_tick_spacing is None:
    313                 self.axis.apl_tick_positions_pix = []

/usr/lib/python2.7/site-packages/aplpy/ticks.pyc in default_spacing(ax, coord, format)
    347     ymin, ymax = ax.yaxis.get_view_interval()
    348 
--> 349     px, py, wx, wy = axis_positions(wcs, coord, False, xmin=xmin, xmax=xmax, ymin=ymin, ymax=ymax)
    350 
    351     # Keep only pixels that fall inside the sky. This will only really work


/usr/lib/python2.7/site-packages/aplpy/ticks.pyc in axis_positions(wcs, axis, farside, xmin, xmax, ymin, ymax)
    570 
    571     # Convert these to world coordinates

--> 572     x_world, y_world = wcs_util.pix2world(wcs, x_pix, y_pix)
    573 
    574     return x_pix, y_pix, x_world, y_world

/usr/lib/python2.7/site-packages/aplpy/wcs_util.pyc in pix2world(wcs, x_pix, y_pix)
    457         return x_world.tolist(), y_world.tolist()
    458     elif type(x_pix) in [np.ndarray, np.core.records.recarray, np.ma.core.MaskedArray]:
--> 459         return wcs.wcs_pix2sky(x_pix, y_pix, 1)
    460     else:
    461         raise Exception("pix2world should be provided either with two scalars, two lists, or two numpy arrays")

/usr/lib/python2.7/site-packages/aplpy/wcs_util.pyc in wcs_pix2sky(self, x, y, origin)
    141                 return yw, xw
    142             else:
--> 143                 return pywcs.WCS.wcs_pix2sky(self, x, y, origin)
    144         else:
    145             coords = []

/usr/lib64/python2.7/site-packages/pywcs/pywcs.pyc in wcs_pix2sky(self, *args, **kwargs)
    700             raise ValueError("No basic WCS settings were created.")
    701         return self._array_converter(lambda xy, o: self.wcs.p2s(xy, o)['world'],
--> 702                                      'output', *args, **kwargs)
    703     wcs_pix2sky.__doc__ = """
    704         Transforms pixel coordinates to sky coordinates by doing only

/usr/lib64/python2.7/site-packages/pywcs/pywcs.pyc in _array_converter(self, func, sky, *args, **kwargs)
    633             if ra_dec_order and sky == 'input':
    634                 xy = self._denormalize_sky(xy)
--> 635             sky = func(xy, origin)
    636             if ra_dec_order and sky == 'output':
    637                 sky = self._normalize_sky_output(sky)

/usr/lib64/python2.7/site-packages/pywcs/pywcs.pyc in <lambda>(xy, o)
    699         if self.wcs is None:
    700             raise ValueError("No basic WCS settings were created.")
--> 701         return self._array_converter(lambda xy, o: self.wcs.p2s(xy, o)['world'],
    702                                      'output', *args, **kwargs)
    703     wcs_pix2sky.__doc__ = """

SingularMatrixError: ERROR 3 in wcsset() at line 1661 of file wcs.c:
Singular transformation matrix, CDELT1 is zero.


In [3]: Traceback (most recent call last):
  File "/usr/lib64/python2.7/site-packages/matplotlib/backends/backend_gtk.py", line 398, in expose_event
    self._render_figure(self._pixmap, w, h)
  File "/usr/lib64/python2.7/site-packages/matplotlib/backends/backend_gtkagg.py", line 75, in _render_figure
    FigureCanvasAgg.draw(self)
  File "/usr/lib64/python2.7/site-packages/matplotlib/backends/backend_agg.py", line 421, in draw
    self.figure.draw(self.renderer)
  File "/usr/lib64/python2.7/site-packages/matplotlib/artist.py", line 55, in draw_wrapper
    draw(artist, renderer, *args, **kwargs)
  File "/usr/lib64/python2.7/site-packages/matplotlib/figure.py", line 898, in draw
    func(*args)
  File "/usr/lib64/python2.7/site-packages/mpl_toolkits/axes_grid1/parasite_axes.py", line 292, in draw
    self._get_base_axes_attr("draw")(self, renderer)
  File "/usr/lib64/python2.7/site-packages/mpl_toolkits/axisartist/axislines.py", line 725, in draw
    super(Axes, self).draw(renderer, inframe)
  File "/usr/lib64/python2.7/site-packages/matplotlib/artist.py", line 55, in draw_wrapper
    draw(artist, renderer, *args, **kwargs)
  File "/usr/lib64/python2.7/site-packages/matplotlib/axes.py", line 1997, in draw
    a.draw(renderer)
  File "/usr/lib64/python2.7/site-packages/matplotlib/artist.py", line 55, in draw_wrapper
    draw(artist, renderer, *args, **kwargs)
  File "/usr/lib64/python2.7/site-packages/matplotlib/axis.py", line 1041, in draw
    ticks_to_draw = self._update_ticks(renderer)
  File "/usr/lib64/python2.7/site-packages/matplotlib/axis.py", line 931, in _update_ticks
    tick_tups = [ t for t in self.iter_ticks()]
  File "/usr/lib64/python2.7/site-packages/matplotlib/axis.py", line 878, in iter_ticks
    majorLocs = self.major.locator()
  File "/usr/lib/python2.7/site-packages/aplpy/ticks.py", line 311, in __call__
    self.axis.apl_tick_spacing = default_spacing(self.axis.get_axes(), self.coord, self.axis.apl_label_form)
  File "/usr/lib/python2.7/site-packages/aplpy/ticks.py", line 349, in default_spacing
    px, py, wx, wy = axis_positions(wcs, coord, False, xmin=xmin, xmax=xmax, ymin=ymin, ymax=ymax)
  File "/usr/lib/python2.7/site-packages/aplpy/ticks.py", line 572, in axis_positions
    x_world, y_world = wcs_util.pix2world(wcs, x_pix, y_pix)
  File "/usr/lib/python2.7/site-packages/aplpy/wcs_util.py", line 459, in pix2world
    return wcs.wcs_pix2sky(x_pix, y_pix, 1)
  File "/usr/lib/python2.7/site-packages/aplpy/wcs_util.py", line 143, in wcs_pix2sky
    return pywcs.WCS.wcs_pix2sky(self, x, y, origin)
  File "/usr/lib64/python2.7/site-packages/pywcs/pywcs.py", line 702, in wcs_pix2sky
    'output', *args, **kwargs)
  File "/usr/lib64/python2.7/site-packages/pywcs/pywcs.py", line 635, in _array_converter
    sky = func(xy, origin)
  File "/usr/lib64/python2.7/site-packages/pywcs/pywcs.py", line 701, in <lambda>
    return self._array_converter(lambda xy, o: self.wcs.p2s(xy, o)['world'],
SingularMatrixError: ERROR 3 in wcsset() at line 1661 of file wcs.c:
Singular transformation matrix, CDELT1 is zero.


If you suspect this is an IPython bug, please report it at:
    https://github.com/ipython/ipython/issues
or send an email to the mailing list at ipython-dev

You can print a more detailed traceback right now with "%tb", or use "%debug"
to interactively debug it.

Extra-detailed tracebacks for bug-reporting purposes can be enabled via:
    %config Application.verbose_crash=True

Traceback (most recent call last):
  File "/usr/lib64/python2.7/site-packages/matplotlib/backends/backend_gtk.py", line 398, in expose_event
    self._render_figure(self._pixmap, w, h)
  File "/usr/lib64/python2.7/site-packages/matplotlib/backends/backend_gtkagg.py", line 75, in _render_figure
    FigureCanvasAgg.draw(self)
  File "/usr/lib64/python2.7/site-packages/matplotlib/backends/backend_agg.py", line 421, in draw
    self.figure.draw(self.renderer)
  File "/usr/lib64/python2.7/site-packages/matplotlib/artist.py", line 55, in draw_wrapper
    draw(artist, renderer, *args, **kwargs)
  File "/usr/lib64/python2.7/site-packages/matplotlib/figure.py", line 898, in draw
    func(*args)
  File "/usr/lib64/python2.7/site-packages/mpl_toolkits/axes_grid1/parasite_axes.py", line 292, in draw
    self._get_base_axes_attr("draw")(self, renderer)
  File "/usr/lib64/python2.7/site-packages/mpl_toolkits/axisartist/axislines.py", line 725, in draw
    super(Axes, self).draw(renderer, inframe)
  File "/usr/lib64/python2.7/site-packages/matplotlib/artist.py", line 55, in draw_wrapper
    draw(artist, renderer, *args, **kwargs)
  File "/usr/lib64/python2.7/site-packages/matplotlib/axes.py", line 1997, in draw
    a.draw(renderer)
  File "/usr/lib64/python2.7/site-packages/matplotlib/artist.py", line 55, in draw_wrapper
    draw(artist, renderer, *args, **kwargs)
  File "/usr/lib64/python2.7/site-packages/matplotlib/axis.py", line 1041, in draw
    ticks_to_draw = self._update_ticks(renderer)
  File "/usr/lib64/python2.7/site-packages/matplotlib/axis.py", line 931, in _update_ticks
    tick_tups = [ t for t in self.iter_ticks()]
  File "/usr/lib64/python2.7/site-packages/matplotlib/axis.py", line 878, in iter_ticks
    majorLocs = self.major.locator()
  File "/usr/lib/python2.7/site-packages/aplpy/ticks.py", line 311, in __call__
    self.axis.apl_tick_spacing = default_spacing(self.axis.get_axes(), self.coord, self.axis.apl_label_form)
  File "/usr/lib/python2.7/site-packages/aplpy/ticks.py", line 349, in default_spacing
    px, py, wx, wy = axis_positions(wcs, coord, False, xmin=xmin, xmax=xmax, ymin=ymin, ymax=ymax)
  File "/usr/lib/python2.7/site-packages/aplpy/ticks.py", line 572, in axis_positions
    x_world, y_world = wcs_util.pix2world(wcs, x_pix, y_pix)
  File "/usr/lib/python2.7/site-packages/aplpy/wcs_util.py", line 459, in pix2world
    return wcs.wcs_pix2sky(x_pix, y_pix, 1)
  File "/usr/lib/python2.7/site-packages/aplpy/wcs_util.py", line 143, in wcs_pix2sky
    return pywcs.WCS.wcs_pix2sky(self, x, y, origin)
  File "/usr/lib64/python2.7/site-packages/pywcs/pywcs.py", line 702, in wcs_pix2sky
    'output', *args, **kwargs)
  File "/usr/lib64/python2.7/site-packages/pywcs/pywcs.py", line 635, in _array_converter
    sky = func(xy, origin)
  File "/usr/lib64/python2.7/site-packages/pywcs/pywcs.py", line 701, in <lambda>
    return self._array_converter(lambda xy, o: self.wcs.p2s(xy, o)['world'],
SingularMatrixError: ERROR 3 in wcsset() at line 1661 of file wcs.c:
Singular transformation matrix, CDELT1 is zero.


If you suspect this is an IPython bug, please report it at:
    https://github.com/ipython/ipython/issues
or send an email to the mailing list at ipython-dev

You can print a more detailed traceback right now with "%tb", or use "%debug"
to interactively debug it.

Extra-detailed tracebacks for bug-reporting purposes can be enabled via:
    %config Application.verbose_crash=True

Traceback (most recent call last):
  File "/usr/lib64/python2.7/site-packages/matplotlib/backends/backend_gtk.py", line 398, in expose_event
    self._render_figure(self._pixmap, w, h)
  File "/usr/lib64/python2.7/site-packages/matplotlib/backends/backend_gtkagg.py", line 75, in _render_figure
    FigureCanvasAgg.draw(self)
  File "/usr/lib64/python2.7/site-packages/matplotlib/backends/backend_agg.py", line 421, in draw
    self.figure.draw(self.renderer)
  File "/usr/lib64/python2.7/site-packages/matplotlib/artist.py", line 55, in draw_wrapper
    draw(artist, renderer, *args, **kwargs)
  File "/usr/lib64/python2.7/site-packages/matplotlib/figure.py", line 898, in draw
    func(*args)
  File "/usr/lib64/python2.7/site-packages/mpl_toolkits/axes_grid1/parasite_axes.py", line 292, in draw
    self._get_base_axes_attr("draw")(self, renderer)
  File "/usr/lib64/python2.7/site-packages/mpl_toolkits/axisartist/axislines.py", line 725, in draw
    super(Axes, self).draw(renderer, inframe)
  File "/usr/lib64/python2.7/site-packages/matplotlib/artist.py", line 55, in draw_wrapper
    draw(artist, renderer, *args, **kwargs)
  File "/usr/lib64/python2.7/site-packages/matplotlib/axes.py", line 1997, in draw
    a.draw(renderer)
  File "/usr/lib64/python2.7/site-packages/matplotlib/artist.py", line 55, in draw_wrapper
    draw(artist, renderer, *args, **kwargs)
  File "/usr/lib64/python2.7/site-packages/matplotlib/axis.py", line 1041, in draw
    ticks_to_draw = self._update_ticks(renderer)
  File "/usr/lib64/python2.7/site-packages/matplotlib/axis.py", line 931, in _update_ticks
    tick_tups = [ t for t in self.iter_ticks()]
  File "/usr/lib64/python2.7/site-packages/matplotlib/axis.py", line 878, in iter_ticks
    majorLocs = self.major.locator()
  File "/usr/lib/python2.7/site-packages/aplpy/ticks.py", line 311, in __call__
    self.axis.apl_tick_spacing = default_spacing(self.axis.get_axes(), self.coord, self.axis.apl_label_form)
  File "/usr/lib/python2.7/site-packages/aplpy/ticks.py", line 349, in default_spacing
    px, py, wx, wy = axis_positions(wcs, coord, False, xmin=xmin, xmax=xmax, ymin=ymin, ymax=ymax)
  File "/usr/lib/python2.7/site-packages/aplpy/ticks.py", line 572, in axis_positions
    x_world, y_world = wcs_util.pix2world(wcs, x_pix, y_pix)
  File "/usr/lib/python2.7/site-packages/aplpy/wcs_util.py", line 459, in pix2world
    return wcs.wcs_pix2sky(x_pix, y_pix, 1)
  File "/usr/lib/python2.7/site-packages/aplpy/wcs_util.py", line 143, in wcs_pix2sky
    return pywcs.WCS.wcs_pix2sky(self, x, y, origin)
  File "/usr/lib64/python2.7/site-packages/pywcs/pywcs.py", line 702, in wcs_pix2sky
    'output', *args, **kwargs)
  File "/usr/lib64/python2.7/site-packages/pywcs/pywcs.py", line 635, in _array_converter
    sky = func(xy, origin)
  File "/usr/lib64/python2.7/site-packages/pywcs/pywcs.py", line 701, in <lambda>
    return self._array_converter(lambda xy, o: self.wcs.p2s(xy, o)['world'],
SingularMatrixError: ERROR 3 in wcsset() at line 1661 of file wcs.c:
Singular transformation matrix, CDELT1 is zero.


If you suspect this is an IPython bug, please report it at:
    https://github.com/ipython/ipython/issues
or send an email to the mailing list at ipython-dev

You can print a more detailed traceback right now with "%tb", or use "%debug"
to interactively debug it.

Extra-detailed tracebacks for bug-reporting purposes can be enabled via:
    %config Application.verbose_crash=True

Comment 14 Paulo Andrade 2012-09-08 21:00:58 UTC
(In reply to comment #13)
> Hi, folks,I'm doing some tests with the packages from "Comment 11".
> APLpy seems to be broken by matplotlib 1.1.1.
> Here are the warnings when trying a basic plot:
> ------------------------
> 
> In [1]: import aplpy
> 
> In [2]: fig = aplpy.FITSFigure('myimage.fits')
> ---------------------------------------------------------------------------
> SingularMatrixError                       Traceback (most recent call last)
> /usr/lib64/python2.7/site-packages/matplotlib/backends/backend_gtk.pyc in
> expose_event(self, widget, event)
>     396                 x, y, w, h = self.allocation
>     397                 self._pixmap_prepare (w, h)
> --> 398                 self._render_figure(self._pixmap, w, h)
[...]

I tested a simple "import aplpy;fig = aplpy.FITSFigure('some-image.fits')"
with some images from the net and it did not cause any error.
Can you post the sample image or a link to it?

Comment 15 Henrique C. S. Junior 2012-09-09 05:07:20 UTC
With pleasure: http://python4astronomers.github.com/_downloads/APLpy-example.tar
I just renamed one of the images to myimage to just copy and paste the provided examples.

Comment 16 Paulo Andrade 2012-09-09 16:32:23 UTC
Still works for me:

$ wget http://python4astronomers.github.com/_downloads/APLpy-example.tar
--2012-09-09 13:23:41--  http://python4astronomers.github.com/_downloads/APLpy-example.tar
Resolving python4astronomers.github.com... 204.232.175.78
Connecting to python4astronomers.github.com|204.232.175.78|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 7073280 (6.7M) [application/octet-stream]
Saving to: ‘APLpy-example.tar’

100%[======================================>] 7,073,280   1.70MB/s   in 5.4s   

2012-09-09 13:23:47 (1.25 MB/s) - ‘APLpy-example.tar’ saved [7073280/7073280]
$ tar xf APLpy-example.tar 
$ cd APLpy-example/
$ ls
ngc2264_cutout.fits  ngc2264_cutout_mips.fits
$ python
Python 2.7.3 (default, Aug  9 2012, 17:23:57) 
[GCC 4.7.1 20120720 (Red Hat 4.7.1-5)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import aplpy;fig = aplpy.FITSFigure('ngc2264_cutout.fits')
Fontconfig warning: "/etc/fonts/conf.d/50-user.conf", line 9: reading configurations from ~/.fonts.conf is deprecated.
>>> import aplpy;fig = aplpy.FITSFigure('ngc2264_cutout_mips.fits')
>>> 


$ rpm -q APLpy python-matplotlib
APLpy-0.9.8-2.fc18.noarch
python-matplotlib-1.1.1-1.fc19.x86_64

Comment 17 Henrique C. S. Junior 2012-09-09 21:06:08 UTC
Let me give it a try in another machiine and I return to you.

Comment 18 Paulo Andrade 2012-09-27 17:34:49 UTC
(In reply to comment #17)
> Let me give it a try in another machiine and I return to you.

Any news on this?
I think it can also be an issue requiring removal of ~/.matplotlib cache dir.

Comment 19 Henrique C. S. Junior 2012-09-27 17:45:25 UTC
Sorry for my delay (I was in a trip). I'll give it a try ASAP, but Matplotlib Devel has announced that "1.2.0rc2 is tagged and uploaded". Is there any chance that we're going to skip 1.1 and go 1.2 instead?

Comment 20 Henrique C. S. Junior 2012-09-28 14:36:13 UTC
There we go:
In my first feedback I was using APLpy inside ipython. This time, I'm trying to reproduce the same steps as pcpa (but in F17 and with rm -rf ~/.matplotlib). I've tried with matplotlib 1.0.1-19.fc17.x86_64 and with matplotlib-1.1.1-1.fc17.x86_64:

--matplotlib 1.0.1-19.fc17.x86_64-------------------------------------
>>> import aplpy
>>> fig = aplpy.FITSFigure('ngc2264_cutout.fits')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "<string>", line 2, in __init__
  File "/usr/lib/python2.7/site-packages/aplpy/decorators.py", line 23, in _auto_refresh
    f(*args, **kwargs)
  File "/usr/lib/python2.7/site-packages/aplpy/aplpy.py", line 294, in __init__
    self.set_theme(theme='pretty')
  File "<string>", line 2, in set_theme
  File "/usr/lib/python2.7/site-packages/aplpy/decorators.py", line 23, in _auto_refresh
    f(*args, **kwargs)
  File "/usr/lib/python2.7/site-packages/aplpy/aplpy.py", line 1566, in set_theme
    self.ticks.set_color('white')
  File "<string>", line 2, in set_color
  File "/usr/lib/python2.7/site-packages/aplpy/decorators.py", line 23, in _auto_refresh
    f(*args, **kwargs)
  File "/usr/lib/python2.7/site-packages/aplpy/ticks.py", line 135, in set_color
    for line in self._ax1.xaxis.get_ticklines():
  File "/usr/lib64/python2.7/site-packages/matplotlib/axis.py", line 1111, in get_ticklines
    return self.get_majorticklines()
  File "/usr/lib64/python2.7/site-packages/matplotlib/axis.py", line 1092, in get_majorticklines
    ticks = self.get_major_ticks()
  File "/usr/lib64/python2.7/site-packages/matplotlib/axis.py", line 1169, in get_major_ticks
    numticks = len(self.get_major_locator()())
  File "/usr/lib/python2.7/site-packages/aplpy/ticks.py", line 311, in __call__
    self.axis.apl_tick_spacing = default_spacing(self.axis.get_axes(), self.coord, self.axis.apl_label_form)
  File "/usr/lib/python2.7/site-packages/aplpy/ticks.py", line 349, in default_spacing
    px, py, wx, wy = axis_positions(wcs, coord, False, xmin=xmin, xmax=xmax, ymin=ymin, ymax=ymax)
  File "/usr/lib/python2.7/site-packages/aplpy/ticks.py", line 572, in axis_positions
    x_world, y_world = wcs_util.pix2world(wcs, x_pix, y_pix)
  File "/usr/lib/python2.7/site-packages/aplpy/wcs_util.py", line 459, in pix2world
    return wcs.wcs_pix2sky(x_pix, y_pix, 1)
  File "/usr/lib/python2.7/site-packages/aplpy/wcs_util.py", line 143, in wcs_pix2sky
    return pywcs.WCS.wcs_pix2sky(self, x, y, origin)
  File "/usr/lib64/python2.7/site-packages/pywcs/pywcs.py", line 702, in wcs_pix2sky
    'output', *args, **kwargs)
  File "/usr/lib64/python2.7/site-packages/pywcs/pywcs.py", line 635, in _array_converter
    sky = func(xy, origin)
  File "/usr/lib64/python2.7/site-packages/pywcs/pywcs.py", line 701, in <lambda>
    return self._array_converter(lambda xy, o: self.wcs.p2s(xy, o)['world'],
_pywcs.SingularMatrixError: ERROR 3 in wcsset() at line 1661 of file wcs.c:
Singular transformation matrix, CDELT1 is zero.

[lonely@localhost APLpy-example]$ rpm -q APLpy python-matplotlib
APLpy-0.9.8-1.fc17.noarch
python-matplotlib-1.0.1-19.fc17.x86_64
-------------------------------------------------------------------------------

--matplotlib-1.1.1-1.fc17.x86_64-------------------------------------
>>> import aplpy;fig = aplpy.FITSFigure('ngc2264_cutout.fits')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "<string>", line 2, in __init__
  File "/usr/lib/python2.7/site-packages/aplpy/decorators.py", line 23, in _auto_refresh
    f(*args, **kwargs)
  File "/usr/lib/python2.7/site-packages/aplpy/aplpy.py", line 294, in __init__
    self.set_theme(theme='pretty')
  File "<string>", line 2, in set_theme
  File "/usr/lib/python2.7/site-packages/aplpy/decorators.py", line 23, in _auto_refresh
    f(*args, **kwargs)
  File "/usr/lib/python2.7/site-packages/aplpy/aplpy.py", line 1566, in set_theme
    self.ticks.set_color('white')
  File "<string>", line 2, in set_color
  File "/usr/lib/python2.7/site-packages/aplpy/decorators.py", line 23, in _auto_refresh
    f(*args, **kwargs)
  File "/usr/lib/python2.7/site-packages/aplpy/ticks.py", line 135, in set_color
    for line in self._ax1.xaxis.get_ticklines():
  File "/usr/lib64/python2.7/site-packages/matplotlib/axis.py", line 1133, in get_ticklines
    return self.get_majorticklines()
  File "/usr/lib64/python2.7/site-packages/matplotlib/axis.py", line 1114, in get_majorticklines
    ticks = self.get_major_ticks()
  File "/usr/lib64/python2.7/site-packages/matplotlib/axis.py", line 1191, in get_major_ticks
    numticks = len(self.get_major_locator()())
  File "/usr/lib/python2.7/site-packages/aplpy/ticks.py", line 311, in __call__
    self.axis.apl_tick_spacing = default_spacing(self.axis.get_axes(), self.coord, self.axis.apl_label_form)
  File "/usr/lib/python2.7/site-packages/aplpy/ticks.py", line 349, in default_spacing
    px, py, wx, wy = axis_positions(wcs, coord, False, xmin=xmin, xmax=xmax, ymin=ymin, ymax=ymax)
  File "/usr/lib/python2.7/site-packages/aplpy/ticks.py", line 572, in axis_positions
    x_world, y_world = wcs_util.pix2world(wcs, x_pix, y_pix)
  File "/usr/lib/python2.7/site-packages/aplpy/wcs_util.py", line 459, in pix2world
    return wcs.wcs_pix2sky(x_pix, y_pix, 1)
  File "/usr/lib/python2.7/site-packages/aplpy/wcs_util.py", line 143, in wcs_pix2sky
    return pywcs.WCS.wcs_pix2sky(self, x, y, origin)
  File "/usr/lib64/python2.7/site-packages/pywcs/pywcs.py", line 702, in wcs_pix2sky
    'output', *args, **kwargs)
  File "/usr/lib64/python2.7/site-packages/pywcs/pywcs.py", line 635, in _array_converter
    sky = func(xy, origin)
  File "/usr/lib64/python2.7/site-packages/pywcs/pywcs.py", line 701, in <lambda>
    return self._array_converter(lambda xy, o: self.wcs.p2s(xy, o)['world'],
_pywcs.SingularMatrixError: ERROR 3 in wcsset() at line 1661 of file wcs.c:
Singular transformation matrix, CDELT1 is zero.


APLpy-0.9.8-1.fc17.noarch
python-matplotlib-1.1.1-1.fc17.x86_64
------------------------------------------------------------------------------

But you are running APLpy-0.9.8-2.fc18.noarch and I'm on APLpy-0.9.8-1.fc17.noarch.

Comment 21 Henrique C. S. Junior 2012-09-28 15:40:25 UTC
And, in my new updated F18 box:

>>> import aplpy;fig = aplpy.FITSFigure('ngc2264_cutout.fits')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "<string>", line 2, in __init__
  File "/usr/lib/python2.7/site-packages/aplpy/decorators.py", line 23, in _auto_refresh
    f(*args, **kwargs)
  File "/usr/lib/python2.7/site-packages/aplpy/aplpy.py", line 294, in __init__
    self.set_theme(theme='pretty')
  File "<string>", line 2, in set_theme
  File "/usr/lib/python2.7/site-packages/aplpy/decorators.py", line 23, in _auto_refresh
    f(*args, **kwargs)
  File "/usr/lib/python2.7/site-packages/aplpy/aplpy.py", line 1566, in set_theme
    self.ticks.set_color('white')
  File "<string>", line 2, in set_color
  File "/usr/lib/python2.7/site-packages/aplpy/decorators.py", line 23, in _auto_refresh
    f(*args, **kwargs)
  File "/usr/lib/python2.7/site-packages/aplpy/ticks.py", line 135, in set_color
    for line in self._ax1.xaxis.get_ticklines():
  File "/usr/lib64/python2.7/site-packages/matplotlib/axis.py", line 1133, in get_ticklines
    return self.get_majorticklines()
  File "/usr/lib64/python2.7/site-packages/matplotlib/axis.py", line 1114, in get_majorticklines
    ticks = self.get_major_ticks()
  File "/usr/lib64/python2.7/site-packages/matplotlib/axis.py", line 1191, in get_major_ticks
    numticks = len(self.get_major_locator()())
  File "/usr/lib/python2.7/site-packages/aplpy/ticks.py", line 311, in __call__
    self.axis.apl_tick_spacing = default_spacing(self.axis.get_axes(), self.coord, self.axis.apl_label_form)
  File "/usr/lib/python2.7/site-packages/aplpy/ticks.py", line 349, in default_spacing
    px, py, wx, wy = axis_positions(wcs, coord, False, xmin=xmin, xmax=xmax, ymin=ymin, ymax=ymax)
  File "/usr/lib/python2.7/site-packages/aplpy/ticks.py", line 572, in axis_positions
    x_world, y_world = wcs_util.pix2world(wcs, x_pix, y_pix)
  File "/usr/lib/python2.7/site-packages/aplpy/wcs_util.py", line 459, in pix2world
    return wcs.wcs_pix2sky(x_pix, y_pix, 1)
  File "/usr/lib/python2.7/site-packages/aplpy/wcs_util.py", line 143, in wcs_pix2sky
    return pywcs.WCS.wcs_pix2sky(self, x, y, origin)
  File "/usr/lib64/python2.7/site-packages/pywcs/pywcs.py", line 702, in wcs_pix2sky
    'output', *args, **kwargs)
  File "/usr/lib64/python2.7/site-packages/pywcs/pywcs.py", line 635, in _array_converter
    sky = func(xy, origin)
  File "/usr/lib64/python2.7/site-packages/pywcs/pywcs.py", line 701, in <lambda>
    return self._array_converter(lambda xy, o: self.wcs.p2s(xy, o)['world'],
_pywcs.SingularMatrixError: ERROR 3 in wcsset() at line 1693 of file wcs.c:
Singular transformation matrix, CDELT1 is zero.

Comment 22 Paulo Andrade 2012-09-28 18:40:23 UTC
(In reply to comment #21)
> And, in my new updated F18 box:
> 
> >>> import aplpy;fig = aplpy.FITSFigure('ngc2264_cutout.fits')
[...]
> _pywcs.SingularMatrixError: ERROR 3 in wcsset() at line 1693 of file wcs.c:
> Singular transformation matrix, CDELT1 is zero.

Do you have anything special in pywcs or wcslib by any chance?

Do you see something like this on f17?

$ ldd /usr/lib64/python2.7/site-packages/pywcs/_pywcs.so
        linux-vdso.so.1 =>  (0x00007fff4a9a9000)
        libwcs.so.4 => /lib64/libwcs.so.4 (0x00007fd19037d000)
        libm.so.6 => /lib64/libm.so.6 (0x00007fd190082000)
        libpython2.7.so.1.0 => /lib64/libpython2.7.so.1.0 (0x00007fd18fcc7000)
        libpthread.so.0 => /lib64/libpthread.so.0 (0x00007fd18faab000)
        libc.so.6 => /lib64/libc.so.6 (0x00007fd18f6f4000)
        libdl.so.2 => /lib64/libdl.so.2 (0x00007fd18f4ef000)
        libutil.so.1 => /lib64/libutil.so.1 (0x00007fd18f2ec000)
        /lib64/ld-linux-x86-64.so.2 (0x000000394b800000)

if yes, also no output from:

$ rpm -V wcslib pywcs

?

I cannot reproduce the problems you describe...

About earlier comment of using matplotlib 1.2, I will try to
test it. Only way of knowing if it works is by testing :-)

Comment 23 Henrique C. S. Junior 2012-09-29 15:47:05 UTC
Nothing special here:
$ ldd /usr/lib64/python2.7/site-packages/pywcs/_pywcs.so
	linux-vdso.so.1 =>  (0x00007fff21bff000)
	libwcs.so.4 => /lib64/libwcs.so.4 (0x00007f88c73c1000)
	libm.so.6 => /lib64/libm.so.6 (0x00007f88c70c6000)
	libpython2.7.so.1.0 => /lib64/libpython2.7.so.1.0 (0x00007f88c6d0b000)
	libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f88c6aef000)
	libc.so.6 => /lib64/libc.so.6 (0x00007f88c6738000)
	libdl.so.2 => /lib64/libdl.so.2 (0x00007f88c6533000)
	libutil.so.1 => /lib64/libutil.so.1 (0x00007f88c6330000)
	/lib64/ld-linux-x86-64.so.2 (0x000000380a400000)


$ rpm -V wcslib pywcs
nothing

I've tested APLpy with the previous version of matplotlib (1.0.1) and the result is the same. Maybe this is not matlotlib's fault, but something else.

In my F17 I have:
wcslib-4.8.4-3.fc17.x86_64
pywcs-1.11-1.fc17.x86_64
python-2.7.3-7.2.fc17.x86_64
APLpy-0.9.8-1.fc17.noarch
python-matplotlib-1.1.1-1.fc17.x86_64

Comment 24 Paulo Andrade 2012-09-29 17:04:43 UTC
Another guess, on a x86_64 up to date f17, without the
proposed matplotlib update:

xterm1:
$ cd APLpy-example/
[pcpa@lemote APLpy-example]$ ls
ngc2264_cutout.fits  ngc2264_cutout_mips.fits
[pcpa@lemote APLpy-example]$ python
Python 2.7.3 (default, Jul 24 2012, 10:05:38) 
[GCC 4.7.0 20120507 (Red Hat 4.7.0-5)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import aplpy;fig = aplpy.FITSFigure('ngc2264_cutout.fits')
>>>


in xterm2 I figure the pid of the proper python process...:
$ pldd 8429
8429:   /usr/bin/python2.7
linux-vdso.so.1
/lib64/libpython2.7.so.1.0
/lib64/libpthread.so.0
/lib64/libdl.so.2
/lib64/libutil.so.1
/lib64/libm.so.6
/lib64/libc.so.6
/lib64/ld-linux-x86-64.so.2
/usr/lib64/python2.7/lib-dynload/readline.so
/lib64/libreadline.so.6
/lib64/libtinfo.so.5
/usr/lib64/python2.7/lib-dynload/stropmodule.so
/usr/lib64/python2.7/lib-dynload/operator.so
/usr/lib64/python2.7/lib-dynload/_collectionsmodule.so
/usr/lib64/python2.7/lib-dynload/itertoolsmodule.so
/usr/lib64/python2.7/lib-dynload/_bisectmodule.so
/usr/lib64/python2.7/lib-dynload/_heapq.so
/usr/lib64/python2.7/lib-dynload/grpmodule.so
/usr/lib64/python2.7/lib-dynload/timemodule.so
/usr/lib64/python2.7/lib-dynload/selectmodule.so
/usr/lib64/python2.7/lib-dynload/fcntlmodule.so
/usr/lib64/python2.7/lib-dynload/_struct.so
/usr/lib64/python2.7/lib-dynload/binascii.so
/usr/lib64/python2.7/lib-dynload/cStringIO.so
/usr/lib64/python2.7/lib-dynload/math.so
/usr/lib64/python2.7/lib-dynload/_hashlib.so
/lib64/libssl.so.10
/lib64/libcrypto.so.10
/lib64/libgssapi_krb5.so.2
/lib64/libkrb5.so.3
/lib64/libcom_err.so.2
/lib64/libk5crypto.so.3
/lib64/libz.so.1
/lib64/libkrb5support.so.0
/lib64/libkeyutils.so.1
/lib64/libresolv.so.2
/lib64/libgcc_s.so.1
/lib64/libselinux.so.1
/usr/lib64/python2.7/lib-dynload/_randommodule.so
/usr/lib64/python2.7/site-packages/numpy/core/multiarray.so
/usr/lib64/python2.7/site-packages/numpy/core/umath.so
/usr/lib64/python2.7/site-packages/numpy/core/_sort.so
/usr/lib64/python2.7/site-packages/numpy/core/_dotblas.so
/usr/lib64/atlas/libptf77blas.so.3
/usr/lib64/atlas/libptcblas.so.3
/usr/lib64/atlas/libatlas.so.3
/lib64/libgfortran.so.3
/lib64/libquadmath.so.0
/usr/lib64/python2.7/lib-dynload/cPickle.so
/usr/lib64/python2.7/site-packages/numpy/core/scalarmath.so
/usr/lib64/python2.7/lib-dynload/_functoolsmodule.so
/usr/lib64/python2.7/site-packages/numpy/lib/_compiled_base.so
/usr/lib64/python2.7/site-packages/numpy/linalg/lapack_lite.so
/usr/lib64/atlas/liblapack.so.3
/usr/lib64/atlas/libf77blas.so.3
/usr/lib64/atlas/libcblas.so.3
/usr/lib64/python2.7/site-packages/numpy/fft/fftpack_lite.so
/usr/lib64/python2.7/site-packages/numpy/random/mtrand.so
/usr/lib64/python2.7/lib-dynload/_ctypes.so
/lib64/libffi.so.5
/usr/lib64/python2.7/lib-dynload/_localemodule.so
/usr/lib64/python2.7/lib-dynload/datetime.so
/usr/lib64/python2.7/lib-dynload/arraymodule.so
/usr/lib64/python2.7/lib-dynload/_socketmodule.so
/usr/lib64/python2.7/lib-dynload/_ssl.so
/usr/lib64/python2.7/site-packages/matplotlib/_path.so
/lib64/libagg.so.2
/lib64/libstdc++.so.6
/usr/lib64/python2.7/site-packages/matplotlib/ft2font.so
/lib64/libfreetype.so.6
/usr/lib64/python2.7/site-packages/matplotlib/nxutils.so
/usr/lib64/python2.7/lib-dynload/_csv.so
/usr/lib64/python2.7/lib-dynload/unicodedata.so
/usr/lib64/python2.7/site-packages/matplotlib/_png.so
/lib64/libpng15.so.15
/usr/lib64/python2.7/site-packages/matplotlib/_cntr.so
/usr/lib64/python2.7/site-packages/matplotlib/_image.so
/usr/lib64/python2.7/site-packages/matplotlib/_delaunay.so
/usr/lib64/python2.7/site-packages/matplotlib/_tri.so
/usr/lib64/python2.7/site-packages/matplotlib/backends/_backend_agg.so
/usr/lib64/python2.7/site-packages/glib/_glib.so
/lib64/libpyglib-2.0-python.so.0
/lib64/libgobject-2.0.so.0
/lib64/libgthread-2.0.so.0
/lib64/librt.so.1
/lib64/libglib-2.0.so.0
/usr/lib64/python2.7/site-packages/gobject/_gobject.so
/usr/lib64/python2.7/site-packages/gtk-2.0/gtk/_gtk.so
/lib64/libgtk-x11-2.0.so.0
/lib64/libgdk-x11-2.0.so.0
/lib64/libatk-1.0.so.0
/lib64/libgio-2.0.so.0
/lib64/libpangoft2-1.0.so.0
/lib64/libpangocairo-1.0.so.0
/lib64/libgdk_pixbuf-2.0.so.0
/lib64/libcairo.so.2
/lib64/libpango-1.0.so.0
/lib64/libfontconfig.so.1
/lib64/libgmodule-2.0.so.0
/lib64/libX11.so.6
/lib64/libXfixes.so.3
/lib64/libXext.so.6
/lib64/libXrender.so.1
/lib64/libXinerama.so.1
/lib64/libXi.so.6
/lib64/libXrandr.so.2
/lib64/libXcursor.so.1
/lib64/libXcomposite.so.1
/lib64/libXdamage.so.1
/lib64/libpixman-1.so.0
/lib64/libexpat.so.1
/lib64/libxcb.so.1
/lib64/libXau.so.6
/usr/lib64/python2.7/site-packages/cairo/_cairo.so
/usr/lib64/python2.7/site-packages/gtk-2.0/gio/_gio.so
/usr/lib64/python2.7/site-packages/gtk-2.0/gio/unix.so
/usr/lib64/python2.7/site-packages/gtk-2.0/pango.so
/usr/lib64/python2.7/site-packages/gtk-2.0/atk.so
/usr/lib64/python2.7/site-packages/gtk-2.0/pangocairo.so
/lib64/libnss_files.so.2
/usr/lib64/python2.7/site-packages/matplotlib/backends/_backend_gdk.so
/usr/lib64/python2.7/site-packages/matplotlib/backends/_gtkagg.so
/usr/lib64/python2.7/lib-dynload/zlibmodule.so
/usr/lib64/python2.7/lib-dynload/_io.so
/usr/lib64/python2.7/site-packages/pyfits/compression.so
/usr/lib64/python2.7/site-packages/pywcs/_pywcs.so
/lib64/libwcs.so.4
/usr/lib64/python2.7/site-packages/PIL/_imaging.so
/lib64/libjpeg.so.62
/usr/lib64/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-svg.so
/lib64/librsvg-2.so.2
/lib64/libcroco-0.6.so.3
/lib64/libxml2.so.2

check if you have anything different...

Comment 25 Henrique C. S. Junior 2012-09-29 17:43:35 UTC
There we go (updated F17 with matplotlib 1.0.1):

[lonely@localhost test]$ cd APLpy-example/
[lonely@localhost APLpy-example]$ ls
ngc2264_cutout.fits  ngc2264_cutout_mips.fits
[lonely@localhost APLpy-example]$ python
Python 2.7.3 (default, Jul 24 2012, 10:05:38) 
[GCC 4.7.0 20120507 (Red Hat 4.7.0-5)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import aplpy;fig = aplpy.FITSFigure('ngc2264_cutout.fits')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "<string>", line 2, in __init__
  File "/usr/lib/python2.7/site-packages/aplpy/decorators.py", line 23, in _auto_refresh
    f(*args, **kwargs)
  File "/usr/lib/python2.7/site-packages/aplpy/aplpy.py", line 294, in __init__
    self.set_theme(theme='pretty')
  File "<string>", line 2, in set_theme
  File "/usr/lib/python2.7/site-packages/aplpy/decorators.py", line 23, in _auto_refresh
    f(*args, **kwargs)
  File "/usr/lib/python2.7/site-packages/aplpy/aplpy.py", line 1566, in set_theme
    self.ticks.set_color('white')
  File "<string>", line 2, in set_color
  File "/usr/lib/python2.7/site-packages/aplpy/decorators.py", line 23, in _auto_refresh
    f(*args, **kwargs)
  File "/usr/lib/python2.7/site-packages/aplpy/ticks.py", line 135, in set_color
    for line in self._ax1.xaxis.get_ticklines():
  File "/usr/lib64/python2.7/site-packages/matplotlib/axis.py", line 1111, in get_ticklines
    return self.get_majorticklines()
  File "/usr/lib64/python2.7/site-packages/matplotlib/axis.py", line 1092, in get_majorticklines
    ticks = self.get_major_ticks()
  File "/usr/lib64/python2.7/site-packages/matplotlib/axis.py", line 1169, in get_major_ticks
    numticks = len(self.get_major_locator()())
  File "/usr/lib/python2.7/site-packages/aplpy/ticks.py", line 311, in __call__
    self.axis.apl_tick_spacing = default_spacing(self.axis.get_axes(), self.coord, self.axis.apl_label_form)
  File "/usr/lib/python2.7/site-packages/aplpy/ticks.py", line 349, in default_spacing
    px, py, wx, wy = axis_positions(wcs, coord, False, xmin=xmin, xmax=xmax, ymin=ymin, ymax=ymax)
  File "/usr/lib/python2.7/site-packages/aplpy/ticks.py", line 572, in axis_positions
    x_world, y_world = wcs_util.pix2world(wcs, x_pix, y_pix)
  File "/usr/lib/python2.7/site-packages/aplpy/wcs_util.py", line 459, in pix2world
    return wcs.wcs_pix2sky(x_pix, y_pix, 1)
  File "/usr/lib/python2.7/site-packages/aplpy/wcs_util.py", line 143, in wcs_pix2sky
    return pywcs.WCS.wcs_pix2sky(self, x, y, origin)
  File "/usr/lib64/python2.7/site-packages/pywcs/pywcs.py", line 702, in wcs_pix2sky
    'output', *args, **kwargs)
  File "/usr/lib64/python2.7/site-packages/pywcs/pywcs.py", line 635, in _array_converter
    sky = func(xy, origin)
  File "/usr/lib64/python2.7/site-packages/pywcs/pywcs.py", line 701, in <lambda>
    return self._array_converter(lambda xy, o: self.wcs.p2s(xy, o)['world'],
_pywcs.SingularMatrixError: ERROR 3 in wcsset() at line 1661 of file wcs.c:
Singular transformation matrix, CDELT1 is zero.

>>> 


$ pldd 27390   (149 mine against 133 yours)
27390:	/usr/bin/python2.7
linux-vdso.so.1
/lib64/libpython2.7.so.1.0
/lib64/libpthread.so.0
/lib64/libdl.so.2
/lib64/libutil.so.1
/lib64/libm.so.6
/lib64/libc.so.6
/lib64/ld-linux-x86-64.so.2
/usr/lib64/python2.7/lib-dynload/readline.so
/lib64/libreadline.so.6
/lib64/libtinfo.so.5
/usr/lib64/python2.7/lib-dynload/stropmodule.so
/usr/lib64/python2.7/lib-dynload/operator.so
/usr/lib64/python2.7/lib-dynload/_collectionsmodule.so
/usr/lib64/python2.7/lib-dynload/itertoolsmodule.so
/usr/lib64/python2.7/lib-dynload/_bisectmodule.so
/usr/lib64/python2.7/lib-dynload/_heapq.so
/usr/lib64/python2.7/lib-dynload/grpmodule.so
/usr/lib64/python2.7/lib-dynload/timemodule.so
/usr/lib64/python2.7/lib-dynload/selectmodule.so
/usr/lib64/python2.7/lib-dynload/fcntlmodule.so
/usr/lib64/python2.7/lib-dynload/_struct.so
/usr/lib64/python2.7/lib-dynload/binascii.so
/usr/lib64/python2.7/lib-dynload/cStringIO.so
/usr/lib64/python2.7/lib-dynload/math.so
/usr/lib64/python2.7/lib-dynload/_hashlib.so
/lib64/libssl.so.10
/lib64/libcrypto.so.10
/lib64/libgssapi_krb5.so.2
/lib64/libkrb5.so.3
/lib64/libcom_err.so.2
/lib64/libk5crypto.so.3
/lib64/libz.so.1
/lib64/libkrb5support.so.0
/lib64/libkeyutils.so.1
/lib64/libresolv.so.2
/lib64/libgcc_s.so.1
/lib64/libselinux.so.1
/usr/lib64/python2.7/lib-dynload/_randommodule.so
/usr/lib64/python2.7/site-packages/numpy/core/multiarray.so
/usr/lib64/python2.7/site-packages/numpy/core/umath.so
/usr/lib64/python2.7/site-packages/numpy/core/_sort.so
/usr/lib64/python2.7/site-packages/numpy/core/_dotblas.so
/usr/lib64/atlas/libptf77blas.so.3
/usr/lib64/atlas/libptcblas.so.3
/usr/lib64/atlas/libatlas.so.3
/lib64/libgfortran.so.3
/lib64/libquadmath.so.0
/usr/lib64/python2.7/lib-dynload/cPickle.so
/usr/lib64/python2.7/site-packages/numpy/core/scalarmath.so
/usr/lib64/python2.7/lib-dynload/_functoolsmodule.so
/usr/lib64/python2.7/site-packages/numpy/lib/_compiled_base.so
/usr/lib64/python2.7/site-packages/numpy/linalg/lapack_lite.so
/usr/lib64/atlas/liblapack.so.3
/usr/lib64/atlas/libf77blas.so.3
/usr/lib64/atlas/libcblas.so.3
/usr/lib64/python2.7/site-packages/numpy/fft/fftpack_lite.so
/usr/lib64/python2.7/site-packages/numpy/random/mtrand.so
/usr/lib64/python2.7/lib-dynload/_ctypes.so
/lib64/libffi.so.5
/usr/lib64/python2.7/lib-dynload/_localemodule.so
/usr/lib64/python2.7/lib-dynload/datetime.so
/usr/lib64/python2.7/lib-dynload/arraymodule.so
/usr/lib64/python2.7/lib-dynload/_socketmodule.so
/usr/lib64/python2.7/lib-dynload/_ssl.so
/usr/lib64/python2.7/site-packages/matplotlib/_path.so
/lib64/libagg.so.2
/lib64/libstdc++.so.6
/usr/lib64/python2.7/site-packages/matplotlib/ft2font.so
/lib64/libfreetype.so.6
/usr/lib64/python2.7/site-packages/matplotlib/nxutils.so
/usr/lib64/python2.7/lib-dynload/_csv.so
/usr/lib64/python2.7/lib-dynload/unicodedata.so
/usr/lib64/python2.7/site-packages/matplotlib/_png.so
/lib64/libpng15.so.15
/usr/lib64/python2.7/site-packages/matplotlib/_cntr.so
/usr/lib64/python2.7/site-packages/matplotlib/_image.so
/usr/lib64/python2.7/site-packages/matplotlib/_delaunay.so
/usr/lib64/python2.7/site-packages/matplotlib/_tri.so
/usr/lib64/python2.7/site-packages/matplotlib/backends/_backend_agg.so
/usr/lib64/python2.7/site-packages/glib/_glib.so
/lib64/libpyglib-2.0-python.so.0
/lib64/libgobject-2.0.so.0
/lib64/libgthread-2.0.so.0
/lib64/librt.so.1
/lib64/libglib-2.0.so.0
/usr/lib64/python2.7/site-packages/gobject/_gobject.so
/usr/lib64/python2.7/site-packages/gtk-2.0/gtk/_gtk.so
/lib64/libgtk-x11-2.0.so.0
/lib64/libgdk-x11-2.0.so.0
/lib64/libatk-1.0.so.0
/lib64/libgio-2.0.so.0
/lib64/libpangoft2-1.0.so.0
/lib64/libpangocairo-1.0.so.0
/lib64/libgdk_pixbuf-2.0.so.0
/lib64/libcairo.so.2
/lib64/libpango-1.0.so.0
/lib64/libfontconfig.so.1
/lib64/libgmodule-2.0.so.0
/lib64/libX11.so.6
/lib64/libXfixes.so.3
/lib64/libXext.so.6
/lib64/libXrender.so.1
/lib64/libXinerama.so.1
/lib64/libXi.so.6
/lib64/libXrandr.so.2
/lib64/libXcursor.so.1
/lib64/libXcomposite.so.1
/lib64/libXdamage.so.1
/lib64/libpixman-1.so.0
/lib64/libexpat.so.1
/lib64/libxcb.so.1
/lib64/libXau.so.6
/usr/lib64/python2.7/site-packages/cairo/_cairo.so
/usr/lib64/python2.7/site-packages/gtk-2.0/gio/_gio.so
/usr/lib64/python2.7/site-packages/gtk-2.0/gio/unix.so
/usr/lib64/python2.7/site-packages/gtk-2.0/pango.so
/usr/lib64/python2.7/site-packages/gtk-2.0/atk.so
/usr/lib64/python2.7/site-packages/gtk-2.0/pangocairo.so
/lib64/libnss_files.so.2
/usr/lib64/gtk-2.0/2.10.0/engines/libclearlooks.so
/usr/lib64/gtk-2.0/modules/libpk-gtk-module.so
/usr/lib64/gtk-2.0/modules/libcanberra-gtk-module.so
/lib64/libcanberra-gtk.so.0
/lib64/libcanberra.so.0
/lib64/libvorbisfile.so.3
/lib64/libvorbis.so.0
/lib64/libogg.so.0
/lib64/libtdb.so.1
/lib64/libltdl.so.7
/lib64/libcrypt.so.1
/lib64/libfreebl3.so
/usr/lib64/python2.7/site-packages/matplotlib/backends/_backend_gdk.so
/usr/lib64/python2.7/site-packages/matplotlib/backends/_gtkagg.so
/usr/lib64/gconv/ISO8859-1.so
/usr/lib64/python2.7/lib-dynload/zlibmodule.so
/usr/lib64/python2.7/lib-dynload/_io.so
/usr/lib64/python2.7/site-packages/pyfits/compression.so
/usr/lib64/python2.7/site-packages/pywcs/_pywcs.so
/lib64/libwcs.so.4
/usr/lib64/python2.7/site-packages/PIL/_imaging.so
/lib64/libjpeg.so.62
/usr/lib64/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-svg.so
/lib64/librsvg-2.so.2
/lib64/libcroco-0.6.so.3
/lib64/libxml2.so.2
/usr/lib64/python2.7/lib-dynload/syslog.so

-------------------------------------------------------
[lonely@localhost Documentos]$ diff pldd1.txt pldd2.txt 
1,2c1,2
< $ pldd 27390
< 27390:	/usr/bin/python2.7
---
> $ pldd 8429
> 8429:  /usr/bin/python2.7
123,134d122
< /usr/lib64/gtk-2.0/2.10.0/engines/libclearlooks.so
< /usr/lib64/gtk-2.0/modules/libpk-gtk-module.so
< /usr/lib64/gtk-2.0/modules/libcanberra-gtk-module.so
< /lib64/libcanberra-gtk.so.0
< /lib64/libcanberra.so.0
< /lib64/libvorbisfile.so.3
< /lib64/libvorbis.so.0
< /lib64/libogg.so.0
< /lib64/libtdb.so.1
< /lib64/libltdl.so.7
< /lib64/libcrypt.so.1
< /lib64/libfreebl3.so
137d124
< /usr/lib64/gconv/ISO8859-1.so
149d135
< /usr/lib64/python2.7/lib-dynload/syslog.so

Comment 26 Paulo Andrade 2012-09-29 20:57:21 UTC
Ok. I was obligated to google a bit about it :-)
The hint was https://github.com/aplpy/aplpy/issues/2:

---%<---
$ LC_ALL=pt_BR python
Python 2.7.3 (default, Jul 24 2012, 10:05:38) 
[GCC 4.7.0 20120507 (Red Hat 4.7.0-5)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import aplpy;fig = aplpy.FITSFigure('ngc2264_cutout.fits')
Traceback (most recent call last):

[...]

    return self._array_converter(lambda xy, o: self.wcs.p2s(xy, o)['world'],
_pywcs.SingularMatrixError: ERROR 3 in wcsset() at line 1661 of file wcs.c:
Singular transformation matrix, CDELT1 is zero.

>>>
---%<---

So, the issue is if you are using a locale with "," (or anything else)
instead of "."  as "decimal" separator.

Comment 27 Henrique C. S. Junior 2012-09-29 21:07:13 UTC
Wow, nice detective work.
https://github.com/astropy/astropy/pull/313

Comment 28 Henrique C. S. Junior 2012-09-30 21:41:48 UTC
Should I open a bug against pywcs?
By the way, I was playing with your matplotlib 1.1.1 and it is working nicely. All new features are OK.

Comment 29 m.oliver 2012-10-27 11:51:55 UTC
Is there any progress on this bug?  Getting sagemath into Fedora would be a very nice achievement.  Moreover, current Fedora matploblib is really getting stale.  There have been major changes to the animation API and many other improvement, so that an update would be highly appreciated.  I noticed that a release of 1.2 is imminent, so would it be possible to upgrade to 1.2rcX or final 1.2 once released straight away?  See

http://sourceforge.net/mailarchive/forum.php?thread_name=CAM-Pw03F43V-m2uEZyre1nrLcjag%2BoRugx0AnSuHnNQR82MgGA%40mail.gmail.com&forum_name=matplotlib-devel

Comment 30 Andrew McNabb 2012-11-20 17:07:00 UTC
It looks like Matplotlib 1.2.0, which supports Python 3, was released on November 8.

Comment 31 Henrique C. S. Junior 2012-11-20 19:27:04 UTC
I've performed tests with the package provided by pcpa and it works OK.
As far as I know, Fedora is the distro (openSUSE, Ubuntu, Mandriva) with oldest release of matplotlib right now.

Comment 32 Gwyn Ciesla 2012-11-20 19:35:59 UTC
Jerry, Jef, is either of you still planning to do this or should I?

Comment 33 Paulo Andrade 2012-11-22 12:39:34 UTC
(In reply to comment #32)
> Jerry, Jef, is either of you still planning to do this or should I?

Once updating, please also make a f18 update; I hope to have a
proper f18 sagemath update package...

Anyway, I just asked for python-matplotlib commit acl for f18 and
rawhide, so I can also do it.

Or maybe we are waiting for matplotlib 1.2 release? :-)

Comment 34 Andrew McNabb 2012-11-22 15:37:46 UTC
(In reply to comment #33)
> 
> Anyway, I just asked for python-matplotlib commit acl for f18 and
> rawhide, so I can also do it.

Even without commit access, you should be able to post patches if you're working on it in the meantime.

> Or maybe we are waiting for matplotlib 1.2 release? :-)

The 1.2 release is already out, so if you're working on the update anyway, there's no reason not to include the new release.

Comment 35 Paulo Andrade 2012-11-23 00:38:25 UTC
(In reply to comment #34)
> (In reply to comment #33)
> > 
> > Anyway, I just asked for python-matplotlib commit acl for f18 and
> > rawhide, so I can also do it.
> 
> Even without commit access, you should be able to post patches if you're
> working on it in the meantime.

  I already posted a RFE for 1.1.0 in #c2 and it is good enough for
my work in progress sagemath package, and I have it in my f17
sagemath repository and my prebuilt sagemath packages. Well,
actually in my rawhide computer I have 1.1.1 installed from
James srpm.

> > Or maybe we are waiting for matplotlib 1.2 release? :-)
> 
> The 1.2 release is already out, so if you're working on the update anyway,
> there's no reason not to include the new release.

  http://sourceforge.net/projects/matplotlib/ still lists 1.1.0
as the latest release (well, looking t the files link there is
1.1.1).

  Just in case this was the issue (I probably was wrong but was
not contested, so did not learn at that time about my fault), I
remade a 1.1.0 package to remove agg24/include/agg_conv_gpc.h
from the tarball instead of having pristine upstream tarball in
the srpm.

New suggested package update, using the "default" latest sourceforge
link that is 1.1.0, not 1.1.1, sorry James :-) (but the 1.1.1 package
works correctly for me):
Spec URL: http://fedorapeople.org/~pcpa/python-matplotlib.spec
SRPM URL: http://fedorapeople.org/~pcpa/python-matplotlib-1.1.0-2.fc19.src.rpm

I think the comment on "BuildRequires: python-xlwt" can be
removed, as it is already available in f18.

I also changed to use  __provides_exclude_from instead of
__provides_exclude_from (#877581) or it would block when
finishing the build.

Comment 36 Andrew McNabb 2012-11-23 03:16:45 UTC
(In reply to comment #35)
> 
> > The 1.2 release is already out, so if you're working on the update anyway,
> > there's no reason not to include the new release.
> 
>   http://sourceforge.net/projects/matplotlib/ still lists 1.1.0
> as the latest release (well, looking t the files link there is
> 1.1.1).

This seems to be the official and more up-to-date download page: https://github.com/matplotlib/matplotlib/downloads

Comment 37 m.oliver 2012-11-23 07:37:34 UTC
(In reply to comment #36)
> This seems to be the official and more up-to-date download page:
> https://github.com/matplotlib/matplotlib/downloads

And the What's New page is here:
http://matplotlib.org/1.2.0/users/whats_new.html

It would be a shame not to update to 1.2 at this time.  On the matplotlib-devel list, it's talked about as a "very high quality release" and has some nice new features including Python 3 support.

Comment 38 Paulo Andrade 2012-11-23 21:35:47 UTC
I made a new RFE for 1.2.0:

I did remake it merging Jerry changes, where he actually
added knowledge of python2 vs python3 to the spec and my
last change to again remake the upstream tarball.

Spec URL: http://fedorapeople.org/~pcpa/python-matplotlib.spec
SRPM URL: http://fedorapeople.org/~pcpa/python-matplotlib-1.2.0-2.fc19.src.rpm

You can also see sample build logs at
http://koji.fedoraproject.org/koji/taskinfo?taskID=4722055

Only change I did after the koji scratch build was to use
%global __provides_exclude_from	.*/site-packages/.*\\.so$
instead of
%global __provides_exclude_from	%{python_sitearch}/site-packages/.*\\.so$
or it would incorrectly provide python3 private shared
objects.

Good news is I added python3 support, bad news is that I
did not test it :-), there may be issues, as it cannot
build documentation with python3 claiming a syntax error,
neither, as expected, build documentation with python2 in
the python3 build tree, so, I just disabled python3
documentation.

I also removed the wx backend support as it is not
yet (AFAIK) ported to python3, neither (AFAIK) supported
by matplotlib 1.2.0.

Also, I added a small patch to detect tk, and changed
it to use the default "agg" backend.

For my own needs it works correctly:
---%<---
$ rpm -q python-matplotlib sagemath
python-matplotlib-1.2.0-1.fc19.x86_64
sagemath-5.4-2.fc19.x86_64
$ sage -t  "devel/doc/en/tutorial/tour_plotting.rst"
sage -t  "devel/doc/en/tutorial/tour_plotting.rst"          
         [8.5 s]
 
----------------------------------------------------------------------
All tests passed!
Total time for all tests: 8.6 seconds
---%<---

as well as the test case added in #c16.

Well, other than a quick packaging for upgrade and RFE,
I had very few knowledge of the package, now I know a bit
more, and know of some issues it could be made better,
but for now I am more interested in knowing if I broke
something, so, please test!

Now I have python-matplotlib write ACL, thanks :-)
So, if everybody is happy with it or nobody says
anything, in a few days I will make a rawhide build
and a f18 update.

Comment 39 Andrew McNabb 2012-11-23 22:46:34 UTC
I've come across a few minor issues.

(In reply to comment #38)
>
> SRPM URL:
> http://fedorapeople.org/~pcpa/python-matplotlib-1.2.0-2.fc19.src.rpm

I'm getting a 404 error on this URL, but 1.2.0-1 seems to be available.

I can't build the python3 subpackage because python3-pytz is a prerequisite. The Python 3 support only seems to be included in the rawhide version of the package. Do you know if there are any plans yet for a Fedora 18 version of the python3-pytz package?

Comment 40 Andrew McNabb 2012-11-23 23:13:18 UTC
One more problem:

file /usr/lib/python3.3/site-packages/__pycache__/six.cpython-33.pyc from install of python3-matplotlib-1.2.0-1.fc19.i686 conflicts with file from package python3-six-1.2.0-1.fc18.noarch

So, python3-matplotlib should depend on the python3-six package instead of bundling six.py.

Comment 41 Paulo Andrade 2012-11-23 23:17:36 UTC
(In reply to comment #39)
> I've come across a few minor issues.
> 
> (In reply to comment #38)
> >
> > SRPM URL:
> > http://fedorapeople.org/~pcpa/python-matplotlib-1.2.0-2.fc19.src.rpm
> 
> I'm getting a 404 error on this URL, but 1.2.0-1 seems to be available.

Ops, cut&paste fail :-)

Spec URL: http://fedorapeople.org/~pcpa/python-matplotlib.spec
SRPM URL: http://fedorapeople.org/~pcpa/python-matplotlib-1.2.0-2.fc19.src.rpm

Many thanks for testing!
 
> I can't build the python3 subpackage because python3-pytz is a prerequisite.
> The Python 3 support only seems to be included in the rawhide version of the
> package. Do you know if there are any plans yet for a Fedora 18 version of
> the python3-pytz package?

I remember I opened a bug report about it,
https://bugzilla.redhat.com/show_bug.cgi?id=857266

Do you think it is really required to build python3-matplotlib
for fedora 18? If not building, just changing the first spec
line is enough:

-%if 0%{?fedora} >= 18
+%if 0%{?fedora} > 18

Otherwise, need another RFE to merge master in f18 of
pytz and make an update; hmm, maybe better to just
disable it for f18, or let it use the one embedded
in matplotlib tarball for python3?

$ repoquery --whatrequires pytz
ReviewBoard-0:1.6.11-1.fc18.noarch
anaconda-0:18.11-1.fc19.x86_64
openerp-0:6.1-2.fc19.noarch
python-django-horizon-0:2012.2-4.fc19.noarch
python-djblets-0:0.7.2-1.fc19.noarch
python-flask-babel-0:0.8-4.fc19.noarch
python-icalendar-0:3.0.1-0.2.b2.fc18.noarch
python-matplotlib-0:1.0.1-21.fc18.x86_64
python-moksha-common-0:1.0.6-1.fc19.noarch
python-pandas-0:0.9.0-1.fc19.x86_64
python-soaplib-0:0.8.1-7.fc18.noarch
python-zope-i18n-0:3.7.4-5.fc18.noarch
tryton-0:2.6.0-1.fc19.noarch
trytond-0:2.6.0-1.fc19.noarch

Comment 42 Paulo Andrade 2012-11-23 23:23:35 UTC
(In reply to comment #40)
> One more problem:
> 
> file /usr/lib/python3.3/site-packages/__pycache__/six.cpython-33.pyc from
> install of python3-matplotlib-1.2.0-1.fc19.i686 conflicts with file from
> package python3-six-1.2.0-1.fc18.noarch
> 
> So, python3-matplotlib should depend on the python3-six package instead of
> bundling six.py.

Thanks again! I will make a new package, change will
be to disable python3 in <= f18 and to build requires
python3-six.
(testing a build now...)

Comment 43 Andrew McNabb 2012-11-23 23:27:11 UTC
(In reply to comment #41)
> 
> Ops, cut&paste fail :-)
> 
> Spec URL: http://fedorapeople.org/~pcpa/python-matplotlib.spec
> SRPM URL:
> http://fedorapeople.org/~pcpa/python-matplotlib-1.2.0-2.fc19.src.rpm

Hmm. I'm still getting a 404, but I'm happily testing the 1.2.0-1 version, so it's not a bit deal.

> Many thanks for testing!

No problem. I'm happy to help.

> > I can't build the python3 subpackage because python3-pytz is a prerequisite.
> > The Python 3 support only seems to be included in the rawhide version of the
> > package. Do you know if there are any plans yet for a Fedora 18 version of
> > the python3-pytz package?
> 
> I remember I opened a bug report about it,
> https://bugzilla.redhat.com/show_bug.cgi?id=857266
> 
> Do you think it is really required to build python3-matplotlib
> for fedora 18? If not building, just changing the first spec
> line is enough:
> 
> -%if 0%{?fedora} >= 18
> +%if 0%{?fedora} > 18
> 
> Otherwise, need another RFE to merge master in f18 of
> pytz and make an update; hmm, maybe better to just
> disable it for f18, or let it use the one embedded
> in matplotlib tarball for python3?

The python3-pytz package exists in koji for Fedora 19, so I was able to install that. It seems like it would be enough just to request that python3-pytz also get included in Fedora 18. But I'm familiar with bug #857266, so I'm not sure I really understand what's going on.

Comment 44 Andrew McNabb 2012-11-23 23:28:14 UTC
(In reply to comment #42)
> 
> Thanks again! I will make a new package, change will
> be to disable python3 in <= f18 and to build requires
> python3-six.
> (testing a build now...)

Disabling python3 in Fedora 18 sounds sad--is this a permanent change or just a temporary workaround?

Comment 45 Paulo Andrade 2012-11-23 23:56:43 UTC
(In reply to comment #44)
> Disabling python3 in Fedora 18 sounds sad--is this a permanent change or
> just a temporary workaround?

  I just opened a RFE for pytz rebuild/update
https://bugzilla.redhat.com/show_bug.cgi?id=879731
  Deferring it now is a good recipe to not build it...

Comment 46 Paulo Andrade 2012-11-24 00:16:35 UTC
For the moment, this is what should be submitted,
disabling python3 for f18 and correcting the conflict
with python3-six.
BTW, I did not notice the python3-six conflict because
python3-six installs in /usr/lib/python3.3/... and I
did test in x86_64 and python-matplotlib was installing
the conflicting file in /usr/lib64/python3.3/...

Spec URL: http://fedorapeople.org/~pcpa/python-matplotlib.spec
SRPM URL: http://fedorapeople.org/~pcpa/python-matplotlib-1.2.0-2.fc19.src.rpm

Comment 47 Andrew McNabb 2012-11-26 16:47:05 UTC
pcpa, I think it looks pretty good. If you submit it to updates-testing, I would be happy to give it a test.

Comment 48 Paulo Andrade 2012-11-26 17:31:07 UTC
(In reply to comment #47)
> pcpa, I think it looks pretty good. If you submit it to updates-testing, I
> would be happy to give it a test.

You may want to test to confirm everything is with the pytz
update, then login and give positive karma to
https://admin.fedoraproject.org/updates/pytz-2012d-2.fc18
to speed it up, so I can submit python-matplotlib 1.2.0 to
updates-testing with python3 enabled for f18.

Comment 49 Andrew McNabb 2012-11-26 21:33:38 UTC
I got a message saying that the pytz is being pushed to stable, so hopefully you'll be able to submit the python3-matplotlib package soon. By the way, you've done a great job getting all of this rolling.

Comment 50 Andrew McNabb 2012-11-27 21:56:45 UTC
It looks like pytz has been pushed to stable, so it should now be possible to push a new matplotlib build. I'm happy to help test it out once it's in.

Comment 51 Paulo Andrade 2012-11-27 22:16:57 UTC
(In reply to comment #50)
> It looks like pytz has been pushed to stable, so it should now be possible
> to push a new matplotlib build. I'm happy to help test it out once it's in.

Yes, sorry for the delay :-) I just got back to home, am doing a mock
build test and if everything goes well, will shortly update git and
submit rawhide and f18 builds.

Comment 52 Fedora Update System 2012-11-27 23:13:01 UTC
python-matplotlib-1.2.0-3.fc18 has been submitted as an update for Fedora 18.
https://admin.fedoraproject.org/updates/python-matplotlib-1.2.0-3.fc18

Comment 53 Paulo Andrade 2012-11-28 00:15:34 UTC
  I am making a new f18 update candidate because the first one
did not pass autoqa in ix86, weird because the same packaging
error did pass autoqa in x86_64.

Comment 54 Fedora Update System 2012-11-28 00:47:44 UTC
python-matplotlib-1.2.0-4.fc18 has been submitted as an update for Fedora 18.
https://admin.fedoraproject.org/updates/python-matplotlib-1.2.0-4.fc18

Comment 55 Fedora Update System 2012-11-28 02:08:26 UTC
Package python-matplotlib-1.2.0-3.fc18:
* should fix your issue,
* was pushed to the Fedora 18 testing repository,
* should be available at your local mirror within two days.
Update it with:
# su -c 'yum update --enablerepo=updates-testing python-matplotlib-1.2.0-3.fc18'
as soon as you are able to.
Please go to the following url:
https://admin.fedoraproject.org/updates/FEDORA-2012-19160/python-matplotlib-1.2.0-3.fc18
then log in and leave karma (feedback).


Note You need to log in before you can comment on or make changes to this bug.