Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update PolyBoRi to release 0.8.0 #11575

Closed
alexanderdreyer mannequin opened this issue Jul 5, 2011 · 178 comments
Closed

Update PolyBoRi to release 0.8.0 #11575

alexanderdreyer mannequin opened this issue Jul 5, 2011 · 178 comments

Comments

@alexanderdreyer
Copy link
Mannequin

alexanderdreyer mannequin commented Jul 5, 2011

PolyBoRi 0.8 will come with some changes in the interface (in particular the infamous global settings will be removed)

So there was an extensive alpha phase this time:
https://sourceforge.net/projects/polybori/files/polybori/0.8.alphas/

The final release is here:
https://sourceforge.net/projects/polybori/files/polybori/0.8.0/

Current patches/spkg

Depends on #11574
Depends on #9138

Upstream: None of the above - read trac for reasoning.

CC: @alexanderdreyer @sagetrac-PolyBoRi @kiwifb @burcin @malb @simon-king-jena @jdemeyer

Component: packages: standard

Author: Alexander Dreyer

Reviewer: Martin Albrecht

Merged: sage-5.0.beta1

Issue created by migration from https://trac.sagemath.org/ticket/11575

@alexanderdreyer alexanderdreyer mannequin added this to the sage-4.7.2 milestone Jul 5, 2011
@alexanderdreyer

This comment has been minimized.

@kiwifb
Copy link
Member

kiwifb commented Jul 6, 2011

comment:2

For the record I have a gentoo ebuild that pulls the trunk of hg on bitbucket. That's how I tested things in the issues I have filled for polybori recently.

@alexanderdreyer

This comment has been minimized.

@alexanderdreyer
Copy link
Mannequin Author

alexanderdreyer mannequin commented Jul 6, 2011

comment:3

I prepared a first at http://boxen.math.washington.edu/home/dreyer/spkg/polybori-0.8-alpha.p0.spkg

It builds, but of course sage -br and tests will fail, since the Sage library needs to be adjusted.

@kiwifb
Copy link
Member

kiwifb commented Jul 9, 2011

comment:4

Build using my ebuild (you didn't commit anything since you tagged 0.8-alpha so that's what I should have pulled). Used boost-1.42 and m4ri-20100817. Builds and install fine without warnings. Is there a working test suite that can be run? Also I didn't build any docs.

@alexanderdreyer
Copy link
Mannequin Author

alexanderdreyer mannequin commented Jul 9, 2011

comment:5

Hi Francois! I gave to access to polybori-testsuite. If you do use it via the cython interface from Sage's Library (not the original PyPolyBoRi,so). I need to update this, but it's not that easy, because I have to c++-ify some classes without defautl constructor.

@kiwifb
Copy link
Member

kiwifb commented Jul 10, 2011

comment:6

Hi Alexander, thanks for giving me access. I think it is best to test it separate from sage at first, especially when you consider that installing it will break sage. I hope that it can work that way.

@kiwifb
Copy link
Member

kiwifb commented Jul 10, 2011

comment:7

