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

Update to cargo-0.18.0-nightly (fa1b12a 2017-02-07) #15852

Closed
wants to merge 1 commit into from
Closed

Conversation

@SimonSapin
Copy link
Member

SimonSapin commented Mar 7, 2017

Initial PR title and message: Update to rustc 1.17.0-nightly (11bc48a15 2017-03-06) and cargo 0.17.0-nightly (385e243 2017-01-27).


This change is Reviewable

@SimonSapin
Copy link
Member Author

SimonSapin commented Mar 7, 2017

Let’s try to isolate the failure in #15565 (comment)

@bors-servo try

@bors-servo
Copy link
Contributor

bors-servo commented Mar 7, 2017

Trying commit 9325b29 with merge 88cc53b...

bors-servo added a commit that referenced this pull request Mar 7, 2017
Update to rustc 1.17.0-nightly (11bc48a15 2017-03-06)…

and cargo 0.17.0-nightly (385e243 2017-01-27).
@bors-servo
Copy link
Contributor

bors-servo commented Mar 7, 2017

💔 Test failed - windows-gnu-dev

@SimonSapin
Copy link
Member Author

SimonSapin commented Mar 7, 2017

Yup, same:

bash -l ./mach test-unit
[…]
   Compiling layout_tests v0.0.1 (file:///C:/buildbot/slave/windows-gnu-dev/build/tests/unit/layout)
    Finished dev [unoptimized + debuginfo] target(s) in 51.84 secs
     Running C:\buildbot\slave\windows-gnu-dev\build\target\debug\deps\gfx_tests-07dc130213a68c25.exe
error: test failed
program finished with exit code 127
@nox nox removed the S-awaiting-review label Mar 8, 2017
@SimonSapin SimonSapin force-pushed the rustup branch from 9325b29 to fe5a797 Mar 8, 2017
@SimonSapin SimonSapin changed the title Update to rustc 1.17.0-nightly (11bc48a15 2017-03-06)… Update to rustc 1.17.0-nightly (11bc48a15 2017-03-06) Mar 8, 2017
@SimonSapin
Copy link
Member Author

SimonSapin commented Mar 8, 2017

Let’s see with only rust updated, not cargo.

@bors-servo try

@bors-servo
Copy link
Contributor

bors-servo commented Mar 8, 2017

Trying commit fe5a797 with merge 6302e4c...

bors-servo added a commit that referenced this pull request Mar 8, 2017
Update to rustc 1.17.0-nightly (11bc48a15 2017-03-06)

<s>and cargo 0.17.0-nightly (385e243 2017-01-27).</s>

<!-- 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/15852)
<!-- Reviewable:end -->
@bors-servo
Copy link
Contributor

bors-servo commented Mar 8, 2017

💔 Test failed - mac-rel-wpt2

@nox
Copy link
Member

nox commented Mar 8, 2017

I killed some useless jobs, here is windows-gnu-dev.

@nox
Copy link
Member

nox commented Mar 8, 2017

It didn't break, so the culprit is cargo, not rustc.

@nox
Copy link
Member

nox commented Mar 8, 2017

@highfive highfive removed the S-tests-failed label Mar 9, 2017
@nox
Copy link
Member

nox commented Mar 9, 2017

@bors-servo
Copy link
Contributor

bors-servo commented Mar 9, 2017

Trying commit f160408 with merge 0cd8a9e...

bors-servo added a commit that referenced this pull request Mar 9, 2017
Update to rustc 1.17.0-nightly (11bc48a15 2017-03-06)

<s>and cargo 0.17.0-nightly (385e243 2017-01-27).</s>

<!-- 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/15852)
<!-- Reviewable:end -->
@bors-servo
Copy link
Contributor

bors-servo commented Mar 9, 2017

💔 Test failed - windows-msvc-dev

@nox
Copy link
Member

nox commented Mar 9, 2017

Killed all jobs but windows-gnu-dev.

@nox nox force-pushed the rustup branch from f160408 to 23fdbc8 Mar 9, 2017
@highfive highfive removed the S-tests-failed label Mar 9, 2017
@alexcrichton
Copy link
Contributor

alexcrichton commented Mar 10, 2017

The required DLLs of that test (at least locally) appear to be:

        DLL Name: ADVAPI32.dll
        DLL Name: GDI32.dll
        DLL Name: KERNEL32.dll
        DLL Name: msvcrt.dll
        DLL Name: SHELL32.dll
        DLL Name: USER32.dll
        DLL Name: USERENV.dll
        DLL Name: WS2_32.dll
        DLL Name: libstdc++-6.dll
        DLL Name: LIBEAY32.dll
        DLL Name: SSLEAY32.dll

Most of those are pretty standard so the DLLs except for the last three. The libstdc++ dll is typically located in C:\msys64\mingw64\bin which I see is in PATH. The last two, libeay32 and ssleay32 are OpenSSL dlls, and at least locally they're also located in C:\msys64\mingw64\bin.

That then brings up the question of why is this failing? Or is it not failing due to dll issues?

So debugging this a little more locally it looks like the wrong libstdc++-6.dll is being loaded. Presumably mach (I think?) is placing the .servo/... rustc bin dir in PATH, and because that's a MinGW compiler it contains libstdc++-6.dll next to it. This one is quite old though and different from the one you're actually linking to, C:\msys64\mingw64\bin\libstdc++-6.dll.

So previously Cargo would insert C:\msys64\mingw64\bin into PATH at the beginning but it is now not currently doing so (assuming that the user has configured that). The two crates that print out this path, libz and openssl-sys, ironically don't actually link to libstdc++ at all, so it was just being picked up by accident!

To fix this some possible solutions could be:

  • Don't use MinGW host compilers, only MSVC ones. These don't ship with any odd DLLs and you shouldn't run into any conflicts. Note that you'll want to install the MinGW target though which will allow you to still compile libraries (also the MSVC target so you can run plugins).
  • Change the location of rustc in PATH or make sure that dir doesn't show up in PATH at all (the .servo downloaded compiler). That'll make sure the bad dll isn't accidentally picked up.

That's unfortunately all I can think of :(

@SimonSapin
Copy link
Member Author

SimonSapin commented Mar 10, 2017

We can probably change mach to not use PATH at all. Instead, run Cargo with an absolute path to its executable, and give it RUSTC and RUSTDOC environment variables with similar absolute paths.

@nox
Copy link
Member

nox commented Mar 10, 2017

@alexcrichton Doesn't that mean that the MinGW host compiler is useless now? Is @retep998 correct when qualifying this as a breaking change?

@alexcrichton
Copy link
Contributor

alexcrichton commented Mar 10, 2017

@SimonSapin I believe that would work, yeah.

@nox perhaps, I personally find cross-compiling from MSVC to MinGW far more useful, but there are many opinions here. I do not have an opinion on @retep998's comment.

@SimonSapin SimonSapin force-pushed the rustup branch from f9add75 to 659c634 Mar 11, 2017
@SimonSapin SimonSapin changed the title Update to rustc 1.17.0-nightly (11bc48a15 2017-03-06) Update to cargo-0.18.0-nightly (fa1b12a 2017-02-07) Mar 11, 2017
@SimonSapin
Copy link
Member Author

SimonSapin commented Mar 11, 2017

(I’ve edited this PR to be only about Cargo and filed #15911 separately for the compiler update.)

@larsbergstrom
Copy link
Contributor

larsbergstrom commented Mar 13, 2017

I'm not 100% sure (it's been 10 years or so), but one thing that we might also be able to do is use the file element in the application manifest cargo.exe.manifest to point to the relative path where the installed file is:
https://msdn.microsoft.com/en-us/library/windows/desktop/aa374191%28v=vs.85%29.aspx?f=255&MSPPError=-2147217396

IIRC, this comes before PATH entries in the LoadLibrary search order.

@nox
Copy link
Member

nox commented Mar 13, 2017

Don't use MinGW host compilers, only MSVC ones.

How hard would it be to do that @larsbergstrom?

@alexcrichton
Copy link
Contributor

alexcrichton commented Mar 13, 2017

@larsbergstrom oh that'd work perfectly if we could do that, in that case it'd basically be the same thing as rpath we use for other platforms. Mind filing a rust-lang/rust issue with that info?

@nox nox force-pushed the rustup branch from 659c634 to c16234f Mar 26, 2017
@nox nox closed this Mar 26, 2017
@nox nox deleted the rustup branch Mar 26, 2017
@nox
Copy link
Member

nox commented Apr 19, 2017

@larsbergstrom Did you file an issue in the end?

@larsbergstrom
Copy link
Contributor

larsbergstrom commented Apr 22, 2017

@nox I did not manage to track down the details on how that stuff worked yet (it's on my backlog!). But, @metajack turned off mingw builds so you should be unblocked.

@nox
Copy link
Member

nox commented Apr 22, 2017

bors-servo added a commit that referenced this pull request Apr 25, 2017
Update to cargo 0.19.0-nightly (994e552 2017-04-25)

This should be unblocked now: #15852 (comment)

<!-- 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/16601)
<!-- Reviewable:end -->
bors-servo added a commit that referenced this pull request Apr 28, 2017
Update to cargo 0.19.0-nightly (994e552 2017-04-25)

This should be unblocked now: #15852 (comment)

<!-- 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/16601)
<!-- Reviewable:end -->
bors-servo added a commit that referenced this pull request Apr 28, 2017
Update to cargo 0.19.0-nightly (994e552 2017-04-25)

This should be unblocked now: #15852 (comment)

<!-- 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/16601)
<!-- Reviewable:end -->
moz-v2v-gh pushed a commit to mozilla/gecko-dev that referenced this pull request Apr 28, 2017
…-25) (from servo:cargoup); r=nox

This should be unblocked now: servo/servo#15852 (comment)

Source-Repo: https://github.com/servo/servo
Source-Revision: f1287814db78aee51c94ac0eb8d14393f7a1086e

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 4ad3f8b2565d12d4bd9c19ef0799c2e1d0673dc8
JerryShih pushed a commit to JerryShih/gecko-dev that referenced this pull request May 2, 2017
…-25) (from servo:cargoup); r=nox

This should be unblocked now: servo/servo#15852 (comment)

Source-Repo: https://github.com/servo/servo
Source-Revision: f1287814db78aee51c94ac0eb8d14393f7a1086e
jryans pushed a commit to jryans/gecko-dev that referenced this pull request May 3, 2017
…-25) (from servo:cargoup); r=nox

This should be unblocked now: servo/servo#15852 (comment)

Source-Repo: https://github.com/servo/servo
Source-Revision: f1287814db78aee51c94ac0eb8d14393f7a1086e
gecko-dev-updater pushed a commit to marco-c/gecko-dev-comments-removed that referenced this pull request Oct 1, 2019
…-25) (from servo:cargoup); r=nox

This should be unblocked now: servo/servo#15852 (comment)

Source-Repo: https://github.com/servo/servo
Source-Revision: f1287814db78aee51c94ac0eb8d14393f7a1086e

UltraBlame original commit: a380c705ade35636c1e2fc7e65c0e7310f8f425f
gecko-dev-updater pushed a commit to marco-c/gecko-dev-wordified that referenced this pull request Oct 1, 2019
…-25) (from servo:cargoup); r=nox

This should be unblocked now: servo/servo#15852 (comment)

Source-Repo: https://github.com/servo/servo
Source-Revision: f1287814db78aee51c94ac0eb8d14393f7a1086e

UltraBlame original commit: a380c705ade35636c1e2fc7e65c0e7310f8f425f
gecko-dev-updater pushed a commit to marco-c/gecko-dev-wordified-and-comments-removed that referenced this pull request Oct 1, 2019
…-25) (from servo:cargoup); r=nox

This should be unblocked now: servo/servo#15852 (comment)

Source-Repo: https://github.com/servo/servo
Source-Revision: f1287814db78aee51c94ac0eb8d14393f7a1086e

UltraBlame original commit: a380c705ade35636c1e2fc7e65c0e7310f8f425f
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked issues

Successfully merging this pull request may close these issues.

None yet

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