Bug 837878 - RFE: Make a sagemath friendly cddlib package
Summary: RFE: Make a sagemath friendly cddlib package
Keywords:
Status: CLOSED RAWHIDE
Alias: None
Product: Fedora
Classification: Fedora
Component: cddlib
Version: rawhide
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Conrad Meyer
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2012-07-05 16:47 UTC by Paulo Andrade
Modified: 2012-07-06 16:32 UTC (History)
3 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2012-07-06 16:32:56 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)

Description Paulo Andrade 2012-07-05 16:47:30 UTC
With the proposed package, for example, instead of:

---%<---%<---%<---
sage -t  -force_lib "devel/sage/sage/geometry/integral_points.pyx"
[?1034h**********************************************************************
File "/usr/share/sagemath/devel/sage/sage/geometry/integral_points.pyx", line 782:
    sage: P_RR = Polyhedron(identity_matrix(2).columns() + [(-2.7, -1)], base_ring=RDF)
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_19[5]>", line 1, in <module>
        P_RR = Polyhedron(identity_matrix(Integer(2)).columns() + [(-RealNumber('2.7'), -Integer(1))], base_ring=RDF)###line 782:
    sage: P_RR = Polyhedron(identity_matrix(2).columns() + [(-2.7, -1)], base_ring=RDF)
      File "/usr/lib64/python2.7/site-packages/sage/misc/decorators.py", line 687, in wrapper
        return func(*args, **kwds)
      File "/usr/lib64/python2.7/site-packages/sage/geometry/polyhedron/constructor.py", line 290, in Polyhedron
        return Polyhedron_RDF_cdd(ambient_dim, Vrep, Hrep, verbose=verbose)
      File "/usr/lib64/python2.7/site-packages/sage/geometry/polyhedron/backend_cdd.py", line 380, in __init__
        Polyhedron_cdd.__init__(self, ambient_dim, Vrep, Hrep, **kwds)
      File "/usr/lib64/python2.7/site-packages/sage/geometry/polyhedron/base.py", line 126, in __init__
        self._init_from_Vrepresentation(ambient_dim, vertices, rays, lines, **kwds)
      File "/usr/lib64/python2.7/site-packages/sage/geometry/polyhedron/backend_cdd.py", line 60, in _init_from_Vrepresentation
        self._init_from_cdd_input(s, '--reps', verbose)
      File "/usr/lib64/python2.7/site-packages/sage/geometry/polyhedron/backend_cdd.py", line 151, in _init_from_cdd_input
        stdin=PIPE, stdout=PIPE, stderr=PIPE)
      File "/usr/lib64/python2.7/subprocess.py", line 679, in __init__
        errread, errwrite)
      File "/usr/lib64/python2.7/subprocess.py", line 1249, in _execute_child
        raise child_exception
    OSError: [Errno 2] No such file or directory
**********************************************************************
File "/usr/share/sagemath/devel/sage/sage/geometry/integral_points.pyx", line 783:
    sage: InequalityCollection(P_RR, Permutation([1,2]), [0]*2, [1]*2)
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_19[6]>", line 1, in <module>
        InequalityCollection(P_RR, Permutation([Integer(1),Integer(2)]), [Integer(0)]*Integer(2), [Integer(1)]*Integer(2))###line 783:
    sage: InequalityCollection(P_RR, Permutation([1,2]), [0]*2, [1]*2)
    NameError: name 'P_RR' is not defined
**********************************************************************
File "/usr/share/sagemath/devel/sage/sage/geometry/integral_points.pyx", line 435:
    sage: polytope = Polyhedron([[1], [10*pi.n()]], base_ring=RDF)
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_6[16]>", line 1, in <module>
        polytope = Polyhedron([[Integer(1)], [Integer(10)*pi.n()]], base_ring=RDF)###line 435:
    sage: polytope = Polyhedron([[1], [10*pi.n()]], base_ring=RDF)
      File "/usr/lib64/python2.7/site-packages/sage/misc/decorators.py", line 687, in wrapper
        return func(*args, **kwds)
      File "/usr/lib64/python2.7/site-packages/sage/geometry/polyhedron/constructor.py", line 290, in Polyhedron
        return Polyhedron_RDF_cdd(ambient_dim, Vrep, Hrep, verbose=verbose)
      File "/usr/lib64/python2.7/site-packages/sage/geometry/polyhedron/backend_cdd.py", line 380, in __init__
        Polyhedron_cdd.__init__(self, ambient_dim, Vrep, Hrep, **kwds)
      File "/usr/lib64/python2.7/site-packages/sage/geometry/polyhedron/base.py", line 126, in __init__
        self._init_from_Vrepresentation(ambient_dim, vertices, rays, lines, **kwds)
      File "/usr/lib64/python2.7/site-packages/sage/geometry/polyhedron/backend_cdd.py", line 60, in _init_from_Vrepresentation
        self._init_from_cdd_input(s, '--reps', verbose)
      File "/usr/lib64/python2.7/site-packages/sage/geometry/polyhedron/backend_cdd.py", line 151, in _init_from_cdd_input
        stdin=PIPE, stdout=PIPE, stderr=PIPE)
      File "/usr/lib64/python2.7/subprocess.py", line 679, in __init__
        errread, errwrite)
      File "/usr/lib64/python2.7/subprocess.py", line 1249, in _execute_child
        raise child_exception
    OSError: [Errno 2] No such file or directory
