-
Notifications
You must be signed in to change notification settings - Fork 13.4k
build-gcc: Create missing cc symlink #60366
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
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.