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
ccone: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.