Closed
Bug 1257095
Opened 9 years ago
Closed 9 years ago
bootstrap.py fails on arch linux with ImportError: No module named 'StringIO'
Categories
(Firefox Build System :: General, defect)
Firefox Build System
General
Tracking
(firefox49 fixed)
RESOLVED
FIXED
mozilla49
Tracking | Status | |
---|---|---|
firefox49 | --- | fixed |
People
(Reporter: sbforman, Assigned: Nat)
Details
Attachments
(1 file)
User Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Firefox/45.0
Build ID: 20160308181531
Steps to reproduce:
i opened up my terminal and typed:
wget -q https://hg.mozilla.org/mozilla-central/raw-file/default/python/mozboot/bin/bootstrap.py -O bootstrap.py && python bootstrap.py
i am runing Linux arche 4.4.3-1-ARCH
Actual results:
this was returned in terminal:
Traceback (most recent call last):
File "bootstrap.py", line 19, in <module>
from StringIO import StringIO
ImportError: No module named 'StringIO'
also a file named "bootstrap.py" was downloaded in the same derectory where the comand was run. when i try python bootstrap.py i get the same error as above.
Expected results:
i was trying to build firefox for the first time.
this fails with python 3 my defalt. but works with python2
Comment 2•9 years ago
|
||
We should rewrite the bootstrapper to work on Python 3.
A quick fix would be to have the bootstrapper detect when it is running on Python 3 and print an error message saying to run on Python 2. I don't like that fix because people may need to figure out how to install Python 2. But it is better than print a stack.
Assignee | ||
Updated•9 years ago
|
Assignee: nobody → nhakkakzadeh
Status: UNCONFIRMED → ASSIGNED
Ever confirmed: true
Assignee | ||
Comment 3•9 years ago
|
||
Should be a stopgap until bootstrapper is ported to Python 3.
Review commit: https://reviewboard.mozilla.org/r/54948/diff/#index_header
See other reviews: https://reviewboard.mozilla.org/r/54948/
Attachment #8756082 -
Flags: review?(gps)
Updated•9 years ago
|
Attachment #8756082 -
Flags: review?(gps)
Comment 4•9 years ago
|
||
Comment on attachment 8756082 [details]
MozReview Request: Bug 1257095 - Bootstrapper now checks if Python interpreter is version 2.6 or 2.7 so users get a readable error instead of a stack trace. r?gps
https://reviewboard.mozilla.org/r/54948/#review51618
::: python/mozboot/bin/bootstrap.py:18
(Diff revision 1)
> # If we add unicode_literals, optparse breaks on Python 2.6.1 (which is needed
> # to support OS X 10.6).
> +
> +import sys
> +if sys.version_info[:2] not in [(2, 6), (2, 7)]:
> + print("Python 2.6 or 2.7 is currently required to run bootstrap. Please re-run with `python2.7` or `python2`")
I'm going to bikeshed the message a bit here.
We want it to be a bit actionable. So how about a more detailed message saved in a ''' string:
Bootstrap currently only runs on Python 2.7 or Python 2.6. Please try re-running with `python2.7` or `python2.6`.
If these aren't available on your system, you may need to install them. Look for a "python2" or "python27" package in your package manager.
::: python/mozboot/bin/bootstrap.py:19
(Diff revision 1)
> # to support OS X 10.6).
> +
> +import sys
> +if sys.version_info[:2] not in [(2, 6), (2, 7)]:
> + print("Python 2.6 or 2.7 is currently required to run bootstrap. Please re-run with `python2.7` or `python2`")
> + sys.exit()
sys.exit(1) to indicate failure.
::: python/mozboot/bin/bootstrap.py:21
(Diff revision 1)
> +import sys
> +if sys.version_info[:2] not in [(2, 6), (2, 7)]:
> + print("Python 2.6 or 2.7 is currently required to run bootstrap. Please re-run with `python2.7` or `python2`")
> + sys.exit()
> +
> from __future__ import print_function
The `__future__` import special in that it must be the first statement in a Python module to have an effect IIRC. So the new code needs to come after this import.
Assignee | ||
Comment 5•9 years ago
|
||
Comment on attachment 8756082 [details]
MozReview Request: Bug 1257095 - Bootstrapper now checks if Python interpreter is version 2.6 or 2.7 so users get a readable error instead of a stack trace. r?gps
Review request updated; see interdiff: https://reviewboard.mozilla.org/r/54948/diff/1-2/
Attachment #8756082 -
Attachment description: MozReview Request: Bug 1257095 - Bootstrapper now checks if Python interpreter is version 2.6 or 2.7 so users get a readable error instead of a stack trace. r?gps → MozReview Request: Bug 1257095 - Fixed Python version check in bootstrapper. r?gps
Attachment #8756082 -
Flags: review?(gps)
Assignee | ||
Comment 6•9 years ago
|
||
Comment on attachment 8756082 [details]
MozReview Request: Bug 1257095 - Bootstrapper now checks if Python interpreter is version 2.6 or 2.7 so users get a readable error instead of a stack trace. r?gps
Review request updated; see interdiff: https://reviewboard.mozilla.org/r/54948/diff/2-3/
Attachment #8756082 -
Attachment description: MozReview Request: Bug 1257095 - Fixed Python version check in bootstrapper. r?gps → MozReview Request: Bug 1257095 - Bootstrapper now checks if Python interpreter is version 2.6 or 2.7 so users get a readable error instead of a stack trace. r?gps
Comment 7•9 years ago
|
||
Comment on attachment 8756082 [details]
MozReview Request: Bug 1257095 - Bootstrapper now checks if Python interpreter is version 2.6 or 2.7 so users get a readable error instead of a stack trace. r?gps
https://reviewboard.mozilla.org/r/54948/#review51634
Attachment #8756082 -
Flags: review?(gps) → review+
Comment 9•9 years ago
|
||
bugherder |
Status: ASSIGNED → RESOLVED
Closed: 9 years ago
status-firefox49:
--- → fixed
Resolution: --- → FIXED
Target Milestone: --- → mozilla49
Updated•7 years ago
|
Product: Core → Firefox Build System
You need to log in
before you can comment on or make changes to this bug.
Description
•