I just had a thought. I should really try this against m4ri-20110715 (#11574). I suppose this version of polybori is ready for it.

@alexanderdreyer
Copy link
Mannequin Author

alexanderdreyer mannequin commented Jul 10, 2011

comment:8

Replying to @kiwifb:

I just had a thought. I should really try this against m4ri-20110715 (#11574). I suppose this version of polybori is ready for it.

It should, but I haven't had time for testing the most recent version yet.

@kiwifb
Copy link
Member

kiwifb commented Jul 10, 2011

comment:9

Replying to @alexanderdreyer:

Replying to @kiwifb:

I just had a thought. I should really try this against m4ri-20110715 (#11574). I suppose this version of polybori is ready for it.

It should, but I haven't had time for testing the most recent version yet.

I'll have to wait until the sage server are fully back on, m4ri tarball seem to be stored there. That or I clone m4ri tip from bitbucket, which may be an idea since I already to that for polybori.

@kiwifb
Copy link
Member

kiwifb commented Jul 11, 2011

comment:10

Pulled m4ri tip. Polybori-0.7.1 compiles against it, no problem. I'll check 0.8.alpha a bit later and then I'll see about that test suite.

@alexanderdreyer
Copy link
Mannequin Author

alexanderdreyer mannequin commented Jul 15, 2011

Attachment: polybori-0.8.0alpha.p1.patch.gz

First working patch for supporting PolyBoRi 0.8 by the Sage-lib

@alexanderdreyer

This comment has been minimized.

@alexanderdreyer
Copy link
Mannequin Author

alexanderdreyer mannequin commented Jul 15, 2011

comment:11

Here's now the first patch for making the Sage-lib supporting PolyBoRi 0.8:
https://github.com/sagemath/sage-prod/files/10653268/polybori-0.8.0alpha.p1.patch.gz

I needs to workaround missing default generators of PolyBoRi-functions by reintroducing then (just for now: It should be using the cppclass construct) . Therefore, we do need another patched spkg: http://boxen.math.washington.edu/home/dreyer/spkg/polybori-0.8-alpha.p1.spkg

@alexanderdreyer

This comment has been minimized.

@kiwifb
Copy link
Member

kiwifb commented Jul 15, 2011

comment:13

I have done a build of your latest tip from a couple of days ago and it was fine. I still have to get organized to do the testing. Nice to have a patch for sage but I am afraid it will need to be rebased now that #11377 is in. Please do not use SAGE_ROOT in module_list.py. In your case SAGE_INC will be enough.

@alexanderdreyer
Copy link
Mannequin Author

alexanderdreyer mannequin commented Jul 15, 2011

comment:14

Replying to @kiwifb:

I have done a build of your latest tip from a couple of days ago and it was fine. I still have to get organized to do the testing. Nice to have a patch for sage but I am afraid it will need to be rebased now that #11377 is in. Please do not use SAGE_ROOT in module_list.py. In your case SAGE_INC will be enough.

No problem, it's still work to do anyway, since the c++-ification not really done yet. (I just mis-clicked, it should read "NEEDS_WORKS".)

PS: So that crash-issue on gentoo-prefix got away with 0.8-alpha?

@kiwifb
Copy link
Member

kiwifb commented Jul 15, 2011

comment:15

Replying to @alexanderdreyer:

Replying to @kiwifb:

I have done a build of your latest tip from a couple of days ago and it was fine. I still have to get organized to do the testing. Nice to have a patch for sage but I am afraid it will need to be rebased now that #11377 is in. Please do not use SAGE_ROOT in module_list.py. In your case SAGE_INC will be enough.

No problem, it's still work to do anyway, since the c++-ification not really done yet. (I just mis-clicked, it should read "NEEDS_WORKS".)

PS: So that crash-issue on gentoo-prefix got away with 0.8-alpha?

Don't know yet. I have to build this on OS X and apply the patch. It may very well not happen until Monday local time (it's Saturday morning here) since this is one of my work machine.

@alexanderdreyer
Copy link
Mannequin Author

alexanderdreyer mannequin commented Jul 15, 2011

comment:16

Don't know yet. I have to build this on OS X and apply the patch. It may very well not happen until Monday local time (it's Saturday morning here) since this is one of my work machine.

Here, too (1:00).

In case this still fails: Can you give the plain PolyBoRi source from bitbucket a try? I had to patch the recent spkg to work around some cython vs. c++ issue.

@alexanderdreyer alexanderdreyer mannequin self-assigned this Jul 15, 2011
@kiwifb
Copy link
Member

kiwifb commented Jul 15, 2011

comment:18

Replying to @alexanderdreyer:

Don't know yet. I have to build this on OS X and apply the patch. It may very well not happen until Monday local time (it's Saturday morning here) since this is one of my work machine.

Here, too (1:00).

In case this still fails: Can you give the plain PolyBoRi source from bitbucket a try? I had to patch the recent spkg to work around some cython vs. c++ issue.

Not quite lunch time here. I'll make a note to try both. The nature of sage-on-gentoo is that the plain sources will be used over spkg unless the spkg is the only thing that exists or works. We still patch stuff if it is not too big (OK sometimes even when it is big).

@kiwifb
Copy link
Member

kiwifb commented Jul 25, 2011

comment:19

Pulled the latest mercurial tip. Installed fine on linux. OS X (10.5.8 on x86) didn't like it one bit. I compiled with -ggdb which may have an impact.

i686-apple-darwin9-g++ -o groebner/libpolybori_groebner.dylib -Wl,-dead_strip_dylibs -dynamiclib groebner/src/groebner.os groebner/s
rc/LiteralFactorization.os groebner/src/LiteralFactorizationIterator.os groebner/src/randomset.os groebner/src/pairs.os groebner/src
/groebner_alg.os groebner/src/FGLMStrategy.os groebner/src/polynomial_properties.os groebner/src/LexBucket.os groebner/src/dlex4data
.os groebner/src/dp_asc4data.os groebner/src/lp4data.os groebner/src/nf.os groebner/src/interpolate.os groebner/src/GroebnerStrategy
.os groebner/src/PairManager.os groebner/src/PolyEntry.os groebner/src/ReductionStrategy.os groebner/src/MatrixMonomialOrderTables.o
s -L/Users/frb15/Desktop/Gentoo/usr/lib -L/Users/frb15/Desktop/Gentoo/usr/lib/python2.7/config -Lpolybori -Lgroebner -LCudd -lm -lgd
 -lgd -lm4ri -lgd -lgd -lm4ri
ld: warning: directory 'polybori' following -L not found

