Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 512284 - [sage-on-gentoo overlay] dev-python/gmpy is blocking sci-mathematics/sage-6.2
Summary: [sage-on-gentoo overlay] dev-python/gmpy is blocking sci-mathematics/sage-6.2
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Christopher Schwan
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2014-06-03 12:43 UTC by Juergen Rose
Modified: 2014-06-19 08:53 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Juergen Rose 2014-06-03 12:43:35 UTC
'emerge -uvDN sage' fails with:
...
root@impala:/root(5)# emerge -uvDN sage 

These are the packages that would be merged, in order:

Calculating dependencies... done!
[ebuild  N     ] sci-mathematics/lrcalc-1.1.7::sage-on-gentoo  USE="-static-libs" 296 kB
[ebuild  N     ] sci-libs/symmetrica-2.0-r4::sage-on-gentoo  USE="doc" 704 kB
...
[ebuild  N     ] dev-python/gmpy-2.0.3:2  USE="-mpir" PYTHON_TARGETS="python2_7 python3_3 (-python2_6) -python3_2" 273 kB
...
[ebuild  N     ] sci-mathematics/gmp-ecm-6.4.4-r2::sage-on-gentoo  USE="blas custom-tune -gwnum -openmp -static-libs {-test}" 920 kB
...
[ebuild     U  ] sci-mathematics/pari-2.5.5-r2::sage-on-gentoo [2.3.5::gentoo] USE="X data doc fltk gmp qt4%* (-static-libs%)" 2,664 kB
...
[ebuild  N     ] sci-mathematics/sage-6.2::sage-on-gentoo  USE="latex testsuite -debug -lrs -nauty" PYTHON_TARGETS="python2_7" 14 kB
[ebuild  N     ] sci-mathematics/sage-data-conway_polynomials-0.4-r1::sage-on-gentoo  221 kB
[ebuild  N     ] sci-mathematics/sage-doc-6.2::sage-on-gentoo  USE="html pdf" PYTHON_TARGETS="python2_7" 0 kB
[ebuild  N     ] sci-mathematics/sage-notebook-0.10.8.2-r1::sage-on-gentoo  USE="java server {-test}" PYTHON_TARGETS="python2_7" 6,527 kB
[blocks B      ] dev-python/gmpy ("dev-python/gmpy" is blocking sci-mathematics/sage-6.2)

Total: 76 packages (1 upgrade, 75 new), Size of downloads: 259,003 kB
Conflict: 1 block (1 unsatisfied)

!!! Multiple package instances within a single package slot have been pulled
!!! into the dependency graph, resulting in a slot conflict:

sci-mathematics/pari:0

  (sci-mathematics/pari-2.5.5-r2:0/0::sage-on-gentoo, ebuild scheduled for merge) pulled in by
    =sci-mathematics/pari-2.5.5-r2[data,gmp] required by (sci-mathematics/sage-6.2:0/0::sage-on-gentoo, ebuild scheduled for merge)
    ^                     ^^^^^^^^                                                                                                                                                        
    >=sci-mathematics/pari-2.5.5 required by (sci-mathematics/sage-clib-6.2:0/0::sage-on-gentoo, ebuild scheduled for merge)
    ^^                     ^^^^^                                                                                                                                                   
    =sci-mathematics/pari-2.5* required by (sci-mathematics/lcalc-1.23-r5:0/0::sage-on-gentoo, ebuild scheduled for merge)
    ^                     ^^^^                                                                                                                                                   
    (and 3 more with the same problems)

  (sci-mathematics/pari-2.3.5:0/0::gentoo, installed) pulled in by
    ~sci-mathematics/pari-2.3.5 required by (dev-perl/math-pari-2.10.806.50:0/0::gentoo, installed)
    ^                     ^^^^^                                                                           ...
    * Error: The above package list contains packages which cannot be
 * installed at the same time on the same system.

  (dev-python/gmpy-2.0.3:2/2::gentoo, ebuild scheduled for merge) pulled in by
    dev-python/gmpy required by (dev-python/mpmath-0.18:0/0::gentoo, ebuild scheduled for merge)

  (sci-mathematics/sage-6.2:0/0::sage-on-gentoo, ebuild scheduled for merge) pulled in by
    sci-mathematics/sage required by (sci-mathematics/sage-doc-6.2:0/0::sage-on-gentoo, ebuild scheduled for merge)
    sci-mathematics/sage required by (sci-mathematics/sage-data-conway_polynomials-0.4-r1:0/0::sage-on-gentoo, ebuild scheduled for merge)
    sage
    sci-mathematics/sage[python_targets_python2_7(-)?,-python_single_target_python2_7(-)] (sci-mathematics/sage[python_targets_python2_7(-),-python_single_target_python2_7(-)]) required by (sci-mathematics/sage-notebook-0.10.8.2-r1:0/0::sage-on-gentoo, ebuild scheduled for merge)

    

'emerge -uvDN --backtrack=30 sage' fails with the same error.

pari-2.3.5 seems to be required by math-pari-2.10.806.50 which is a dependency of GBrowse-2.48. If I remove GBrowse-2.48 and the dependent packages, 'emerge -uvDN --backtrack=30 sage' still fails with:

...
[ebuild  N     ] dev-python/gmpy-2.0.3:2  USE="-mpir" PYTHON_TARGETS="python2_7 python3_3 (-python2_6) -python3_2" 273 kB
...
[ebuild  N     ] sci-mathematics/sage-6.2::sage-on-gentoo  USE="latex testsuite -debug -lrs -nauty" PYTHON_TARGETS="python2_7" 14 kB
[ebuild  N     ] sci-mathematics/sage-data-conway_polynomials-0.4-r1::sage-on-gentoo  221 kB
[ebuild  N     ] sci-mathematics/sage-doc-6.2::sage-on-gentoo  USE="html pdf" PYTHON_TARGETS="python2_7" 0 kB
[ebuild  N     ] sci-mathematics/sage-notebook-0.10.8.2-r1::sage-on-gentoo  USE="java server {-test}" PYTHON_TARGETS="python2_7" 6,527 kB
[blocks B      ] dev-python/gmpy ("dev-python/gmpy" is blocking sci-mathematics/sage-6.2)

Total: 76 packages (76 new), Size of downloads: 259,003 kB
Conflict: 1 block (1 unsatisfied)

 * Error: The above package list contains packages which cannot be
 * installed at the same time on the same system.

  (dev-python/gmpy-2.0.3:2/2::gentoo, ebuild scheduled for merge) pulled in by
    dev-python/gmpy required by (dev-python/mpmath-0.18:0/0::gentoo, ebuild scheduled for merge)

  (sci-mathematics/sage-6.2:0/0::sage-on-gentoo, ebuild scheduled for merge) pulled in by
    sci-mathematics/sage required by (sci-mathematics/sage-doc-6.2:0/0::sage-on-gentoo, ebuild scheduled for merge)
    sci-mathematics/sage required by (sci-mathematics/sage-data-conway_polynomials-0.4-r1:0/0::sage-on-gentoo, ebuild scheduled for merge)
    sage
    sci-mathematics/sage[python_targets_python2_7(-)?,-python_single_target_python2_7(-)] (sci-mathematics/sage[python_targets_python2_7(-),-python_single_target_python2_7(-)]) required by (sci-mathematics/sage-notebook-0.10.8.2-r1:0/0::sage-on-gentoo, ebuild scheduled for merge)



Any hint is appreciated.
Comment 1 Christopher Schwan 2014-06-06 10:09:44 UTC
I opened a ticket in our bugtracker: https://github.com/cschwan/sage-on-gentoo/issues/304
Comment 2 François Bissey 2014-06-06 10:47:25 UTC
This is my doing and absolutely voluntary, period.

I put it after being bored to death having to diagnose install going foobar because gmpy and sage were installed at the same time. You can troll the gentoo-science mailing list to find a few cases.

In fact the problem is how mpmath/sympy interact with sage and gmpy. The short of it is that they can use either sage or gmpy to do arbitrary precision arithmetics on integer. 

