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

VS Build Tools 2019 now fails to build Servo #24331

Closed
saschanaz opened this issue Oct 1, 2019 · 7 comments · Fixed by #24344
Closed

VS Build Tools 2019 now fails to build Servo #24331

saschanaz opened this issue Oct 1, 2019 · 7 comments · Fixed by #24344

Comments

@saschanaz
Copy link
Contributor

saschanaz commented Oct 1, 2019

> ./mach build -d
**********************************************************************
** Visual Studio 2019 Developer Command Prompt v16.0
** Copyright (c) 2019 Microsoft Corporation
**********************************************************************
[vcvarsall.bat] Environment initialized for: 'x64'
   Compiling mozjs_sys v0.67.1 (https://github.com/servo/mozjs?rev=8e3ac9b0228f9cd92ac2ce718cf1436860f18a8f#8e3ac9b0)
   Compiling metrics v0.0.1 (C:\Users\sasch\Documents\GitHub\servo\components\metrics)
   Compiling webvr v0.0.1 (C:\Users\sasch\Documents\GitHub\servo\components\webvr)
   Compiling webdriver_server v0.0.1 (C:\Users\sasch\Documents\GitHub\servo\components\webdriver_server)
   Compiling script_layout_interface v0.0.1 (C:\Users\sasch\Documents\GitHub\servo\components\script_layout_interface)
   Compiling layout_traits v0.0.1 (C:\Users\sasch\Documents\GitHub\servo\components\layout_traits)
   Compiling compositing v0.0.1 (C:\Users\sasch\Documents\GitHub\servo\components\compositing)
   Compiling layout_2013 v0.0.1 (C:\Users\sasch\Documents\GitHub\servo\components\layout)
   Compiling constellation v0.0.1 (C:\Users\sasch\Documents\GitHub\servo\components\constellation)
error: failed to run custom build command for `mozjs_sys v0.67.1 (https://github.com/servo/mozjs?rev=8e3ac9b0228f9cd92ac2ce718cf1436860f18a8f#8e3ac9b0)`

Caused by:
  process didn't exit successfully: `C:\Users\sasch\Documents\GitHub\servo\target\debug\build\mozjs_sys-cd52e29390809397\build-script-build` (exit code: 101)
--- stdout
[[ /c/Users/sasch/.cargo/git/checkouts/mozjs-fa11ffc7d4f1cc2d/8e3ac9b/mozjs/js/src/configure -ot /c/Users/sasch/.cargo/git/checkouts/mozjs-fa11ffc7d4f1cc2d/8e3ac9b/mozjs/js/src/configure.in ]] && touch /c/Users/sasch/.cargo/git/checkouts/mozjs-fa11ffc7d4f1cc2d/8e3ac9b/mozjs/js/src/configure || true
[[ /c/Users/sasch/.cargo/git/checkouts/mozjs-fa11ffc7d4f1cc2d/8e3ac9b/mozjs/js/src/old-configure -ot /c/Users/sasch/.cargo/git/checkouts/mozjs-fa11ffc7d4f1cc2d/8e3ac9b/mozjs/js/src/old-configure.in ]] && touch /c/Users/sasch/.cargo/git/checkouts/mozjs-fa11ffc7d4f1cc2d/8e3ac9b/mozjs/js/src/old-configure || true
! [[ /c/Users/sasch/.cargo/git/checkouts/mozjs-fa11ffc7d4f1cc2d/8e3ac9b/mozjs/js/src/configure.in -ot /c/Users/sasch/.cargo/git/checkouts/mozjs-fa11ffc7d4f1cc2d/8e3ac9b/mozjs/js/src/configure ]] && touch /c/Users/sasch/.cargo/git/checkouts/mozjs-fa11ffc7d4f1cc2d/8e3ac9b/mozjs/js/src/configure || true
! [[ /c/Users/sasch/.cargo/git/checkouts/mozjs-fa11ffc7d4f1cc2d/8e3ac9b/mozjs/js/src/old-configure.in -ot /c/Users/sasch/.cargo/git/checkouts/mozjs-fa11ffc7d4f1cc2d/8e3ac9b/mozjs/js/src/old-configure ]] && touch /c/Users/sasch/.cargo/git/checkouts/mozjs-fa11ffc7d4f1cc2d/8e3ac9b/mozjs/js/src/old-configure || true
if [[ /c/Users/sasch/.cargo/git/checkouts/mozjs-fa11ffc7d4f1cc2d/8e3ac9b/mozjs/js/src/configure -nt C:/Users/sasch/Documents/GitHub/servo/target/debug/build/mozjs_sys-f8f1fecdac8ceda2/out/config.status ]] ; then \
  cd C:/Users/sasch/Documents/GitHub/servo/target/debug/build/mozjs_sys-f8f1fecdac8ceda2/out && \
  PYTHON="C:\Python27\python.exe" MOZ_TOOLS="/" \
  CC="clang-cl.exe" CFLAGS="-MD" \
  CPP="" CPPFLAGS="" \
  CXX="clang-cl.exe" CXXFLAGS="-MD" \
  AS="" AR="" \
  STLPORT_LIBS="" \
  RUST_TARGET="x86_64-pc-windows-msvc" RUST_HOST="x86_64-pc-windows-msvc" \
  /c/Users/sasch/.cargo/git/checkouts/mozjs-fa11ffc7d4f1cc2d/8e3ac9b/mozjs/js/src/configure --disable-jemalloc --disable-js-shell --disable-tests --disable-shared-js --build-backends=RecursiveMake --enable-posix-nspr-emulation --with-visual-studio-version=2017 --target=x86_64-pc-mingw32 --host=x86_64-pc-mingw32 || (cat config.log && exit 1) ; \
fi
Reexecuting in the virtualenv
checking for vcs source checkout... no
checking for a shell... C:/Users/sasch/Documents/GitHub/servo/.servo/msvc-dependencies/moztools/3.2/msys/bin/sh.exe
checking for host system type... x86_64-pc-mingw32
checking for target system type... x86_64-pc-mingw32
checking for Python 3... c:\Users\sasch\AppData\Local\Microsoft\WindowsApps\python3.EXE (3.7.4)
checking whether cross compiling... no
checking for yasm... c:/Users/sasch/Documents/GitHub/servo/.servo/msvc-dependencies/moztools/3.2/bin/yasm.exe
checking yasm version... 1.3.0
INFO: checking for vcs source checkout...
INFO: no
INFO: checking for a shell...
INFO: C:/Users/sasch/Documents/GitHub/servo/.servo/msvc-dependencies/moztools/3.2/msys/bin/sh.exe
INFO: checking for host system type...
INFO: x86_64-pc-mingw32
INFO: checking for target system type...
INFO: x86_64-pc-mingw32
INFO: checking for Python 3...
INFO: c:\Users\sasch\AppData\Local\Microsoft\WindowsApps\python3.EXE (3.7.4)
INFO: checking whether cross compiling...
INFO: no
INFO: checking for yasm...
DEBUG: yasm: Trying yasm
INFO: c:/Users/sasch/Documents/GitHub/servo/.servo/msvc-dependencies/moztools/3.2/bin/yasm.exe
INFO: checking yasm version...
DEBUG: Executing: `c:/Users/sasch/Documents/GitHub/servo/.servo/msvc-dependencies/moztools/3.2/bin/yasm.exe --version`
INFO: 1.3.0
ERROR: Visual Studio 2017 could not be found!

--- stderr
which: python2.7: unknown command
ERROR: Visual Studio 2017 could not be found!
mozmake: *** [makefile.cargo:195: maybe-configure] Error 1
thread 'main' panicked at 'assertion failed: result.success()', C:\Users\sasch\.cargo\git\checkouts\mozjs-fa11ffc7d4f1cc2d\8e3ac9b\build.rs:128:5
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace.

warning: build failed, waiting for other jobs to finish...
error: build failed
Build FAILED in 0:00:37

Servo has been able to be built with VS Build Tools 2019 with its optional VC++ 2017 (thanks to #23667), but now it just fails.

@saschanaz
Copy link
Contributor Author

The error message seems to be from mozjs but the script looks months old, not sure what caused this.

@jdm
Copy link
Member

jdm commented Oct 1, 2019

SpiderMonkey requires 2017. 2019 is not supported, unfortunately.

@jdm jdm closed this as completed Oct 1, 2019
@saschanaz
Copy link
Contributor Author

saschanaz commented Oct 1, 2019

Bisecting says it's a regression by #24076. Since you did the PR, could you give me more details? @jdm

@saschanaz
Copy link
Contributor Author

(gecko-dev builds fine on the same environment.)

@jdm
Copy link
Member

jdm commented Oct 1, 2019

The version of spidermonkey that we embed explicitly forbids VS 2019.

@saschanaz
Copy link
Contributor Author

Seems servo/mozjs#197 is the culprit. As I said on OP the Build Tools 2019 can provide VC++ 2017 so this is not quite right.

@saschanaz
Copy link
Contributor Author

Like this:

image

bors-servo pushed a commit that referenced this issue Oct 2, 2019
Support `--features vslatestinstalled`

<!-- Please describe your changes on the following line: -->

Matches servo/rust-mozjs#477.

---
<!-- 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 #24331

<!-- 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. -->

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/24344)
<!-- Reviewable:end -->
bors-servo pushed a commit that referenced this issue Oct 3, 2019
Support `--features vslatestinstalled`

<!-- Please describe your changes on the following line: -->

Matches servo/rust-mozjs#477.

---
<!-- 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 #24331

<!-- 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. -->

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/24344)
<!-- Reviewable:end -->
bors-servo pushed a commit that referenced this issue Oct 3, 2019
Support `--features vslatestinstalled`

<!-- Please describe your changes on the following line: -->

Matches servo/rust-mozjs#477.

---
<!-- 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 #24331

<!-- 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. -->

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/24344)
<!-- Reviewable:end -->
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants