pplpy compilation fails with cp: cannot stat 'build/html/*': No such file or directory
Closed this issue · 6 comments
When running make build on Ubuntu 20.10 in WSL 1.0, the post-install script of pplpy fails with the following error:
[pplpy-0.8.6] Successfully installed pplpy-0.8.6
[pplpy-0.8.6] Removed build tracker: '/tmp/pip-req-tracker-790w7b77'
[pplpy-0.8.6]
[pplpy-0.8.6] real 0m43.499s
[pplpy-0.8.6] user 0m35.531s
[pplpy-0.8.6] sys 0m7.406s
[pplpy-0.8.6] Copying package files from temporary location /mnt/d/Programming/sage/local/var/tmp/sage/build/pplpy-0.8.6/inst to /mnt/d/Programming/sage/local
[pplpy-0.8.6] Running post-install script for pplpy-0.8.6.
[pplpy-0.8.6] Traceback (most recent call last):
[pplpy-0.8.6] File "/mnt/d/Programming/sage/local/bin/sphinx-build", line 5, in <module>
[pplpy-0.8.6] from sphinx.cmd.build import main
[pplpy-0.8.6] File "/mnt/d/Programming/sage/local/lib/python3.8/site-packages/sphinx/cmd/build.py", line 25, in <module>
[pplpy-0.8.6] from sphinx.application import Sphinx
[pplpy-0.8.6] File "/mnt/d/Programming/sage/local/lib/python3.8/site-packages/sphinx/application.py", line 31, in <module>
[pplpy-0.8.6] from sphinx.config import Config
[pplpy-0.8.6] File "/mnt/d/Programming/sage/local/lib/python3.8/site-packages/sphinx/config.py", line 28, in <module>
[pplpy-0.8.6] from sphinx.util.tags import Tags
[pplpy-0.8.6] File "/mnt/d/Programming/sage/local/lib/python3.8/site-packages/sphinx/util/tags.py", line 11, in <module>
[pplpy-0.8.6] from jinja2 import nodes
[pplpy-0.8.6] File "/mnt/d/Programming/sage/local/lib/python3.8/site-packages/jinja2/__init__.py", line 6, in <module>[pplpy-0.8.6] from markupsafe import escape
[pplpy-0.8.6] ValueError: source code string cannot contain null bytes
[pplpy-0.8.6] make[5]: *** [Makefile:21: html] Error 1
[pplpy-0.8.6] cp: cannot stat 'build/html/*': No such file or directory
[pplpy-0.8.6]
[pplpy-0.8.6] real 0m0.203s
[pplpy-0.8.6] user 0m0.047s
[pplpy-0.8.6] sys 0m0.141s
[pplpy-0.8.6] ************************************************************************
[pplpy-0.8.6] Error running the postinst script for pplpy-0.8.6.
[pplpy-0.8.6] ************************************************************************
[pplpy-0.8.6] Please email sage-devel (http://groups.google.com/group/sage-devel)
[pplpy-0.8.6] explaining the problem and including the log files
[pplpy-0.8.6] /mnt/d/Programming/sage/logs/pkgs/pplpy-0.8.6.log
[pplpy-0.8.6] and
[pplpy-0.8.6] /mnt/d/Programming/sage/config.log
[pplpy-0.8.6] Describe your computer, operating system, etc.
[pplpy-0.8.6] ************************************************************************
make[4]: *** [Makefile:2098: pplpy-no-deps] Error 1
make[3]: *** [Makefile:2098: /mnt/d/Programming/sage/local/var/lib/sage/installed/pplpy-0.8.6] Error 2
make[2]: *** [Makefile:1797: all-build] Error 2
make[2]: Leaving directory '/mnt/d/Programming/sage/build/make'
Component: packages: standard
Issue created by migration from https://trac.sagemath.org/ticket/31407
cp is not the actual error. The problem is before [pplpy-0.8.6] ValueError: source code string cannot contain null bytes. I believe that the post-install script is not aborted if compilation fails. Since the documentation was not created build/html/*' the cp fails.
So one thing is to solve "abort on failure" and the other thing is to fix the issue.
Moreover, none of the pplpy file contains null bytes string.
Is this error reproducible in the WSL GH Actions workflow? (which needs attention, by the way - #31088)
BTW, is WSL 1.0 a supported platform for SageMath? The https://wiki.sagemath.org/SageWindows only mentions 2.0. If the answer is no, this is not a critical priority.
Moving to 9.4, as 9.3 has been released.
Setting a new milestone for this ticket based on a cursory review.