-
Notifications
You must be signed in to change notification settings - Fork 13.1k
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
build-gcc: Create missing cc symlink #60366
Conversation
(rust_highfive has picked a reviewer for you, use r? to override) |
Just as a comment, most distros use a symlink not a hard link. It's not relevant to the functionality of this, but I don't know if Docker will prefer a symlink? |
Yeah, can you test a symlink? |
Let's get the image up in the cache: @bors try |
⌛ Trying commit 10eab3b with merge cf796ea5637a329004d586e913f0263bb24c1242... |
💔 Test failed - checks-travis |
The job Click to expand the log.
I'm a bot! I can only do what humans tell me to, so if this was not helpful or you have suggestions for improvements, please ping or otherwise contact |
Timeout I think, so |
@bors retry |
build-gcc: Create missing cc hard link This PR mostly fixes build error caused by using rustc docker images to build [rustup][1] (with the error: ``linker `cc` not found``). I don't know why gcc build script doesn't install cc hard link by default. In build log, with `make SHELL='sh -x' install`, gcc build script installs c++ hard link but not `cc` one: ```bash if test "" != "yes" ; then \ rm -f /rustroot/bin/g++; \ /usr/bin/install -c xg++ /rustroot/bin/g++; \ chmod a+x /rustroot/bin/g++; \ rm -f /rustroot/bin/c++; \ ( cd /rustroot/bin && \ ln g++ c++ ); \ if [ -f cc1plus ] ; then \ if [ ! -f g++-cross ] ; then \ rm -f /rustroot/bin/x86_64-unknown-linux-gnu-g++; \ ( cd /rustroot/bin && \ ln g++ x86_64-unknown-linux-gnu-g++ ); \ rm -f /rustroot/bin/x86_64-unknown-linux-gnu-c++; \ ( cd /rustroot/bin && \ ln c++ x86_64-unknown-linux-gnu-c++ ); \ fi ; \ fi; \ fi ``` This might be fixed downstream by manually creating cc hard link or setting `RUSTFLAGS="-C linker=gcc"` as [suggested by @mati865][2]. But I find it better to fix it upstream in this PR. [1]: rust-lang/rustup#1815 [2]: rust-lang/rustup#1815 (comment)
The try build is successful. Should we move on? |
Yeah, thanks! @bors r+ |
📌 Commit 484b304 has been approved by |
⌛ Testing commit 484b304 with merge 624fdddbdda472ffd71982d89100d61322d74ef5... |
💔 Test failed - checks-travis |
The job Click to expand the log.
I'm a bot! I can only do what humans tell me to, so if this was not helpful or you have suggestions for improvements, please ping or otherwise contact |
@bors retry |
@bors p=1 |
⌛ Testing commit 484b304 with merge eea0e361d1e160c8249b0e941b63743493ac68f8... |
💔 Test failed - status-appveyor |
Spurious network error on AppVeyor. This is safe to rollup btw, caches for the docker image are already primed. @bors retry rollup |
build-gcc: Create missing cc symlink This PR mostly fixes build error caused by using rustc docker images to build [rustup][1] (with the error: ``linker `cc` not found``). I don't know why gcc build script doesn't install cc hard link by default. In build log, with `make SHELL='sh -x' install`, gcc build script installs c++ hard link but not `cc` one: ```bash if test "" != "yes" ; then \ rm -f /rustroot/bin/g++; \ /usr/bin/install -c xg++ /rustroot/bin/g++; \ chmod a+x /rustroot/bin/g++; \ rm -f /rustroot/bin/c++; \ ( cd /rustroot/bin && \ ln g++ c++ ); \ if [ -f cc1plus ] ; then \ if [ ! -f g++-cross ] ; then \ rm -f /rustroot/bin/x86_64-unknown-linux-gnu-g++; \ ( cd /rustroot/bin && \ ln g++ x86_64-unknown-linux-gnu-g++ ); \ rm -f /rustroot/bin/x86_64-unknown-linux-gnu-c++; \ ( cd /rustroot/bin && \ ln c++ x86_64-unknown-linux-gnu-c++ ); \ fi ; \ fi; \ fi ``` This might be fixed downstream by manually creating cc hard link or setting `RUSTFLAGS="-C linker=gcc"` as [suggested by @mati865][2]. But I find it better to fix it upstream in this PR. [1]: rust-lang/rustup#1815 [2]: rust-lang/rustup#1815 (comment)
build-gcc: Create missing cc symlink This PR mostly fixes build error caused by using rustc docker images to build [rustup][1] (with the error: ``linker `cc` not found``). I don't know why gcc build script doesn't install cc hard link by default. In build log, with `make SHELL='sh -x' install`, gcc build script installs c++ hard link but not `cc` one: ```bash if test "" != "yes" ; then \ rm -f /rustroot/bin/g++; \ /usr/bin/install -c xg++ /rustroot/bin/g++; \ chmod a+x /rustroot/bin/g++; \ rm -f /rustroot/bin/c++; \ ( cd /rustroot/bin && \ ln g++ c++ ); \ if [ -f cc1plus ] ; then \ if [ ! -f g++-cross ] ; then \ rm -f /rustroot/bin/x86_64-unknown-linux-gnu-g++; \ ( cd /rustroot/bin && \ ln g++ x86_64-unknown-linux-gnu-g++ ); \ rm -f /rustroot/bin/x86_64-unknown-linux-gnu-c++; \ ( cd /rustroot/bin && \ ln c++ x86_64-unknown-linux-gnu-c++ ); \ fi ; \ fi; \ fi ``` This might be fixed downstream by manually creating cc hard link or setting `RUSTFLAGS="-C linker=gcc"` as [suggested by @mati865][2]. But I find it better to fix it upstream in this PR. [1]: rust-lang/rustup#1815 [2]: rust-lang/rustup#1815 (comment)
Rollup of 7 pull requests Successful merges: - #60327 (Search for incompatible universes in borrow errors) - #60330 (Suggest using an inclusive range instead of an exclusive range when the endpoint overflows by 1) - #60366 (build-gcc: Create missing cc symlink) - #60369 (Support ZSTs in DispatchFromDyn) - #60404 (Implement `BorrowMut<str>` for `String`) - #60417 (Rename hir::ExprKind::Use to ::DropTemps and improve docs.) - #60432 (Update clippy) Failed merges: r? @ghost
build-gcc: Create missing cc symlink This PR mostly fixes build error caused by using rustc docker images to build [rustup][1] (with the error: ``linker `cc` not found``). I don't know why gcc build script doesn't install cc hard link by default. In build log, with `make SHELL='sh -x' install`, gcc build script installs c++ hard link but not `cc` one: ```bash if test "" != "yes" ; then \ rm -f /rustroot/bin/g++; \ /usr/bin/install -c xg++ /rustroot/bin/g++; \ chmod a+x /rustroot/bin/g++; \ rm -f /rustroot/bin/c++; \ ( cd /rustroot/bin && \ ln g++ c++ ); \ if [ -f cc1plus ] ; then \ if [ ! -f g++-cross ] ; then \ rm -f /rustroot/bin/x86_64-unknown-linux-gnu-g++; \ ( cd /rustroot/bin && \ ln g++ x86_64-unknown-linux-gnu-g++ ); \ rm -f /rustroot/bin/x86_64-unknown-linux-gnu-c++; \ ( cd /rustroot/bin && \ ln c++ x86_64-unknown-linux-gnu-c++ ); \ fi ; \ fi; \ fi ``` This might be fixed downstream by manually creating cc hard link or setting `RUSTFLAGS="-C linker=gcc"` as [suggested by @mati865][2]. But I find it better to fix it upstream in this PR. [1]: rust-lang/rustup#1815 [2]: rust-lang/rustup#1815 (comment)
Rollup of 7 pull requests Successful merges: - #60287 (Use references for variances_of) - #60327 (Search for incompatible universes in borrow errors) - #60330 (Suggest using an inclusive range instead of an exclusive range when the endpoint overflows by 1) - #60366 (build-gcc: Create missing cc symlink) - #60369 (Support ZSTs in DispatchFromDyn) - #60404 (Implement `BorrowMut<str>` for `String`) - #60417 (Rename hir::ExprKind::Use to ::DropTemps and improve docs.) Failed merges: r? @ghost
This PR mostly fixes build error caused by using rustc docker images
to build rustup (with the error:
linker `cc` not found
).I don't know why gcc build script doesn't install cc hard link by default.
In build log, with
make SHELL='sh -x' install
, gcc build script installs c++hard link but not
cc
one:This might be fixed downstream by manually creating cc hard link
or setting
RUSTFLAGS="-C linker=gcc"
as suggested by @mati865.But I find it better to fix it upstream in this PR.