That's the critical bit where it fails. I'll compare with what happens on linux shortly.

Francois who is a bit snowed in today (some more falling).

@alexanderdreyer
Copy link
Mannequin Author

alexanderdreyer mannequin commented Jul 25, 2011

comment:20

@kiwifb Please pull again. There was indeed an outdated directory name given, which was ignored on Linux.

@malb
Copy link
Member

malb commented Nov 7, 2011

comment:138

Something seems to have gone wrong with the rebased patch:

I

This gave me a few hunks and one conflict in PolynomialConstruct which I fixed. While it now compiles I get these failures:

File "/opt/sage-4.7.2-polybori-0.8/devel/sage/sage/rings/polynomial/pbori.pyx", line 3859:
    sage: loads(dumps(a)) == a
Exception raised:
    Traceback (most recent call last):
    ...
    AttributeError: ('sage.rings.polynomial.pbori.BooleanPolynomialRing' object has no attribute '_element_constructor_', <built-in function unpickle_BooleanPolynomial0>, (Boolean PolynomialRing in a, b, ([[2], [{{a}}]], Boolean PolynomialRing in a, b)))
**********************************************************************
File "/opt/sage-4.7.2-polybori-0.8/devel/sage/sage/rings/polynomial/pbori.pyx", line 4487:
    sage: PolynomialConstruct()(1)
Exception raised:
    Traceback (most recent call last):
    ...
    ValueError: incomplete format
**********************************************************************
File "/opt/sage-4.7.2-polybori-0.8/devel/sage/sage/rings/polynomial/pbori.pyx", line 7445:
    sage: loads(dumps(a+b)) == a+b # indirect doctest
Exception raised:
    Traceback (most recent call last):
    ...
    AttributeError: ('sage.rings.polynomial.pbori.BooleanPolynomialRing' object has no attribute '_element_constructor_', <built-in function unpickle_BooleanPolynomial0>, (Boolean PolynomialRing in a, b, c, d, ([[2], [{{a}, {b}}, {{b}}]], Boolean PolynomialRing in a, b, c, d)))
**********************************************************************
File "/opt/sage-4.7.2-polybori-0.8/devel/sage/sage/rings/polynomial/pbori.pyx", line 7459:
    sage: loads(dumps(a+b)) == a+b # indirect doctest
Exception raised:
    Traceback (most recent call last):
    ...
    AttributeError: ('sage.rings.polynomial.pbori.BooleanPolynomialRing' object has no attribute '_element_constructor_', <built-in function unpickle_BooleanPolynomial0>, (Boolean PolynomialRing in a, b, c, d, ([[2], [{{a}, {b}}, {{b}}]], Boolean PolynomialRing in a, b, c, d)))
**********************************************************************

So something went wrong and Alexander's element_constructor fixes didn't make it into this patch?

@malb
Copy link
Member

malb commented Nov 7, 2011

Changed work issues from cython-0.15.1 to none

@jdemeyer
Copy link

jdemeyer commented Nov 7, 2011

comment:139

Replying to @malb:

Something seems to have gone wrong with the rebased patch:

I

Did you apply the dependency #9138?

@malb
Copy link
Member

malb commented Nov 7, 2011

comment:140

Ha, no! Sorry for the noise then.

@malb
Copy link
Member

malb commented Nov 7, 2011

comment:141

Works as advertised, but I didn't try it with the new Cython yet.

@malb
Copy link
Member

malb commented Nov 9, 2011

comment:142

Works with Sage 4.8.alpha1.

@jdemeyer
Copy link

jdemeyer commented Nov 9, 2011

comment:143

Could you re-export the patch with a username added? Maybe you need to create a $HOME/.hgrc file? See instructions at http://sagemath.org/doc/developer/walk_through.html#submitting-a-change

@alexanderdreyer
Copy link
Mannequin Author

alexanderdreyer mannequin commented Nov 10, 2011

comment:144

Thank for pointing this out. I wasn't aware, that hg's mq doesn't write the username into the patch header. Now, I regenerated the patch using hg export tip.

@jdemeyer

This comment has been minimized.

@alexanderdreyer
Copy link
Mannequin Author

alexanderdreyer mannequin commented Dec 9, 2011

comment:146

@jdemeyer Since #9138 (and its dependencies) is now about to enter Sage 5.0, could we change the milestone to sage-5.0 here? What do you thing?

@jdemeyer jdemeyer added this to the sage-5.0 milestone Dec 9, 2011
@jdemeyer jdemeyer removed the pending label Dec 9, 2011
@jdemeyer
Copy link

Rebased to latest #9138

@jdemeyer
Copy link

comment:148

Attachment: polybori-0.8.0.p1.2.patch.gz

@jdemeyer
Copy link

Merged: sage-5.0.beta1

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants