Bug 1243590

Summary: unable to start QEPCAD within sage
Product: [Fedora] Fedora Reporter: Ben Liblit <liblit>
Component: sagemathAssignee: Paulo Andrade <paulo.cesar.pereira.de.andrade>
Status: CLOSED NEXTRELEASE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: unspecified    
Version: 22CC: dev, paulo.cesar.pereira.de.andrade
Target Milestone: ---   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: 6.5-7.fc22 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2015-08-23 19:49:48 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Ben Liblit 2015-07-15 20:51:53 UTC
Description of problem:

Fedora's packaging of sagemath includes an interface with qepcad, and Fedora also packages qepcad itself.  Unfortunately, the integration does not work: sagemath is unable to start qepcad even for the most basic smoke tests.


Version-Release number of selected component (if applicable):

sagemath-core-6.4.1-4.fc22.x86_64
qepcad-B-1.69-8.fc22.x86_64


How reproducible:

Completely deterministic: 100% reproducible.


Steps to Reproduce:

1. Install both sagemath and qepcad-B.
2. Run command: sage -c 'print qepcad_version()'


Actual results:

Traceback (most recent call last):
  File "/usr/lib64/sagemath/local/bin/sage-eval", line 13, in <module>
    eval(compile(s,'<cmdline>','exec'))
  File "<cmdline>", line 1, in <module>
  File "/usr/lib64/python2.7/site-packages/sage/interfaces/qepcad.py", line 1539, in qepcad_version
    banner = str(qepcad_banner())
  File "/usr/lib64/python2.7/site-packages/sage/interfaces/qepcad.py", line 1520, in qepcad_banner
    qex._start()
  File "/usr/lib64/python2.7/site-packages/sage/interfaces/expect.py", line 444, in _start
    raise RuntimeError("unable to start %s" % self.name())
RuntimeError: unable to start QEPCAD


Expected results:

Version B 1.69, 16 Mar 2012


Additional info:

If you set the $SAGE_PEXPECT_LOG to 1 before running the sage command, you will get a log file of the form "~/.sage/pexpect_logs/QEPCAD-*-*-*.log" that reveals some information about the conversation between the sage process and the qepcad subprocess.  In particular, the log file reports:

    Error HELPFRD: Could not open /usr/lib64/sagemath/local/bin/qepcad.help

Indeed, no such file exists on my system.  I do see a "/usr/share/qepcad/bin/qepcad.help" file which is installed as part of qepcad-B, though.  So it seeems there is a bad path somewhere between sage and qepcad.  If I manually (as root) make a symlink from "/usr/lib64/sagemath/local/bin/qepcad.help" to "/usr/share/qepcad/bin/qepcad.help", the problem goes away.  I'm not convinced that this is the *proper* fix, but the fact that it works at all seems informative.

Comment 1 Paulo Andrade 2015-07-19 17:55:08 UTC
Thanks. I remember I had it corrected when packaging
sagemath for Mandriva. For some reason the patch got
lost at some point, when I started packaging for
Fedora.

I found an instance of the patch, that needs to be
adapted and applied for Fedora (as well as the proper
requires for qepcad) at

https://abf.rosalinux.ru/import/sagemath/blob/rosa2014.1/sage-qepcad.patch

Comment 2 Paulo Andrade 2015-07-19 18:16:33 UTC
Fixed for rawhide in
http://pkgs.fedoraproject.org/cgit/sagemath.git/commit/?id=396208cf9aacda720996e12c50f878b439115020

I will make a f22 update once the other issues are work
out.

Comment 3 Ben Liblit 2015-07-19 21:38:27 UTC
Thanks for giving this your attention so quickly, Paulo.  I'm glad you recognized the bug and remembered your earlier fix!

Comment 4 Fedora Update System 2015-08-06 14:14:52 UTC
sagemath-6.5-7.fc22 has been submitted as an update for Fedora 22.
https://admin.fedoraproject.org/updates/sagemath-6.5-7.fc22

Comment 5 Fedora Update System 2015-08-07 12:53:40 UTC
Package sagemath-6.5-7.fc22:
* should fix your issue,
* was pushed to the Fedora 22 testing repository,
* should be available at your local mirror within two days.
Update it with:
# su -c 'yum update --enablerepo=updates-testing sagemath-6.5-7.fc22'
as soon as you are able to.
Please go to the following url:
https://admin.fedoraproject.org/updates/FEDORA-2015-12901/sagemath-6.5-7.fc22
then log in and leave karma (feedback).

Comment 6 Fedora Update System 2015-08-23 19:49:45 UTC
sagemath-6.5-7.fc22 has been pushed to the Fedora 22 stable repository. If problems still persist, please make note of it in this bug report.