**********************************************************************
File "/usr/share/sagemath/devel/sage/sage/geometry/integral_points.pyx", line 436:
    sage: len( rectangular_box_points([-100], [100], polytope) )
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_6[17]>", line 1, in <module>
        len( rectangular_box_points([-Integer(100)], [Integer(100)], polytope) )###line 436:
    sage: len( rectangular_box_points([-100], [100], polytope) )
      File "integral_points.pyx", line 458, in sage.geometry.integral_points.rectangular_box_points (sage/geometry/integral_points.c:3421)
      File "integral_points.pyx", line 884, in sage.geometry.integral_points.InequalityCollection.__cinit__ (sage/geometry/integral_points.c:6248)
      File "integral_points.pyx", line 851, in sage.geometry.integral_points.InequalityCollection._make_A_b (sage/geometry/integral_points.c:5621)
      File "/usr/lib64/python2.7/site-packages/sage/combinat/permutation.py", line 2518, in action
        raise ValueError, "len(a) must equal len(self)"
    ValueError: len(a) must equal len(self)
**********************************************************************
2 items had failures:
   2 of  11 in __main__.example_19
   2 of  22 in __main__.example_6
***Test Failed*** 4 failures.
For whitespace errors, see the file /home/pcpa/.sage//tmp/integral_points_22813.py
	 [1.4 s]
---%<---%<---%<---

I see:

---%<---%<---%<---
$ sage -t  -force_lib "devel/sage/sage/geometry/integral_points.pyx"
sage -t -force_lib "devel/sage/sage/geometry/integral_points.pyx"
         [4.7 s]
 
----------------------------------------------------------------------
All tests passed!
Total time for all tests: 4.7 seconds
---%<---%<---%<---

Suggested new package:
Spec URL: http://fedorapeople.org/~pcpa/cddlib.spec
SRPM URL: http://fedorapeople.org/~pcpa/cddlib-094g-2.fc18.src.rpm

Comment 1 Conrad Meyer 2012-07-06 02:09:30 UTC
Do you know how this change affects other users of the cddlib package? If they are unaffected or fine, please go ahead and apply these changes. If you don't already have comaintainer, please request it and I'll grant it ASAP.

Comment 2 Paulo Andrade 2012-07-06 14:09:06 UTC
The change should have no effect, as it just adds the new

/usr/bin/cdd_both_reps
/usr/bin/cdd_both_reps_gmp

binaries required by sagemath. I will make a sagemath trac askind the reason this is not in upstream cddlib, and ask for it (there is no bugzilla or email contact in cddlib homepage).

Comment 3 Paulo Andrade 2012-07-06 14:18:39 UTC
I did probably better than make a sagemath trac and ask sagemath people to contact upstream and sent an email to the cddlib author. For openness:

---%<---%<---
para fukuda
  Hi,

  Sagemath adds an extra file to cddlib and generates 2 extra binaries.
  I am contributing to fedora, with goal of having a sagemath package that
uses only system packages, but for sagemath to work, I need to use
sagemath patches.

  Is there some reason for the sagemath patches to not be added to
an upcoming version of cddlib?

  I have a bug report requesting an update at
https://bugzilla.redhat.com/show_bug.cgi?id=837878
and the cddlib sagemath package (to be extracted with "tar jxf")
can be downloaded from
http://www.sagemath.org/packages/standard/cddlib-094f.p11.spkg

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

Comment 4 Paulo Andrade 2012-07-06 16:32:56 UTC
New cddlib package was built in rawhide.


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