installing msolve on a binary release of SageMath-10.7 for macOS
Bonjour,
A colleague of mine is using macOS. We managed to install and use the binary release of SageMath-10.7 for macOS 10.13 availaible at https://github.com/3-manifolds/Sage_m.... Now my colleague wants to install msolve to solve groebner basis.
- Unfortunately,
sage -i msolvedoes not work? What is the recommended way to install a package like msolve on this sage? The user is a usual mac user which hates opening a terminal. - I don't know from which repository I could run
make msolve? - Therefore, I installed Xcode tools and I downloaded the msolve source from https://msolve.lip6.fr/ and run
.configure,makeandsudo make install. - The command
msolveis now present (all tests passed duringmake check) on the command line (both the normal command line and sage -sh).
Surprisingly, sage keeps telling me the msolve feature is still not present (?). I get the following error:
sage: P.<a,b,c> = PolynomialRing(QQ,3, order='degrevlex')
sage: I = sage.rings.ideal.Katsura(P,3)
sage: I.groebner_basis(algorithm='msolve', proof=False)
Traceback (most recent call last)
...
FeatureNotPresentError: msolve is not available.
Executable 'msolve' not found on PATH.
Further installation instructions might be available at https://msolve.lip6.fr/.
Why?
UPDATE:
On the command line (after running sage in the terminal), the msolve feature is not detected eventhough it is present:
sage: from sage.features.msolve import msolve
sage: msolve().is_present()
FeatureTestResult('msolve', False)
sage: msolve().is_functional()
FeatureTestResult('msolve', False)
sage: !msolve -h
msolve library for polynomial system solving
implemented by J. Berthomieu, C. Eder, M. Safey El Din
...
But, in a jupyter notebook, I get something different, or let's say worse, because an error is raised. I get:
sage: from sage.features.msolve import msolve
sage: msolve().is_present()
FeatureTestResult('msolve', False)
sage: msolve().is_functional()
Traceback (most recent call last):
File /private/var/tmp/sage-10.6-current/local/var/lib/sage/venv-python3.12.5/lib/python3.12/site-packages/sage/features/msolve.py:57, in msolve.is_functional(self)
56 """
---> 57 msolve_out = subprocess.run(["msolve", "-h"], capture_output=True)
59 # if msolve_out.returncode != 0:
FileNotFoundError: [Errno 2] No such file or directory: 'msolve'
sage: !msolve -h
zsh:1: command not found: msolve
Try to run the following and check the output:
The first returns
FeatureTestResult('msolve', False). The second returns:Also:
which makes me thinks I may have compiled msolve using bash, but not zsh. Maybe it is a reason it does not sees msolve?
In the question you said that
sage: !msolve -hworks, but now you say it doesn't. Please clarify.My bad. I am reporting from my ubuntu about the behavior on the mac of a colleague. I assumed something which was not true when writing the question. I just fixed the question: I removed the "This confirms msolve is there:" part.