This is "controlled" by two variables (look into /usr/lib64/python2.7/site-packages/mpmath/libmp/backend.py). The variables are to turn things off. If you have both sage and gmpy wanting on the action at the same time sympy/mpmath and by extension sage itself will crash with strange error messages.

We may be in luck as the next problem that was making the use of the variables a farce as been fixed in the latest mpmath (I contacted the author and we had a chat about were to go but he never told me he committed that little fix). Prior to mpmath 0.18 they was an import of sage that didn't respect the variable. So if you wanted to use mpmath/sympy with gmpy instead of sage or none of them, that was bad luck because sage was autodiscovered and used. Cue for the crash if you had already loaded gmpy.

But the short of it: even if I unblock it you will have to be careful what you are doing. I have already put 
export MPMATH_NOGMPY=1
in sage-env so a normal session started with "sage" will work.
If you want to start sympy/mpmath on their own You will have to set the appropriate variable yourself otherwise you'll be toast.

I also worked hard so that you can do "import sage all" from the python prompt. Started that way you don't read sage-env. If you have gmpy installed and didn't set the above variable: crash.

Note that it may also impact sympy installation as sympy import itself in its own setup.py. sage and gmpy are installed you want to re-install sympy or upgrade it: crash.

I hope you'll excuse my venting but it has been a regular source of problem until I screamed at somebody on gentoo-science and put the block.

What do you want gmpy for anyway?
Comment 3 Juergen Rose 2014-06-10 18:06:49 UTC
(In reply to Francois Bissey from comment #2)
> This is my doing and absolutely voluntary, period.
> 
> I put it after being bored to death having to diagnose install going foobar
> because gmpy and sage were installed at the same time. You can troll the
> gentoo-science mailing list to find a few cases.
> 
> In fact the problem is how mpmath/sympy interact with sage and gmpy. The
> short of it is that they can use either sage or gmpy to do arbitrary
> precision arithmetics on integer. 
> 
> This is "controlled" by two variables (look into
> /usr/lib64/python2.7/site-packages/mpmath/libmp/backend.py). The variables
> are to turn things off. If you have both sage and gmpy wanting on the action
> at the same time sympy/mpmath and by extension sage itself will crash with
> strange error messages.
> 
> We may be in luck as the next problem that was making the use of the
> variables a farce as been fixed in the latest mpmath (I contacted the author
> and we had a chat about were to go but he never told me he committed that
> little fix). Prior to mpmath 0.18 they was an import of sage that didn't
> respect the variable. So if you wanted to use mpmath/sympy with gmpy instead
> of sage or none of them, that was bad luck because sage was autodiscovered
> and used. Cue for the crash if you had already loaded gmpy.
> 
> But the short of it: even if I unblock it you will have to be careful what
> you are doing. I have already put 
> export MPMATH_NOGMPY=1
> in sage-env so a normal session started with "sage" will work.
> If you want to start sympy/mpmath on their own You will have to set the
> appropriate variable yourself otherwise you'll be toast.
> 
> I also worked hard so that you can do "import sage all" from the python
> prompt. Started that way you don't read sage-env. If you have gmpy installed
> and didn't set the above variable: crash.
> 
> Note that it may also impact sympy installation as sympy import itself in
> its own setup.py. sage and gmpy are installed you want to re-install sympy
> or upgrade it: crash.
> 
> I hope you'll excuse my venting but it has been a regular source of problem
> until I screamed at somebody on gentoo-science and put the block.
> 
> What do you want gmpy for anyway?


I do not have any special interest in gmpy. As you can see from my first posting, 'emerge -uvDN sage' tries to install gmpy as a dependency.
Comment 4 Juergen Rose 2014-06-10 18:17:45 UTC
(In reply to Francois Bissey from comment #2)
> This is my doing and absolutely voluntary, period.
> 
> I put it after being bored to death having to diagnose install going foobar
> because gmpy and sage were installed at the same time. You can troll the
> gentoo-science mailing list to find a few cases.
> 
> In fact the problem is how mpmath/sympy interact with sage and gmpy. The
> short of it is that they can use either sage or gmpy to do arbitrary
> precision arithmetics on integer. 
> 
> This is "controlled" by two variables (look into
> /usr/lib64/python2.7/site-packages/mpmath/libmp/backend.py). The variables
> are to turn things off. If you have both sage and gmpy wanting on the action
> at the same time sympy/mpmath and by extension sage itself will crash with
> strange error messages.
 

BTW., I do not have any /usr/lib64/python2.7/site-packages/mpmath/libmp/backend.py. I suppose, because mpmath is not yet installed.
Comment 5 François Bissey 2014-06-10 21:36:00 UTC
No, not sage. mpmath, which is the source of the problem because you probably have gmp as a global use flag and it pulls gmpy.

If you were linking our package.use/sage file in your /etc/portage/package.use folder this wouldn't happen.
Comment 6 Juergen Rose 2014-06-11 11:54:43 UTC
(In reply to Francois Bissey from comment #5)
> No, not sage. mpmath, which is the source of the problem because you
> probably have gmp as a global use flag and it pulls gmpy.
> 
> If you were linking our package.use/sage file in your
> /etc/portage/package.use folder this wouldn't happen.

I tried to transfer the settings from your package.use/sage to my /etc/portage/package.use. If I do 'emerge -vuND sage' 73 of 75 packages are emerged, but  sci-mathematics/sage-doc-6.2 fails with:

>>> Compiling source in /var/tmp/portage/sci-mathematics/sage-doc-6.2/work/sage-6.2/src ...
 * python2_7: running distutils-r1_run_phase python_compile
Setting permissions of DOT_SAGE directory so only you can read and write it.

Building reference manual, first pass.

[repl     ] Exception occurred:
[dynamics ] Exception occurred:
[arithgrou] Exception occurred:
[dynamics ] File "/var/tmp/portage/sci-mathematics/sage-doc-6.2/work/sage-6.2/src/doc/common/conf.py", line 206, in <module>
[repl     ] File "/var/tmp/portage/sci-mathematics/sage-doc-6.2/work/sage-6.2/src/doc/common/conf.py", line 206, in <module>
[arithgrou] File "/var/tmp/portage/sci-mathematics/sage-doc-6.2/work/sage-6.2/src/doc/common/conf.py", line 206, in <module>
[arithgrou] sagenb_path = working_set.find(Requirement.parse('sagenb')).location
[arithgrou] AttributeError: 'NoneType' object has no attribute 'location'
[dynamics ] sagenb_path = working_set.find(Requirement.parse('sagenb')).location
[dynamics ] AttributeError: 'NoneType' object has no attribute 'location'
[repl     ] sagenb_path = working_set.find(Requirement.parse('sagenb')).location
[repl     ] AttributeError: 'NoneType' object has no attribute 'location'
[dynamics ] The full traceback has been saved in /var/tmp/portage/sci-mathematics/sage-doc-6.2/temp/python2.7/sphinx-err-dMTa6b.log, if you want to report the issue to the developers.
[dynamics ] Please also report this if it was a user error, so that a better error message can be provided next time.
[dynamics ] A bug report can be filed in the tracker at <https://bitbucket.org/birkenfeld/sphinx/issues/>. Thanks!
[repl     ] The full traceback has been saved in /var/tmp/portage/sci-mathematics/sage-doc-6.2/temp/python2.7/sphinx-err-dxeiJb.log, if you want to report the issue to the developers.
[arithgrou] The full traceback has been saved in /var/tmp/portage/sci-mathematics/sage-doc-6.2/temp/python2.7/sphinx-err-OkflGA.log, if you want to report the issue to the developers.
[arithgrou] Please also report this if it was a user error, so that a better error message can be provided next time.
[arithgrou] A bug report can be filed in the tracker at <https://bitbucket.org/birkenfeld/sphinx/issues/>. Thanks!
[repl     ] Please also report this if it was a user error, so that a better error message can be provided next time.
[repl     ] A bug report can be filed in the tracker at <https://bitbucket.org/birkenfeld/sphinx/issues/>. Thanks!
[combinat ] Exception occurred:
[combinat ] File "/var/tmp/portage/sci-mathematics/sage-doc-6.2/work/sage-6.2/src/doc/common/conf.py", line 206, in <module>
[combinat ] sagenb_path = working_set.find(Requirement.parse('sagenb')).location
[combinat ] AttributeError: 'NoneType' object has no attribute 'location'
[combinat ] The full traceback has been saved in /var/tmp/portage/sci-mathematics/sage-doc-6.2/temp/python2.7/sphinx-err-5aukae.log, if you want to report the issue to the developers.
[combinat ] Please also report this if it was a user error, so that a better error message can be provided next time.
[combinat ] A bug report can be filed in the tracker at <https://bitbucket.org/birkenfeld/sphinx/issues/>. Thanks!
Error building the documentation.

Note: incremental documentation builds sometimes cause spurious
error messages. To be certain that these are real errors, run
"make doc-clean" first and try again.
Traceback (most recent call last):
  File "doc/common/builder.py", line 1477, in <module>
...


In /var/tmp/portage/sci-mathematics/sage-doc-6.2/temp/python2.7/sphinx-err-dMTa6b.logn I find:

# Sphinx version: 1.2.2
# Python version: 2.7.6
# Docutils version: 0.11 release
# Jinja2 version: 2.7.2
# Loaded extensions:
Traceback (most recent call last):
  File "/usr/lib64/python2.7/site-packages/sphinx/cmdline.py", line 253, in main
    warningiserror, tags, verbosity, parallel)
  File "/usr/lib64/python2.7/site-packages/sphinx/application.py", line 107, in __init__
    confoverrides or {}, self.tags)
  File "/usr/lib64/python2.7/site-packages/sphinx/config.py", line 229, in __init__
    execfile_(filename, config)
  File "/usr/lib64/python2.7/site-packages/sphinx/util/pycompat.py", line 105, in execfile_
    exec code in _globals
  File "conf.py", line 16, in <module>
    # ---------------------
  File "/var/tmp/portage/sci-mathematics/sage-doc-6.2/work/sage-6.2/src/doc/common/conf.py", line 206, in <module>
    sagenb_path = working_set.find(Requirement.parse('sagenb')).location
AttributeError: 'NoneType' object has no attribute 'location'


In /var/tmp/portage/sci-mathematics/sage-doc-6.2/temp/python2.7/sphinx-err-dxeiJb.log I find:

# Sphinx version: 1.2.2
# Python version: 2.7.6
# Docutils version: 0.11 release
# Jinja2 version: 2.7.2
# Loaded extensions:
Traceback (most recent call last):
  File "/usr/lib64/python2.7/site-packages/sphinx/cmdline.py", line 253, in main
    warningiserror, tags, verbosity, parallel)
  File "/usr/lib64/python2.7/site-packages/sphinx/application.py", line 107, in __init__
    confoverrides or {}, self.tags)
  File "/usr/lib64/python2.7/site-packages/sphinx/config.py", line 229, in __init__
    execfile_(filename, config)
  File "/usr/lib64/python2.7/site-packages/sphinx/util/pycompat.py", line 105, in execfile_
    exec code in _globals
  File "conf.py", line 16, in <module>
    # ---------------------
  File "/var/tmp/portage/sci-mathematics/sage-doc-6.2/work/sage-6.2/src/doc/common/conf.py", line 206, in <module>
    sagenb_path = working_set.find(Requirement.parse('sagenb')).location
