Closed jdm closed 1 year ago
Rather than coming from the build script, this is coming from:
Running `rustc --crate-name mozangle src\lib.rs --error-format=json --json=diagnostic-rendered-ansi --emit=dep-info,link -Cembed-bitcode=no -C debuginfo=2 --test --cfg "feature=\"build_dlls\"" --cfg "feature=\"egl\"" --cfg "feature=\"gl_generator\"" -C metadata=6d28fd8140f746f0 -C extra-filename=-6d28fd8140f746f0 --out-dir C:\projects\mozangle\target\debug\deps -C incremental=C:\projects\mozangle\target\debug\incremental -L dependency=C:\projects\mozangle\target\debug\deps --extern dlopen=C:\projects\mozangle\target\debug\deps\libdlopen-1c0ed7204ee50452.rlib --extern lazy_static=C:\projects\mozangle\target\debug\deps\liblazy_static-0bf900d42368b2f2.rlib -L native=C:\projects\mozangle\target\debug\build\mozangle-5c03d1d2f88f2bff\out -L native=C:\projects\mozangle\target\debug\build\mozangle-5c03d1d2f88f2bff\out -l static=angle -l static=EGL -l d3d9 -l dxguid -l setupapi`
Something is strange here:
= note: EGL.lib(SystemInfo.o) : error LNK2005: "bool __cdecl rx::isWindowsVistaOrGreater(void)" (?isWindowsVistaOrGreater@rx@@YA_NXZ) already defined in angle.lib(SystemInfo.o)
SystemInfo.cpp is included in libANGLE as expected (https://github.com/servo/mozangle/blob/9539b4490316fe56223924cae6e4862b8260c16d/gfx/angle/targets/libANGLE/moz.build#L269), but there's no reason it should be present in libEGL (https://github.com/servo/mozangle/blob/9539b4490316fe56223924cae6e4862b8260c16d/gfx/angle/targets/libEGL/moz.build#L121).
Nevermind, https://github.com/servo/mozangle/blob/9539b4490316fe56223924cae6e4862b8260c16d/build_data.rs#L540 is the authoritative source.
Removing the cargo metadata for EGL.lib fixes all of the link errors but yields this one instead:
= note: Creating library C:\projects\mozangle\target\debug\deps\mozangle-638455f59236ae37.lib and object C:\projects\mozangle\target\debug\deps\mozangle-638455f59236ae37.exp
mozangle-638455f59236ae37.3jzjfs7ldisoptkb.rcgu.o : error LNK2019: unresolved external symbol eglGetError referenced in function _ZN8mozangle5tests16test_egl_linkage17hdeb55f2b85dc57afE
C:\projects\mozangle\target\debug\deps\mozangle-638455f59236ae37.exe : fatal error LNK1120: 1 unresolved externals
It looks like this started happening with rust 1.46.0
It looks like this started happening with rust 1.46.0
Using cargo-rustc-bisect
I get the following results:
nightly-2020-06-02, ===> No
nightly-2020-06-16, ===> No
nightly-2020-06-19, ===> No
nightly-2020-06-20, ===> Yes
nightly-2020-06-21, ===> Yes
nightly-2020-06-23, ===> Yes
nightly-2020-07-01, ===> Yes
More detail:
********************************************************************************
Regression in nightly-2020-06-20
********************************************************************************
fetching https://static.rust-lang.org/dist/2020-06-19/channel-rust-nightly-git-commit-hash.txt
converted 2020-06-19 to e55d3f9c5213fe1a25366450127bdff67ad1eca2
rust-std-nightly-x86_64-pc-windows-msvc: 13.27 MB / 13.27 MB 100.00 % 10.15 MB/s
nightly manifest 2020-06-19: 32 B / 40 B [===========>---] 80.00 % 1.55 MB/s 0s
fetching https://static.rust-lang.org/dist/2020-06-20/channel-rust-nightly-git-commit-hash.txt
converted 2020-06-20 to 2d8bd9b74dc0cf06d881bac645698ccbcf9d9c5e
nightly manifest 2020-06-19: 40 B / 40 B [===============] 100.00 % 547.09 KB/s
nightly manifest 2020-06-20: 32 B / 40 B [===========>---] 80.00 % 1.84 MB/s 0s
looking for regression commit between 2020-06-19 and 2020-06-20
opening existing repository at "rust.git"
Found origin remote under name `origin`
refreshing repository at "rust.git"
From https://github.com/rust-lang/rust
3a5c8e91f09..df0d9b492da master -> origin/master
fetching (via local git) commits from e55d3f9c5213fe1a25366450127bdff67ad1eca2 to 2d8bd9b74dc0cf06d881bac645698ccbcf9d9c5e
opening existing repository at "rust.git"
Found origin remote under name `origin`
refreshing repository at "rust.git"
looking up first commit
looking up second commit
checking that commits are by bors and thus have ci artifacts...
finding bors merge commits
found 6 bors merge commits in the specified range
commit[0] 2020-06-18: Auto merge of #73384 - petrochenkov:gnulink, r=cuviper
commit[1] 2020-06-18: Auto merge of #73446 - ecstatic-morse:issue-73431, r=pnkfelix
commit[2] 2020-06-19: Auto merge of #73486 - Manishearth:rollup-11iyqpc, r=Manishearth
commit[3] 2020-06-19: Auto merge of #73498 - RalfJung:rollup-1mfjcju, r=RalfJung
commit[4] 2020-06-19: Auto merge of #73504 - RalfJung:rollup-iy8hsvl, r=RalfJung
commit[5] 2020-06-19: Auto merge of #73257 - davidtwco:issue-73249-improper-ctypes-projection, r=lcnr,varkor
ERROR: no CI builds available between e55d3f9c5213fe1a25366450127bdff67ad1eca2 and 2d8bd9b74dc0cf06d881bac645698ccbcf9d9c5e within last 167 days
After reading list of commits the most suspicious is https://github.com/rust-lang/rust/pull/72785
Any new appveyor run against unmodified code now results in a lot of linker errors when building the EGL DLLs: