Opened 3 years ago
Closed 21 months ago
#28742 closed defect (invalid)
sage-python incremental build breakage
Reported by: | vbraun | Owned by: | |
---|---|---|---|
Priority: | major | Milestone: | sage-duplicate/invalid/wontfix |
Component: | build | Keywords: | |
Cc: | jhpalmieri | Merged in: | |
Authors: | Reviewers: | ||
Report Upstream: | N/A | Work issues: | |
Branch: | Commit: | ||
Dependencies: | Stopgaps: |
Description
The sage
target in src/Makefile can be called if the previous build was incomplete, in particular if six has not been installed. But our setup.py implicitly depends on six:
[sagelib-9.0.beta5] cd . && export \ [sagelib-9.0.beta5] SAGE_ROOT=/doesnotexist \ [sagelib-9.0.beta5] SAGE_SRC=/doesnotexist \ [sagelib-9.0.beta5] SAGE_SRC_ROOT=/doesnotexist \ [sagelib-9.0.beta5] SAGE_DOC_SRC=/doesnotexist \ [sagelib-9.0.beta5] SAGE_BUILD_DIR=/doesnotexist \ [sagelib-9.0.beta5] SAGE_PKGS=/var/lib/buildbot/slave/sage_git/build/build/pkgs \ [sagelib-9.0.beta5] && sage-python -u setup.py --no-user-cfg build install [sagelib-9.0.beta5] /var/lib/buildbot/slave/sage_git/build/src/bin/sage-env: line 130: cd: /doesnotexist: No such file or directory [sagelib-9.0.beta5] Warning: overwriting SAGE_ROOT environment variable: [sagelib-9.0.beta5] Old SAGE_ROOT=/doesnotexist [sagelib-9.0.beta5] New SAGE_ROOT= [sagelib-9.0.beta5] Traceback (most recent call last): [sagelib-9.0.beta5] File "setup.py", line 22, in <module> [sagelib-9.0.beta5] import fpickle_setup [sagelib-9.0.beta5] File "/var/lib/buildbot/slave/sage_git/build/src/fpickle_setup.py", line 8, in <module> [sagelib-9.0.beta5] from six.moves import copyreg [sagelib-9.0.beta5] ModuleNotFoundError: No module named 'six' [sagelib-9.0.beta5] Makefile:33: recipe for target 'sage' failed [sagelib-9.0.beta5] make[4]: *** [sage] Error 1 [sagelib-9.0.beta5] make[4]: Leaving directory '/var/lib/buildbot/slave/sage_git/build/src'
Change History (15)
comment:1 Changed 3 years ago by
comment:2 Changed 3 years ago by
I see this now, incremental build from 9.0.beta5 -> 9.0.beta6.
[sagelib-9.0.beta6] Traceback (most recent call last): [sagelib-9.0.beta6] File "setup.py", line 22, in <module> [sagelib-9.0.beta6] import fpickle_setup [sagelib-9.0.beta6] File "/64bitdev/storage/sage-git_develop/sage/src/fpickle_setup.py", line 8, in <module> [sagelib-9.0.beta6] from six.moves import copyreg [sagelib-9.0.beta6] ModuleNotFoundError: No module named 'six' [sagelib-9.0.beta6] make[4]: *** [Makefile:33: sage] Error 1 [sagelib-9.0.beta6] make[4]: Leaving directory '/64bitdev/storage/sage-git_develop/sage/src'
I looks like six
is only installed for python2.7
comment:3 follow-up: ↓ 4 Changed 3 years ago by
Silly question: is this an incremental build which was originally based on Python 2, now trying to use Python 3?
comment:4 in reply to: ↑ 3 Changed 3 years ago by
Replying to jhpalmieri:
Silly question: is this an incremental build which was originally based on Python 2, now trying to use Python 3?
The original build was with Python 2. The failure resulted from
git pull make
So I presume it's still Python 2.
comment:5 Changed 3 years ago by
But maybe with 9.0.beta6
Python 3 is the default.
comment:6 Changed 3 years ago by
Yes, the post has now appeared on sage-release
. Python 3 is the default.
comment:7 follow-up: ↓ 8 Changed 3 years ago by
If the Python version switches in the middle of an incremental upgrade, that's not very graceful, but it will certainly cause problems. Is that what's going on? What does ./sage --sh -c 'echo $SAGE_PYTHON_VERSION'
say?
comment:8 in reply to: ↑ 7 Changed 3 years ago by
Replying to jhpalmieri:
If the Python version switches in the middle of an incremental upgrade, that's not very graceful, but it will certainly cause problems. Is that what's going on? What does
./sage --sh -c 'echo $SAGE_PYTHON_VERSION'
say?
From sage
make distclean make
seemed to fix things here. I'm not anxious to continue with Python 2 and with the above Python 3 is being used. It seems a bit severe but perhaps what's needed.
comment:9 Changed 3 years ago by
I just did a test with similar results: started a Python 2 build with 9.0.beta5, then did git trac pull develop
and started make
. Then ./sage --sh -c 'echo $SAGE_PYTHON_VERSION'
reported 3
, which is only going to lead to problems. This is due to #28660, I guess.
comment:10 Changed 3 years ago by
I just posted this on #28660: in the case of building with Python 2, then merging this ticket and trying to an incremental upgrade, "we should detect the version mismatch and either keep using Python 2 or abort the make process, telling the user what the issue is."
comment:11 Changed 2 years ago by
- Milestone changed from sage-9.0 to sage-9.1
Ticket retargeted after milestone closed
comment:12 Changed 2 years ago by
- Milestone changed from sage-9.1 to sage-9.2
Moving tickets to milestone sage-9.2 based on a review of last modification date, branch status, and severity.
comment:13 Changed 21 months ago by
- Milestone changed from sage-9.2 to sage-duplicate/invalid/wontfix
- Status changed from new to needs_review
This is likely outdated after the removal of python 2 support
comment:14 Changed 21 months ago by
- Status changed from needs_review to positive_review
comment:15 Changed 21 months ago by
- Resolution set to invalid
- Status changed from positive_review to closed
six
is a dependency forsagelib
, so how does this happen?