AttributeError: 'NoneType' object has no attribute 'location'



The same I find in /var/tmp/portage/sci-mathematics/sage-doc-6.2/temp/python2.7/sphinx-err-OkflGA.log .
Comment 7 François Bissey 2014-06-11 12:02:32 UTC
OK this is a different issue from gmpy. But it is novel as far as I can tell, but it goes with other issues concerning building the doc. I'll have to inspect it tomorrow to see if it fits with any of the other problems we know about with sphinx 1.2.x.

Christopher: I think we can close this bug. I'll talk with Juergen in another forum.
Comment 8 François Bissey 2014-06-12 10:21:00 UTC
I think your documentation building problem is because sage-doc wants to install before sage-notebook and because that's the first time you install you didn't have a previous version of it to mask the problem.

My recomendations:
* because you have sphinx 1.2.x please add 
sci-mathematics/sage-doc -pdf
to your use flags that will save you from filling another bug because it doesn't work (issue reported in sphinx upstream).
* merge sage-notebook before sage-doc manually (with --nodeps if necessary)

Whether it helps or not please report so I have a clear idea of whether or not I need to add problems to the already long ticket at
https://github.com/cschwan/sage-on-gentoo/issues/210
Comment 9 Juergen Rose 2014-06-12 14:16:47 UTC
(In reply to Francois Bissey from comment #8)
> I think your documentation building problem is because sage-doc wants to
> install before sage-notebook and because that's the first time you install
> you didn't have a previous version of it to mask the problem.
> 
> My recomendations:
> * because you have sphinx 1.2.x please add 
> sci-mathematics/sage-doc -pdf
> to your use flags that will save you from filling another bug because it
> doesn't work (issue reported in sphinx upstream).
> * merge sage-notebook before sage-doc manually (with --nodeps if necessary)
> 
> Whether it helps or not please report so I have a clear idea of whether or
> not I need to add problems to the already long ticket at
> https://github.com/cschwan/sage-on-gentoo/issues/210

Thanks Francois, I did the following:
1st: added  -pdf to sci-mathematics/sage-doc in /etc/portage/package.use
2nd: 'emerge -v1 sage-notebook'
3rd: 'emerge --update --newuse --deep --with-bdeps=y --exclude "yacas netcdf" sage'
     which installs sage-doc-6.2 (the step '* python2_7: running distutils-r1_run_phase python_install' stands very long in sleeping state ca. 50 minutes)
4th: removed -pdf from sci-mathematics/sage-doc in /etc/portage/package.use
5th: I tried 'MAKEOPTS=-j1 emerge -v1 sage-doc'. Which failed with:

Package hyperref Warning: Token not allowed in a PDF string (PDFDocEncoding):
(hyperref)                removing `math shift' on input line 84457.
! LATEX ERROR: BAD MATH ENVIRONMENT DELIMITER.
SEE THE LATEX MANUAL OR LATEX COMPANION FOR EXPLANATION.
Type  H <return>  for immediate help.
 ...
l.84457 \chapter{\(q\)-Bernoulli Numbers}
? 
! Emergency stop.
 ...
l.84457 \chapter{\(q\)-Bernoulli Numbers}
!  ==> Fatal error occurred, no output PDF file produced!
Transcript written on combinat.log.


I.e., without the pdf USE flag I can emerge sage-doc, with the flag it is not working.
Comment 10 François Bissey 2014-06-12 21:13:18 UTC
I am sorry that you didn't understand that generating pdf documentation is currently broken with sphinx 1.2.x see
https://bitbucket.org/birkenfeld/sphinx/issue/1480/latex-math-output-is-broken-for-inline

So you have to go on without pdf for the time being or downgrade to sphinx 1.1.x,
actually I should put it in depend. We were hoping for a fast resolution but it is not happening.
Comment 11 Juergen Rose 2014-06-19 08:53:53 UTC
(In reply to Francois Bissey from comment #10)
> I am sorry that you didn't understand that generating pdf documentation is
> currently broken with sphinx 1.2.x see
> https://bitbucket.org/birkenfeld/sphinx/issue/1480/latex-math-output-is-
> broken-for-inline
> 
> So you have to go on without pdf for the time being or downgrade to sphinx
> 1.1.x,
> actually I should put it in depend. We were hoping for a fast resolution but
> it is not happening.

Thank you Francois for your help, I did not understand, that the generation of pdf documentation is now generally broken with sphinx 1.2.x. There have been several other gentoo packages, where it was necessary for the first installation to disable the doc USE flag. But the subsequent installation accept the doc USE flag. I wanted only to test if is similar with pdf USE flag for sage-doc.


I still have issues to start notebook() and tutorial(). The problem with tutorial() I reported already at https://groups.google.com/forum/#!topic/sage-support/kLRyfzxlGC8.

Should I report these issues https://groups.google.com/forum/#!forum/sage-support or better here at the gentoo bug tracker?