Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

`./mach bootstrap` fails on my Ubuntu 18.04 LTS installation #24561

Closed
stephengtuggy opened this issue Oct 27, 2019 · 5 comments
Closed

`./mach bootstrap` fails on my Ubuntu 18.04 LTS installation #24561

stephengtuggy opened this issue Oct 27, 2019 · 5 comments

Comments

@stephengtuggy
Copy link

@stephengtuggy stephengtuggy commented Oct 27, 2019

When I run ./mach bootstrap, it errors out. At first I thought that this might be because I had python3-virtualenv installed on my machine, but not python-virtualenv (the Python 2 version). But now I have both, and I'm still getting errors.

I am running a relatively fresh install of Ubuntu 18.04 LTS, x86_64, on a UEFI-based system with legacy BIOS features turned off. I just reinstalled Ubuntu about a month ago. I have been pretty busy with development activities on it, though. I have a 6-core, 3-GHz, 8th-gen Core i5 processor, and 16 GB of DDR4-2666 SDRAM.

The error output in my terminal is as follows:

Traceback (most recent call last):
  File "./mach", line 103, in <module>
    main(sys.argv)
  File "./mach", line 31, in main
    sys.exit(mach_bootstrap.bootstrap_command_only(topdir))
  File "/home/<username>/Projects/repos/git/GitHub/servo/servo/python/mach_bootstrap.py", line 227, in bootstrap_command_only
    from servo.bootstrap import bootstrap
  File "/home/<username>/Projects/repos/git/GitHub/servo/servo/python/servo/bootstrap.py", line 11, in <module>
    import distro
ImportError: No module named distro

It's worth noting that I have at least three different versions of Python installed on my computer, at the Ubuntu system level: 2.7, 3.6, and 3.7.

What other information do you guys need?

Thanks!

@jdm
Copy link
Member

@jdm jdm commented Oct 27, 2019

Same issue as #24541. To work around it right now, install the distro pip package.

@JoshMcguigan
Copy link
Contributor

@JoshMcguigan JoshMcguigan commented Oct 28, 2019

@highfive: assign me

@highfive
Copy link

@highfive highfive commented Oct 28, 2019

Hey @JoshMcguigan! Thanks for your interest in working on this issue. It's now assigned to you!

@highfive highfive added the C-assigned label Oct 28, 2019
@JoshMcguigan
Copy link
Contributor

@JoshMcguigan JoshMcguigan commented Oct 28, 2019

I've opened PR #24567 which resolves this issue on my machine.

bors-servo added a commit that referenced this issue Nov 12, 2019
HSTS & CA updates; Fix Debian bootstrap; Default to https on Android, too.

- Updated HSTS Preload list using ./mach update-hsts-preload
- Updated CA [database](https://ccadb-public.secure.force.com/mozilla/IncludedCACertificateReportPEMCSV) using etc/cert_generator.sh.
  - No additions.
  - [bug 1552374](https://bugzilla.mozilla.org/show_bug.cgi?id=1552374) removed Certinomis - Root CA
  - [bug 1574670](https://bugzilla.mozilla.org/show_bug.cgi?id=1574670) removed Class 2 Primary CA and Deutsche Telekom Root CA 2
  - [bug 1586081](https://bugzilla.mozilla.org/show_bug.cgi?id=1586081) removed GlobalSign Extended Validation CA - SHA256 - G2
- Updated Public Suffix list using ./mach update-pub-domains
- Default to https on Android, too. Desktop was done in #23363.
Keep http:// after `android.webkit.URLUtil.guessUrl()` url sanitization only if the user explicitly typed it into the address bar.
Small warning: I don't have an Android build environment yet, but still wanted to try to contribute these two lines.
- Fixed `./mach bootstrap` for Debian Testing. Regression from #24512.
After `pip install distro` (#24561) I finally got `Exception: mach bootstrap does not support Debian GNU/Linux, please file a bug`.
distrib and version were "debian" and "bullseye/sid" before, now they are "debian gnu/linux" and "testing".
- Use HSTS preload list for private HttpState, too. Private HttpState currently [creates an empty HSTS list](https://github.com/servo/servo/blob/f7fb130a2a21ae19cf0996251134ad23fea9068d/components/net/http_loader.rs#L93-L95). In contrast, regular HttpState first creates HstsList from Preload list and then adds further HSTS entries previously saved on disk.

---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `___` with appropriate data: -->
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [ ] These changes fix #___ (GitHub issue number if applicable)

<!-- Either: -->
- [ ] There are tests for these changes OR
- [ ] These changes do not require tests because ___

<!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.-->

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->
bors-servo added a commit that referenced this issue Nov 14, 2019
mach bootstrap - activate virtual env

This modifies the `./mach bootstrap` script to activate the python virtual environment, fixing issues on systems that don't have `six` and `distro` pre-installed.

---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `___` with appropriate data: -->
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes fix #24561 (also relevant to #24541)

<!-- Either: -->
- [ ] There are tests for these changes OR
- [x] These changes do not require tests because they are in the `./mach bootstrap` script - although this may be something that could be checked in CI - Is there any interest in setting this up?
bors-servo added a commit that referenced this issue Nov 14, 2019
mach bootstrap - activate virtual env

This modifies the `./mach bootstrap` script to activate the python virtual environment, fixing issues on systems that don't have `six` and `distro` pre-installed.

---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `___` with appropriate data: -->
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes fix #24561 (also relevant to #24541)

<!-- Either: -->
- [ ] There are tests for these changes OR
- [x] These changes do not require tests because they are in the `./mach bootstrap` script - although this may be something that could be checked in CI - Is there any interest in setting this up?
@stephengtuggy
Copy link
Author

@stephengtuggy stephengtuggy commented Mar 8, 2020

BTW, I wanted to thank you guys for jumping on this so quickly after I posted the issue. Much appreciated. It seems like there is a very healthy level of engagement among this community. Kudos!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked pull requests

Successfully merging a pull request may close this issue.

4 participants
You can’t perform that action at this time.