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

WIP - Add x86_64-musl as a host architecture #57359

Closed
wants to merge 16 commits into from

Conversation

martell
Copy link
Contributor

@martell martell commented Jan 5, 2019

ignore this I am just looking at #55163 and trying to trigger the build bot

@rust-highfive
Copy link
Collaborator

Thanks for the pull request, and welcome! The Rust team is excited to review your changes, and you should hear from @nikomatsakis (or someone else) soon.

If any changes to this PR are deemed necessary, please add them as extra commits. This ensures that the reviewer can see what has changed since they last reviewed the code. Due to the way GitHub handles out-of-date commits, this should also make it reasonably obvious what issues have or haven't been addressed. Large or tricky changes may require several passes of review and changes.

Please see the contribution instructions for more information.

@rust-highfive rust-highfive added the S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. label Jan 5, 2019
@rust-highfive
Copy link
Collaborator

The job dist-x86_64-musl of your PR failed on Travis (raw log). Through arcane magic we have determined that the following fragments from the build log may contain information about the problem.

Click to expand the log.
travis_time:end:1da19bae:start=1546722470269631165,finish=1546722472382651323,duration=2113020158
$ git checkout -qf FETCH_HEAD
travis_fold:end:git.checkout

Encrypted environment variables have been removed for security reasons.
See https://docs.travis-ci.com/user/pull-requests/#pull-requests-and-security-restrictions
$ export SCCACHE_BUCKET=rust-lang-ci-sccache2
$ export SCCACHE_REGION=us-west-1
Setting environment variables from .travis.yml
$ export IMAGE=dist-x86_64-musl
---
[00:01:24] Step 5/10 : RUN bash musl-toolchain.sh x86_64-linux-musl && rm -rf build
[00:01:24]  ---> Running in 72fe215ded3f
[00:01:24] + TARGET=x86_64-linux-musl
[00:01:24] + ARCH=x86_64
[00:01:24] + OUTPUT=/usr/local
[00:01:24] + shift
[00:01:24] + git clone https://github.com/richfelker/musl-cross-make -b v0.9.7
[00:01:24] Cloning into 'musl-cross-make'...
[00:01:24] Note: checking out 'b85e29c00d35c8c8c196d6713505b837816ad47f'.
[00:01:24] 
[00:01:24] You are in 'detached HEAD' state. You can look around, make experimental
[00:01:24] changes and commit them, and you can discard any commits you make in this
[00:01:24] state without impacting any branches by performing another checkout.
[00:01:24] 
[00:01:24] If you want to create a new branch to retain commits you create, you may
[00:01:24] do so (now or later) by using -b with the checkout command again. Example:
[00:01:24] 
[00:01:24]   git checkout -b <new-branch-name>
[00:01:24] + cd musl-cross-make
[00:01:24] ++ nproc
[00:01:24] + hide_output make -j4 TARGET=x86_64-linux-musl
[00:01:24] + set +x
---
[00:10:55] Sat Jan 5 21:18:58 UTC 2019 - building ...
[00:11:25] Sat Jan 5 21:19:28 UTC 2019 - building ...
[00:11:55] Sat Jan 5 21:19:58 UTC 2019 - building ...
[00:12:25] Sat Jan 5 21:20:28 UTC 2019 - building ...
[00:12:31] musl-toolchain.sh: line 13:    20 Terminated              bash -c "while true; do sleep 30; echo \$(date) - building ...; done"
[00:12:31] + hide_output make install TARGET=x86_64-linux-musl OUTPUT=/usr/local
[00:12:46] /build
[00:12:46] musl-toolchain.sh: line 13:  6348 Terminated              bash -c "while true; do sleep 30; echo \$(date) - building ...; done"
[00:12:46] + cd -
[00:12:46] + cd -
[00:12:46] + ln -s /usr/local/x86_64-linux-musl/lib/libc.so /lib/ld-musl-x86_64.so.1
[00:12:46] + echo /usr/local/x86_64-linux-musl/lib
[00:12:46] + export CC=x86_64-linux-musl-gcc
[00:12:46] + CC=x86_64-linux-musl-gcc
[00:12:46] + export CXX=x86_64-linux-musl-g++
[00:12:46] + CXX=x86_64-linux-musl-g++
[00:12:46] + '[' '!' -d libunwind-release_60 ']'
[00:12:46] + curl -L https://github.com/llvm-mirror/llvm/archive/release_60.tar.gz
[00:12:46] + tar xzf -
[00:12:46]   % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
---
[00:12:55] 
100   97k    0   97k    0     0   145k      0 --:--:-- --:--:-- --:--:--  145k
[00:12:55] + mkdir libunwind-build
[00:12:55] + cd libunwind-build
[00:12:55] + cmake ../libunwind-release_60 -DLLVM_PATH=/build/llvm-release_60 -DLIBUNWIND_ENABLE_SHARED=0 -DCMAKE_C_COMPILER=x86_64-linux-musl-gcc -DCMAKE_CXX_COMPILER=x86_64-linux-musl-g++ -DCMAKE_C_FLAGS= -DCMAKE_CXX_FLAGS=
[00:12:55] -- The CXX compiler identification is GNU 6.3.0
[00:12:55] -- Check for working C compiler: /usr/local/bin/x86_64-linux-musl-gcc
[00:12:55] -- Check for working C compiler: /usr/local/bin/x86_64-linux-musl-gcc -- works
[00:12:55] -- Detecting C compiler ABI info
---
[00:15:49] Step 8/10 : ENV RUST_CONFIGURE_ARGS       --musl-root-x86_64=/usr/local/x86_64-linux-musl       --enable-extended       --disable-docs
[00:15:49]  ---> Running in 736cbe84ffe7
[00:15:49] Removing intermediate container 736cbe84ffe7
[00:15:49]  ---> 0dbd46f1dcdd
[00:15:49] Step 9/10 : ENV HOSTS=x86_64-unknown-linux-musl     CC_x86_64_unknown_linux_musl=x86_64-linux-musl-gcc     CXX_x86_64_unknown_linux_musl=x86_64-linux-musl-g++
[00:15:49] Removing intermediate container 2bb4c9a7ff71
[00:15:49]  ---> 5b12814127ba
[00:15:49] Step 10/10 : ENV SCRIPT       python2.7 ../x.py test --host $HOSTS --target $HOSTS &&       python2.7 ../x.py dist --host $HOSTS --target $HOSTS
[00:15:49]  ---> Running in 5e06fe423885
[00:15:49]  ---> Running in 5e06fe423885
[00:15:49] Removing intermediate container 5e06fe423885
[00:15:49]  ---> 5d793ef369e0
[00:15:49] Successfully built 5d793ef369e0
[00:15:49] Successfully tagged rust-ci:latest
[00:15:49] Built container sha256:5d793ef369e0ed4b41c159eddcadcd86340a2fc17a67d39d3a3169813bd9ecbc
[00:15:49] Uploading finished image to s3://rust-lang-ci-sccache2/docker/429b0a8dd3090b6b3cb0931f9f35e54ed3fd23ccbe6e6710e293d930db79c504a2a7b69b6aba87b6ddbeb0fae31b7fd7d2edcf63b27e3ee7638e9d4f6418b6af
[00:22:14] upload failed: - to s3://rust-lang-ci-sccache2/docker/429b0a8dd3090b6b3cb0931f9f35e54ed3fd23ccbe6e6710e293d930db79c504a2a7b69b6aba87b6ddbeb0fae31b7fd7d2edcf63b27e3ee7638e9d4f6418b6af Unable to locate credentials

[00:22:15] travis_time:end:00c4e9c1:start=1546722491950290493,finish=1546723817684314053,duration=1325734023560
[CI_JOB_NAME=dist-x86_64-musl]
[00:22:15] [CI_JOB_NAME=dist-x86_64-musl]
---
[00:49:07]    Compiling alloc v0.0.0 (/checkout/src/liballoc)
[00:49:07]    Compiling rustc-demangle v0.1.10
[00:49:08]    Compiling panic_abort v0.0.0 (/checkout/src/libpanic_abort)
[00:49:14]    Compiling panic_unwind v0.0.0 (/checkout/src/libpanic_unwind)
[00:49:38] error: cannot produce dylib for `arena v0.0.0 (/checkout/src/libarena)` as the target `x86_64-unknown-linux-musl` does not support these crate types
[00:49:38] command did not execute successfully: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" "build" "--target" "x86_64-unknown-linux-musl" "-j" "4" "--release" "--locked" "--color" "always" "--features" "" "--manifest-path" "/checkout/src/rustc/Cargo.toml" "--message-format" "json"
[00:49:38] failed to run: /checkout/obj/build/bootstrap/debug/bootstrap test --host x86_64-unknown-linux-musl --target x86_64-unknown-linux-musl
[00:49:38] Build completed unsuccessfully in 0:25:40
[00:49:38] Build completed unsuccessfully in 0:25:40
/lib/asan/clang_rt.asan-dynamic-i386.vers: No such file or directory
travis_fold:end:after_failure.5
travis_fold:start:after_failure.6
travis_time:start:2158e461
$ dmesg | grep -i kill

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 @TimNN. (Feature Requests)

@rust-highfive
Copy link
Collaborator

The job dist-x86_64-musl of your PR failed on Travis (raw log). Through arcane magic we have determined that the following fragments from the build log may contain information about the problem.

Click to expand the log.
travis_time:end:05476d2e:start=1546727764124139164,finish=1546727766384264666,duration=2260125502
$ git checkout -qf FETCH_HEAD
travis_fold:end:git.checkout

Encrypted environment variables have been removed for security reasons.
See https://docs.travis-ci.com/user/pull-requests/#pull-requests-and-security-restrictions
$ export SCCACHE_BUCKET=rust-lang-ci-sccache2
$ export SCCACHE_REGION=us-west-1
Setting environment variables from .travis.yml
$ export IMAGE=dist-x86_64-musl
---
[00:01:21] Step 5/10 : RUN bash musl-toolchain.sh x86_64-linux-musl && rm -rf build
[00:01:21]  ---> Running in a463faceaa7c
[00:01:22] + TARGET=x86_64-linux-musl
[00:01:22] + ARCH=x86_64
[00:01:22] + OUTPUT=/usr/local
[00:01:22] + shift
[00:01:22] + git clone https://github.com/richfelker/musl-cross-make -b v0.9.7
[00:01:22] Cloning into 'musl-cross-make'...
[00:01:22] Note: checking out 'b85e29c00d35c8c8c196d6713505b837816ad47f'.
[00:01:22] 
[00:01:22] You are in 'detached HEAD' state. You can look around, make experimental
[00:01:22] changes and commit them, and you can discard any commits you make in this
[00:01:22] state without impacting any branches by performing another checkout.
[00:01:22] 
[00:01:22] If you want to create a new branch to retain commits you create, you may
[00:01:22] do so (now or later) by using -b with the checkout command again. Example:
[00:01:22] 
[00:01:22]   git checkout -b <new-branch-name>
[00:01:22] + cd musl-cross-make
[00:01:22] ++ nproc
[00:01:22] + hide_output make -j4 TARGET=x86_64-linux-musl
[00:01:22] + set +x
---
[00:09:53] Sat Jan 5 22:46:09 UTC 2019 - building ...
[00:10:23] Sat Jan 5 22:46:39 UTC 2019 - building ...
[00:10:53] Sat Jan 5 22:47:09 UTC 2019 - building ...
[00:11:23] Sat Jan 5 22:47:39 UTC 2019 - building ...
[00:11:48] musl-toolchain.sh: line 13:    20 Terminated              bash -c "while true; do sleep 30; echo \$(date) - building ...; done"
[00:11:48] + hide_output make install TARGET=x86_64-linux-musl OUTPUT=/usr/local
[00:12:02] musl-toolchain.sh: line 13:  6327 Terminated              bash -c "while true; do sleep 30; echo \$(date) - building ...; done"
[00:12:02] + cd -
[00:12:02] + cd -
[00:12:02] + ln -s /usr/local/x86_64-linux-musl/lib/libc.so /lib/ld-musl-x86_64.so.1
[00:12:02] + echo /usr/local/x86_64-linux-musl/lib
[00:12:02] + export CC=x86_64-linux-musl-gcc
[00:12:02] + CC=x86_64-linux-musl-gcc
[00:12:02] + export CXX=x86_64-linux-musl-g++
---
[00:12:11] 
100   97k    0   97k    0     0   131k      0 --:--:-- --:--:-- --:--:--  131k
[00:12:11] + mkdir libunwind-build
[00:12:11] + cd libunwind-build
[00:12:11] + cmake ../libunwind-release_60 -DLLVM_PATH=/build/llvm-release_60 -DLIBUNWIND_ENABLE_SHARED=0 -DCMAKE_C_COMPILER=x86_64-linux-musl-gcc -DCMAKE_CXX_COMPILER=x86_64-linux-musl-g++ -DCMAKE_C_FLAGS= -DCMAKE_CXX_FLAGS=
[00:12:11] -- The CXX compiler identification is GNU 6.3.0
[00:12:11] -- Check for working C compiler: /usr/local/bin/x86_64-linux-musl-gcc
[00:12:11] -- Check for working C compiler: /usr/local/bin/x86_64-linux-musl-gcc -- works
[00:12:11] -- Detecting C compiler ABI info
---
[00:15:05] Step 8/10 : ENV RUST_CONFIGURE_ARGS       --musl-root-x86_64=/usr/local/x86_64-linux-musl       --enable-extended       --disable-docs
[00:15:05]  ---> Running in 0c5f57ea02eb
[00:15:05] Removing intermediate container 0c5f57ea02eb
[00:15:05]  ---> 69d6715c2a2d
[00:15:05] Step 9/10 : ENV HOSTS=x86_64-unknown-linux-musl     CC_x86_64_unknown_linux_musl=x86_64-linux-musl-gcc     CXX_x86_64_unknown_linux_musl=x86_64-linux-musl-g++
[00:15:05] Removing intermediate container c8dd61953657
[00:15:05]  ---> 48823bea784e
[00:15:05] Step 10/10 : ENV SCRIPT       python2.7 ../x.py test --host $HOSTS --target $HOSTS &&       python2.7 ../x.py dist --host $HOSTS --target $HOSTS
[00:15:05]  ---> Running in d6e3c3b68508
[00:15:05]  ---> Running in d6e3c3b68508
[00:15:05] Removing intermediate container d6e3c3b68508
[00:15:05]  ---> 99624e006d65
[00:15:05] Successfully built 99624e006d65
[00:15:05] Successfully tagged rust-ci:latest
[00:15:05] Built container sha256:99624e006d6517b40351ed5652cd978cca95974665b454edd80896c6db835c88
[00:15:05] Uploading finished image to s3://rust-lang-ci-sccache2/docker/429b0a8dd3090b6b3cb0931f9f35e54ed3fd23ccbe6e6710e293d930db79c504a2a7b69b6aba87b6ddbeb0fae31b7fd7d2edcf63b27e3ee7638e9d4f6418b6af
[00:21:26] upload failed: - to s3://rust-lang-ci-sccache2/docker/429b0a8dd3090b6b3cb0931f9f35e54ed3fd23ccbe6e6710e293d930db79c504a2a7b69b6aba87b6ddbeb0fae31b7fd7d2edcf63b27e3ee7638e9d4f6418b6af Unable to locate credentials

[00:21:26] travis_time:end:00872f97:start=1546727784454032189,finish=1546729062258686526,duration=1277804654337
[CI_JOB_NAME=dist-x86_64-musl]
[00:21:26] [CI_JOB_NAME=dist-x86_64-musl]
---
[00:23:38]   Downloaded fixedbitset v0.1.9
[00:23:58]   Downloaded ordermap v0.3.5
[00:23:58]   Downloaded filetime v0.2.4
[00:23:58]   Downloaded cfg-if v0.1.6
[00:24:31] warning: spurious network error (2 tries remaining): [28] Timeout was reached (failed to download any data for `unicode-xid v0.1.0` within 30s)
[00:25:30] warning: spurious network error (1 tries remaining): [28] Timeout was reached (failed to download any data for `unicode-xid v0.1.0` within 30s)
[00:25:38]    Compiling proc-macro2 v0.4.24
[00:25:38]    Compiling unicode-xid v0.1.0
[00:25:38]    Compiling serde v1.0.82
[00:25:38]    Compiling ryu v0.2.7
---
[01:47:04] [ 72%] Building CXX object lib/Target/SystemZ/CMakeFiles/LLVMSystemZCodeGen.dir/SystemZExpandPseudo.cpp.o
[01:47:04] [ 72%] Built target LLVMSystemZDisassembler
[01:47:04] Scanning dependencies of target LLVMSystemZAsmPrinter
[01:47:04] [ 72%] Building CXX object lib/Target/SystemZ/InstPrinter/CMakeFiles/LLVMSystemZAsmPrinter.dir/SystemZInstPrinter.cpp.o
[01:47:04] /checkout/src/llvm/lib/Target/Mips/MipsInstructionSelector.cpp: In member function 'virtual bool {anonymous}::MipsInstructionSelector::select(llvm::MachineInstr&, llvm::CodeGenCoverage&) const':
[01:47:04] /checkout/src/llvm/lib/Target/Mips/MipsInstructionSelector.cpp:260:16: warning: types may not be defined in a for-range-declaration
[01:47:04]      for (const struct Instr &Instruction : Instructions) {
[01:47:04] [ 73%] Building CXX object lib/Target/Mips/CMakeFiles/LLVMMipsCodeGen.dir/MipsISelDAGToDAG.cpp.o
[01:47:06] [ 73%] Linking CXX static library ../../../libLLVMSystemZAsmPrinter.a
[01:47:06] [ 73%] Built target LLVMSystemZAsmPrinter
[01:47:06] Scanning dependencies of target LLVMSystemZDesc
---
[02:03:46] 
[02:04:00]    Compiling test v0.0.0 (/checkout/src/libtest)
[02:04:00] warning: dropping unsupported crate type `dylib` for target `x86_64-unknown-linux-musl`
[02:04:00] 
[02:04:09] error: cannot produce dylib for `arena v0.0.0 (/checkout/src/libarena)` as the target `x86_64-unknown-linux-musl` does not support these crate types
[02:04:09] command did not execute successfully: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" "build" "--target" "x86_64-unknown-linux-musl" "-j" "4" "--release" "--locked" "--color" "always" "--features" "" "--manifest-path" "/checkout/src/rustc/Cargo.toml" "--message-format" "json"
[02:04:09] failed to run: /checkout/obj/build/bootstrap/debug/bootstrap test --host x86_64-unknown-linux-musl --target x86_64-unknown-linux-musl
[02:04:09] Build completed unsuccessfully in 1:37:27
_64-unknown-linux-gnu/release/deps
217432 ./obj/build/x86_64-unknown-linux-musl/stage2
---
149084 ./obj/build/x86_64-unknown-linux-gnu/stage1-codegen/x86_64-unknown-linux-musl
149080 ./obj/build/x86_64-unknown-linux-gnu/stage1-codegen/x86_64-unknown-linux-musl/release
148292 ./obj/build/x86_64-unknown-linux-gnu/stage1-codegen/x86_64-unknown-linux-musl/release/deps
144256 ./obj/build/bootstrap/debug/incremental/bootstrap-2pq9xsgmnli7u
144252 ./obj/build/bootstrap/debug/incremental/bootstrap-2pq9xsgmnli7u/s-f89pnbk7nf-cmh2vv-21p7sgjt03yy
121936 ./obj/build/x86_64-unknown-linux-musl/stage2/lib/rustlib
121932 ./obj/build/x86_64-unknown-linux-musl/stage2/lib/rustlib/x86_64-unknown-linux-musl
120476 ./obj/build/x86_64-unknown-linux-gnu/stage0-rustc/x86_64-unknown-linux-gnu/release
119444 ./obj/build/x86_64-unknown-linux-gnu/stage0-std
118108 ./obj/build/x86_64-unknown-linux-gnu/stage0-rustc/x86_64-unknown-linux-gnu/release/deps
115344 ./src/llvm/test/CodeGen

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 @TimNN. (Feature Requests)

@rust-highfive
Copy link
Collaborator

The job dist-x86_64-musl of your PR failed on Travis (raw log). Through arcane magic we have determined that the following fragments from the build log may contain information about the problem.

Click to expand the log.
travis_time:end:02793216:start=1546790133342827152,finish=1546790203066297101,duration=69723469949
$ git checkout -qf FETCH_HEAD
travis_fold:end:git.checkout

Encrypted environment variables have been removed for security reasons.
See https://docs.travis-ci.com/user/pull-requests/#pull-requests-and-security-restrictions
$ export SCCACHE_BUCKET=rust-lang-ci-sccache2
$ export SCCACHE_REGION=us-west-1
Setting environment variables from .travis.yml
$ export IMAGE=dist-x86_64-musl
---
[00:01:05] Step 5/10 : RUN bash musl-toolchain.sh x86_64-linux-musl && rm -rf build
[00:01:05]  ---> Running in c167f5bc3d12
[00:01:05] + TARGET=x86_64-linux-musl
[00:01:05] + ARCH=x86_64
[00:01:05] + OUTPUT=/usr/local
[00:01:05] + shift
[00:01:05] + git clone https://github.com/richfelker/musl-cross-make -b v0.9.7
[00:01:05] Cloning into 'musl-cross-make'...
[00:01:06] Note: checking out 'b85e29c00d35c8c8c196d6713505b837816ad47f'.
[00:01:06] 
[00:01:06] You are in 'detached HEAD' state. You can look around, make experimental
[00:01:06] changes and commit them, and you can discard any commits you make in this
[00:01:06] state without impacting any branches by performing another checkout.
[00:01:06] 
[00:01:06] If you want to create a new branch to retain commits you create, you may
[00:01:06] do so (now or later) by using -b with the checkout command again. Example:
[00:01:06] 
[00:01:06]   git checkout -b <new-branch-name>
[00:01:06] + cd musl-cross-make
[00:01:06] ++ nproc
[00:01:06] + hide_output make -j4 TARGET=x86_64-linux-musl
[00:01:06] + set +x
---
[00:09:36] Sun Jan 6 16:06:27 UTC 2019 - building ...
[00:10:06] Sun Jan 6 16:06:57 UTC 2019 - building ...
[00:10:36] Sun Jan 6 16:07:27 UTC 2019 - building ...
[00:11:06] Sun Jan 6 16:07:57 UTC 2019 - building ...
[00:11:34] musl-toolchain.sh: line 13:    21 Terminated              bash -c "while true; do sleep 30; echo \$(date) - building ...; done"
[00:11:34] + hide_output make install TARGET=x86_64-linux-musl OUTPUT=/usr/local
[00:11:47] musl-toolchain.sh: line 13:  6337 Terminated              bash -c "while true; do sleep 30; echo \$(date) - building ...; done"
[00:11:47] + cd -
[00:11:47] + cd -
[00:11:47] + ln -s /usr/local/x86_64-linux-musl/lib/libc.so /lib/ld-musl-x86_64.so.1
[00:11:47] + echo /usr/local/x86_64-linux-musl/lib
[00:11:47] + export CC=x86_64-linux-musl-gcc
[00:11:47] + CC=x86_64-linux-musl-gcc
[00:11:47] + export CXX=x86_64-linux-musl-g++
---
[00:11:56] 
100   97k    0   97k    0     0   141k      0 --:--:-- --:--:-- --:--:--  141k
[00:11:56] + mkdir libunwind-build
[00:11:56] + cd libunwind-build
[00:11:56] + cmake ../libunwind-release_60 -DLLVM_PATH=/build/llvm-release_60 -DLIBUNWIND_ENABLE_SHARED=0 -DCMAKE_C_COMPILER=x86_64-linux-musl-gcc -DCMAKE_CXX_COMPILER=x86_64-linux-musl-g++ -DCMAKE_C_FLAGS= -DCMAKE_CXX_FLAGS=
[00:11:56] -- The CXX compiler identification is GNU 6.3.0
[00:11:56] -- Check for working C compiler: /usr/local/bin/x86_64-linux-musl-gcc
[00:11:56] -- Check for working C compiler: /usr/local/bin/x86_64-linux-musl-gcc -- works
[00:11:56] -- Detecting C compiler ABI info
---
[00:14:50] Step 8/10 : ENV RUST_CONFIGURE_ARGS       --musl-root-x86_64=/usr/local/x86_64-linux-musl       --enable-extended       --disable-docs
[00:14:50]  ---> Running in 614dbac93555
[00:14:50] Removing intermediate container 614dbac93555
[00:14:50]  ---> 3b8d978a6895
[00:14:50] Step 9/10 : ENV HOSTS=x86_64-unknown-linux-musl     CC_x86_64_unknown_linux_musl=x86_64-linux-musl-gcc     CXX_x86_64_unknown_linux_musl=x86_64-linux-musl-g++
[00:14:50] Removing intermediate container 4f14e3b0c58f
[00:14:50]  ---> 48a063d37e38
[00:14:50] Step 10/10 : ENV SCRIPT       python2.7 ../x.py test --host $HOSTS --target $HOSTS &&       python2.7 ../x.py dist --host $HOSTS --target $HOSTS
[00:14:50]  ---> Running in dea5c2c98656
[00:14:50]  ---> Running in dea5c2c98656
[00:14:50] Removing intermediate container dea5c2c98656
[00:14:50]  ---> 12188a95b344
[00:14:50] Successfully built 12188a95b344
[00:14:50] Successfully tagged rust-ci:latest
[00:14:50] Built container sha256:12188a95b344a864c0ba1cb95de39f9c3c6b6c89c5527ae466b3f74f46a34cd5
[00:14:50] Uploading finished image to s3://rust-lang-ci-sccache2/docker/429b0a8dd3090b6b3cb0931f9f35e54ed3fd23ccbe6e6710e293d930db79c504a2a7b69b6aba87b6ddbeb0fae31b7fd7d2edcf63b27e3ee7638e9d4f6418b6af
[00:21:11] upload failed: - to s3://rust-lang-ci-sccache2/docker/429b0a8dd3090b6b3cb0931f9f35e54ed3fd23ccbe6e6710e293d930db79c504a2a7b69b6aba87b6ddbeb0fae31b7fd7d2edcf63b27e3ee7638e9d4f6418b6af Unable to locate credentials

[00:21:12] travis_time:end:03657f71:start=1546790219164751084,finish=1546791482969973270,duration=1263805222186
[CI_JOB_NAME=dist-x86_64-musl]
[00:21:12] [CI_JOB_NAME=dist-x86_64-musl]

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 @TimNN. (Feature Requests)

@rust-highfive
Copy link
Collaborator

The job dist-x86_64-musl of your PR failed on Travis (raw log). Through arcane magic we have determined that the following fragments from the build log may contain information about the problem.

Click to expand the log.
travis_time:end:1f5812f4:start=1546794623136873133,finish=1546794702005233289,duration=78868360156
$ git checkout -qf FETCH_HEAD
travis_fold:end:git.checkout

Encrypted environment variables have been removed for security reasons.
See https://docs.travis-ci.com/user/pull-requests/#pull-requests-and-security-restrictions
$ export SCCACHE_BUCKET=rust-lang-ci-sccache2
$ export SCCACHE_REGION=us-west-1
Setting environment variables from .travis.yml
$ export IMAGE=dist-x86_64-musl
---
[00:01:09] Step 5/10 : RUN bash musl-toolchain.sh x86_64-linux-musl && rm -rf build
[00:01:09]  ---> Running in 968c187fd3c6
[00:01:09] + TARGET=x86_64-linux-musl
[00:01:09] + ARCH=x86_64
[00:01:09] + OUTPUT=/usr/local
[00:01:09] + shift
[00:01:09] + git clone https://github.com/richfelker/musl-cross-make -b v0.9.7
[00:01:09] Cloning into 'musl-cross-make'...
[00:01:09] Note: checking out 'b85e29c00d35c8c8c196d6713505b837816ad47f'.
[00:01:09] 
[00:01:09] You are in 'detached HEAD' state. You can look around, make experimental
[00:01:09] changes and commit them, and you can discard any commits you make in this
[00:01:09] state without impacting any branches by performing another checkout.
[00:01:09] 
[00:01:09] If you want to create a new branch to retain commits you create, you may
[00:01:09] do so (now or later) by using -b with the checkout command again. Example:
[00:01:09] 
[00:01:09]   git checkout -b <new-branch-name>
[00:01:09] + cd musl-cross-make
[00:01:09] ++ nproc
[00:01:09] + hide_output make -j4 TARGET=x86_64-linux-musl
[00:01:09] + set +x
---
[00:10:10] Sun Jan 6 17:22:00 UTC 2019 - building ...
[00:10:40] Sun Jan 6 17:22:30 UTC 2019 - building ...
[00:11:10] Sun Jan 6 17:23:00 UTC 2019 - building ...
[00:11:40] Sun Jan 6 17:23:30 UTC 2019 - building ...
[00:12:04] musl-toolchain.sh: line 13:    21 Terminated              bash -c "while true; do sleep 30; echo \$(date) - building ...; done"
[00:12:04] + hide_output make install TARGET=x86_64-linux-musl OUTPUT=/usr/local
[00:12:18] /build
[00:12:18] musl-toolchain.sh: line 13:  6310 Terminated              bash -c "while true; do sleep 30; echo \$(date) - building ...; done"
[00:12:18] + cd -
[00:12:18] + cd -
[00:12:18] + ln -s /usr/local/x86_64-linux-musl/lib/libc.so /lib/ld-musl-x86_64.so.1
[00:12:18] + echo /usr/local/x86_64-linux-musl/lib
[00:12:18] + export CC=x86_64-linux-musl-gcc
[00:12:18] + CC=x86_64-linux-musl-gcc
[00:12:18] + export CXX=x86_64-linux-musl-g++
[00:12:18] + CXX=x86_64-linux-musl-g++
[00:12:18] + '[' '!' -d libunwind-release_60 ']'
[00:12:18] + curl -L https://github.com/llvm-mirror/llvm/archive/release_60.tar.gz
[00:12:18] + tar xzf -
[00:12:18]   % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
---
[00:12:27] 
100   97k    0   97k    0     0   128k      0 --:--:-- --:--:-- --:--:--  128k
[00:12:27] + mkdir libunwind-build
[00:12:27] + cd libunwind-build
[00:12:27] + cmake ../libunwind-release_60 -DLLVM_PATH=/build/llvm-release_60 -DLIBUNWIND_ENABLE_SHARED=0 -DCMAKE_C_COMPILER=x86_64-linux-musl-gcc -DCMAKE_CXX_COMPILER=x86_64-linux-musl-g++ -DCMAKE_C_FLAGS= -DCMAKE_CXX_FLAGS=
[00:12:27] -- The CXX compiler identification is GNU 6.3.0
[00:12:27] -- Check for working C compiler: /usr/local/bin/x86_64-linux-musl-gcc
[00:12:27] -- Check for working C compiler: /usr/local/bin/x86_64-linux-musl-gcc -- works
[00:12:27] -- Detecting C compiler ABI info
---
[00:15:20] Step 8/10 : ENV RUST_CONFIGURE_ARGS       --musl-root-x86_64=/usr/local/x86_64-linux-musl       --enable-extended       --disable-docs
[00:15:21]  ---> Running in 985aea2209ed
[00:15:21] Removing intermediate container 985aea2209ed
[00:15:21]  ---> 1c57f6623539
[00:15:21] Step 9/10 : ENV HOSTS=x86_64-unknown-linux-musl     CC_x86_64_unknown_linux_musl=x86_64-linux-musl-gcc     CXX_x86_64_unknown_linux_musl=x86_64-linux-musl-g++
[00:15:21] Removing intermediate container 91156edc2577
[00:15:21]  ---> 28df4ad0c632
[00:15:21] Step 10/10 : ENV SCRIPT       python2.7 ../x.py test --host $HOSTS --target $HOSTS &&       python2.7 ../x.py dist --host $HOSTS --target $HOSTS
[00:15:21]  ---> Running in db97a9834a63
[00:15:21]  ---> Running in db97a9834a63
[00:15:21] Removing intermediate container db97a9834a63
[00:15:21]  ---> 325d597cc124
[00:15:21] Successfully built 325d597cc124
[00:15:21] Successfully tagged rust-ci:latest
[00:15:21] Built container sha256:325d597cc1249dde8231000e43db2bb2d697799a7920181dc8cf687637f34eda
[00:15:21] Uploading finished image to s3://rust-lang-ci-sccache2/docker/429b0a8dd3090b6b3cb0931f9f35e54ed3fd23ccbe6e6710e293d930db79c504a2a7b69b6aba87b6ddbeb0fae31b7fd7d2edcf63b27e3ee7638e9d4f6418b6af
[00:21:50] upload failed: - to s3://rust-lang-ci-sccache2/docker/429b0a8dd3090b6b3cb0931f9f35e54ed3fd23ccbe6e6710e293d930db79c504a2a7b69b6aba87b6ddbeb0fae31b7fd7d2edcf63b27e3ee7638e9d4f6418b6af Unable to locate credentials

[00:21:50] travis_time:end:15d681ac:start=1546794721548095684,finish=1546796020419764872,duration=1298871669188
[CI_JOB_NAME=dist-x86_64-musl]
[00:21:50] [CI_JOB_NAME=dist-x86_64-musl]

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 @TimNN. (Feature Requests)

@rust-highfive
Copy link
Collaborator

The job dist-x86_64-musl of your PR failed on Travis (raw log). Through arcane magic we have determined that the following fragments from the build log may contain information about the problem.

Click to expand the log.
travis_time:end:1893031c:start=1546802484752627396,finish=1546802554286903206,duration=69534275810
$ git checkout -qf FETCH_HEAD
travis_fold:end:git.checkout

Encrypted environment variables have been removed for security reasons.
See https://docs.travis-ci.com/user/pull-requests/#pull-requests-and-security-restrictions
$ export SCCACHE_BUCKET=rust-lang-ci-sccache2
$ export SCCACHE_REGION=us-west-1
Setting environment variables from .travis.yml
$ export IMAGE=dist-x86_64-musl
---
[00:01:10] Step 5/10 : RUN bash musl-toolchain.sh x86_64-linux-musl && rm -rf build
[00:01:10]  ---> Running in be7e1aeefb1b
[00:01:10] + TARGET=x86_64-linux-musl
[00:01:10] + ARCH=x86_64
[00:01:10] + OUTPUT=/usr/local
[00:01:10] + shift
[00:01:10] + git clone https://github.com/richfelker/musl-cross-make -b v0.9.7
[00:01:10] Cloning into 'musl-cross-make'...
[00:01:11] Note: checking out 'b85e29c00d35c8c8c196d6713505b837816ad47f'.
[00:01:11] 
[00:01:11] You are in 'detached HEAD' state. You can look around, make experimental
[00:01:11] changes and commit them, and you can discard any commits you make in this
[00:01:11] state without impacting any branches by performing another checkout.
[00:01:11] 
[00:01:11] If you want to create a new branch to retain commits you create, you may
[00:01:11] do so (now or later) by using -b with the checkout command again. Example:
[00:01:11] 
[00:01:11]   git checkout -b <new-branch-name>
[00:01:11] + cd musl-cross-make
[00:01:11] ++ nproc
[00:01:11] + hide_output make -j4 TARGET=x86_64-linux-musl
[00:01:11] + set +x
---
[00:10:11] Sun Jan 6 19:32:55 UTC 2019 - building ...
[00:10:41] Sun Jan 6 19:33:25 UTC 2019 - building ...
[00:11:11] Sun Jan 6 19:33:55 UTC 2019 - building ...
[00:11:41] Sun Jan 6 19:34:25 UTC 2019 - building ...
[00:11:55] musl-toolchain.sh: line 13:    20 Terminated              bash -c "while true; do sleep 30; echo \$(date) - building ...; done"
[00:11:55] + hide_output make install TARGET=x86_64-linux-musl OUTPUT=/usr/local
[00:12:09] /build
[00:12:09] musl-toolchain.sh: line 13:  6333 Terminated              bash -c "while true; do sleep 30; echo \$(date) - building ...; done"
[00:12:09] + cd -
[00:12:09] + cd -
[00:12:09] + ln -s /usr/local/x86_64-linux-musl/lib/libc.so /lib/ld-musl-x86_64.so.1
[00:12:09] + echo /usr/local/x86_64-linux-musl/lib
[00:12:09] + export CC=x86_64-linux-musl-gcc
[00:12:09] + CC=x86_64-linux-musl-gcc
[00:12:09] + export CXX=x86_64-linux-musl-g++
[00:12:09] + CXX=x86_64-linux-musl-g++
[00:12:09] + CFLAGS='-fPIC '
[00:12:09] + LLVM=60
[00:12:09] + '[' '!' -d libunwind-release_60 ']'
[00:12:09] + curl -L https://github.com/llvm-mirror/llvm/archive/release_60.tar.gz
---
[00:15:10] Step 8/10 : ENV RUST_CONFIGURE_ARGS       --musl-root-x86_64=/usr/local/x86_64-linux-musl       --enable-extended       --disable-docs
[00:15:10]  ---> Running in bb031e788788
[00:15:11] Removing intermediate container bb031e788788
[00:15:11]  ---> 6bcb32fadd3e
[00:15:11] Step 9/10 : ENV HOSTS=x86_64-unknown-linux-musl     CC_x86_64_unknown_linux_musl=x86_64-linux-musl-gcc     CXX_x86_64_unknown_linux_musl=x86_64-linux-musl-g++
[00:15:11] Removing intermediate container b5868d05af78
[00:15:11]  ---> 2c8d84946734
[00:15:11] Step 10/10 : ENV SCRIPT       python2.7 ../x.py test --host $HOSTS --target $HOSTS &&       python2.7 ../x.py dist --host $HOSTS --target $HOSTS
[00:15:11]  ---> Running in 0716a7d32efa
[00:15:11]  ---> Running in 0716a7d32efa
[00:15:11] Removing intermediate container 0716a7d32efa
[00:15:11]  ---> 406229009032
[00:15:11] Successfully built 406229009032
[00:15:11] Successfully tagged rust-ci:latest
[00:15:11] Built container sha256:4062290090320fe2ce2aca375e6085058487167ad3953f77322a6c93ec7a6229
[00:15:11] Uploading finished image to s3://rust-lang-ci-sccache2/docker/92151d09012d25ae66a87636becad86ca1fc5bb763002d3eaffeb358fe628b85e1da22cbc5aafd6f4a193417c390be71037ec8b008ed49726e411e6b5066e3a3
[00:21:35] upload failed: - to s3://rust-lang-ci-sccache2/docker/92151d09012d25ae66a87636becad86ca1fc5bb763002d3eaffeb358fe628b85e1da22cbc5aafd6f4a193417c390be71037ec8b008ed49726e411e6b5066e3a3 Unable to locate credentials

[00:21:36] travis_time:end:0f2ab080:start=1546802575382331743,finish=1546803858897429345,duration=1283515097602
[CI_JOB_NAME=dist-x86_64-musl]
[00:21:36] [CI_JOB_NAME=dist-x86_64-musl]
---
[00:46:12]    Compiling alloc v0.0.0 (/checkout/src/liballoc)
[00:46:12]    Compiling rustc-demangle v0.1.10
[00:46:13]    Compiling panic_abort v0.0.0 (/checkout/src/libpanic_abort)
[00:46:19]    Compiling panic_unwind v0.0.0 (/checkout/src/libpanic_unwind)
[00:46:42] error: linking with `x86_64-linux-musl-gcc` failed: exit code: 1
[00:46:42]   |
[00:46:42]   = note: "x86_64-linux-musl-gcc" "-Wl,--as-needed" "-Wl,-z,noexecstack" "-Wl,--eh-frame-hdr" "-m64" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-std/x86_64-unknown-linux-musl/release/deps/std-6b83118f9487b978.std.c7gyb0y3-cgu.0.rcgu.o" "-o" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-std/x86_64-unknown-linux-musl/release/deps/libstd-6b83118f9487b978.so" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-std/x86_64-unknown-linux-musl/release/deps/std-6b83118f9487b978.3rypb9vaepbhscg.rcgu.o" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-std/x86_64-unknown-linux-musl/release/deps/std-6b83118f9487b978.52hrl9z07ffpuzux.rcgu.o" "-Wl,-zrelro" "-Wl,-znow" "-Wl,-O1" "-nodefaultlibs" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-std/x86_64-unknown-linux-musl/release/deps" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-std/release/deps" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-std/x86_64-unknown-linux-musl/release/build/compiler_builtins-f991939043ebf2d7/out" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-std/x86_64-unknown-linux-musl/release/build/backtrace-sys-ea7d883db989c7d2/out" "-L" "/usr/local/x86_64-linux-musl/lib" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib" "-Wl,-Bstatic" "-Wl,--whole-arx86_64-linux-musl/bin/ld: /tmp/rustckSrKes/liblibc-398900c3737025aa.rlib(lio_listio.o): relocation R_X86_64_32 against `.text.wait_thread' can not be used when making a shared object; recompile with -fPIC
[00:46:42]           /usr/local/bin/../lib/gcc/x86_64-linux-musl/6.3.0/../../../../x86_64-linux-musl/bin/ld: /tmp/rustckSrKes/liblibc-398900c3737025aa.rlib(confstr.o): relocation R_X86_64_32 against `.rodata.confstr.str1.1' can not be used when making a shared object; recompile with -fPIC
[00:46:42]           /usr/local/bin/../lib/gcc/x86_64-linux-musl/6.3.0/../../../../x86_64-linux-musl/bin/ld: /tmp/rustckSrKes/liblibc-398900c3737025aa.rlib(fpathconf.o): relocation R_X86_64_32S against `.rodata.values.1546' can not be used when making a shared object; recompile with -fPIC
[00:46:42]           /usr/local/bin/../lib/gcc/x86_64-linux-musl/6.3.0/../../../../x86_64-linux-musl/bin/ld: /tmp/rustckSrKes/liblibc-398900c3737025aa.rlib(sysconf.o): relocation R_X86_64_32S against `.rodata.values.2364' can not be used when making a shared object; recompile with -fPIC
[00:46:42]           /usr/local/bin/../lib/gcc/x86_64-linux-musl/6.3.0/../../../../x86_64-linux-musl/bin/ld: /tmp/rustckSrKes/liblibc-398900c3737025aa.rlib(crypt.o): relocation R_X86_64_32 against `.bss.buf.1558' can not be used when making a shared object; recompile with -fPIC
[00:46:42]           /usr/local/bin/../lib/gcc/x86_64-linux-musl/6.3.0/../../../../x86_64-linux-musl/bin/ld: /tmp/rustckSrKes/liblibc-398900c3737025aa.rlib(crypt_blowfish.o): relocation R_X86_64_32S against `.rodata.BF_init_state' can not be used when making a shared object; recompile with -fPIC
[00:46:42]           /usr/local/bin/../lib/gcc/x86_64-linux-musl/6.3.0/../../../../x86_64-linux-musl/bin/ld: /tmp/rustckSrKes/liblibc-398900c3737025aa.rlib(crypt_des.o): relocation R_X86_64_32S against `.rodata.key_perm_maskl' can not be used when making a shared object; recompile with -fPIC
[00:46:42]           /usr/local/bin/../lib/gcc/x86_64-linux-musl/6.3.0/../../../../x86_64-linux-musl/bin/ld: /tmp/rustckSrKes/liblibc-398900c3737025aa.rlib(crypt_md5.o): relocation R_X86_64_32 against `.rodata.tab' can not be used when making a shared object; recompile with -fPIC
[00:46:42]           /usr/local/bin/../lib/gcc/x86_64-linux-musl/6.3.0/../../../../x86_64-linux-musl/bin/ld: /tmp/rustckSrKes/liblibc-398900c3737025aa.rlib(crypt_sha256.o): relocation R_X86_64_32S against `.rodata.K' can not be used when making a shared object; recompile with -fPIC
[00:46:42]           /usr/local/bin/../lib/gcc/x86_64-linux-musl/6.3.0/../../../../x86_64-linux-musl/bin/ld: /tmp/rustckSrKes/liblibc-398900c3737025aa.rlib(crypt_sha512.o): relocation R_X86_64_32S against `.rodata.K' can not be used when making a shared object; recompile with -fPIC
[00:46:42]           /usr/local/bin/../lib/gcc/x86_64-linux-musl/6.3.0/../../../../x86_64-linux-musl/bin/ld: /tmp/rustckSrKes/liblibc-398900c3737025aa.rlib(encrypt.o): relocation R_X86_64_32 against `.bss.__encrypt_key' can not be used when making a shared object; recompile with -fPIC
[00:46:42]           /usr/local/bin/../lib/gcc/x86_64-linux-musl/6.3.0/../../../../x86_64-linux-musl/bin/ld: /tmp/rustckSrKes/liblib    /usr/local/bin/../lib/gcc/x86_64-linux-musl/6.3.0/../../../../x86_64-linux-musl/bin/ld: /tmp/rustckSrKes/liblibc-398900c3737025aa.rlib(exit.o): relocation R_X86_64_32 against undefined hidden symbol `__fini_array_end' can not be used when making a shared object
[00:46:42]           /usr/local/bin/../lib/gcc/x86_64-linux-musl/6.3.0/../../../../x86_64-linux-musl/bin/ld: /tmp/rustckSrKes/liblibc-398900c3737025aa.rlib(floatscan.o): relocation R_X86_64_32S against `.rodata.p10s.2584' can not be used when making a shared object; recompile with -fPIC
[00:46:42]           /usr/local/bin/../lib/gcc/x86_64-linux-musl/6.3.0/../../../../x86_64-linux-musl/bin/ld: /tmp/rustckSrKes/liblibc-398900c3737025aa.rlib(intscan.o): relocation R_X86_64_32S against `.rodata.table' can not be used when making a shared object; recompile with -fPIC
[00:46:42]           /usr/local/bin/../lib/gcc/x86_64-linux-musl/6.3.0/../../../../x86_64-linux-musl/bin/ld: /tmp/rustckSrKes/liblibc-398900c3737025aa.rlib(procfdname.o): relocation R_X86_64_32S against `.rodata.__procfdname.str1.1' can not be used when making a shared object; recompile with -fPIC
[00:46:42]           /usr/local/bin/../lib/gcc/x86_64-linux-musl/6.3.0/../../../../x86_64-linux-musl/bin/ld: /tmp/rustckSrKes/liblibc-398900c3737025aa.rlib(version.o): relocation R_X86_64_32 against `.rodata.version' can not be used when making a shared object; recompile with -fPIC
[00:46:42]           /usr/local/bin/../lib/gcc/x86_64-linux-musl/6.3.0/../../../../x86_64-linux-musl/bin/ld: /tmp/rustckSrKes/liblibc-398900c3737025aa.rlib(__dlsym.o): relocation R_X86_64_32-musl/6.3.0/../../../../x86_64-linux-musl/bin/ld: /tmp/rustckSrKes/liblibc-398900c3737025aa.rlib(daemon.o): relocation R_X86_64_32 against `.rodata.daemon.str1.1' can not be used when making a shared object; recompile with -fPIC
[00:46:42]           /usr/local/bin/../lib/gcc/x86_64-linux-musl/6.3.0/../../../../x86_64-linux-musl/bin/ld: /tmp/rustckSrKes/liblibc-398900c3737025aa.rlib(err.o): relocation R_X86_64_32 against `.rodata.vwarn.str1.1' can not be used when making a shared object; recompile with -fPIC
[00:46:42]           /usr/local/bin/../lib/gcc/x86_64-linux-musl/6.3.0/../../../../x86_64-linux-musl/bin/ld: /tmp/rustckSrKes/liblibc-398900c3737025aa.rlib(getpass.o): relocation R_X86_64_32 against `.rodata.getpass.str1.1' can not be used when making a shared object; recompile with -fPIC
[00:46:42]           /usr/local/bin/../lib/gcc/x86_64-linux-musl/6.3.0/../../../../x86_64-linux-musl/bin/ld: /tmp/rustckSrKes/liblibc-398900c3737025aa.rlib(getusershell.o): relocation R_X86_64_32 against `.rodata.setusershell.str1.1' can not be used when making a shared object; recompile with -fPIC
[00:46:42]           /usr/local/bin/../lib/gcc/x86_64-linux-musl/6.3.0/../../../../x86_64-linux-musl/bin/ld: /tmp/rustckSrKes/liblibc-398900c3737025aa.rlib(bind_textdomain_codeset.o): relocation R_X86_64_32 against `.rodata.bind_textdomain_codeset.str1.1' can not be used when making a shared object; recompile with -fPIC
[00:46:42]           /usr/local/bin/../lib/gcc/x86_64-linux-musl/6.3.0/../../../../x86_64-linux-musl/bin/ld: /tmp/rustckSrKes/liblibc-398900c3737025aa.rlib(dcngettext.o): relocation Rl/bin/../lib/gcc/x86_64-linux-musl/6.3.0/../../../../x86_64-linux-musl/bin/ld: /tmp/rustckSrKes/liblibc-398900c3737025aa.rlib(newlocale.o): relocation R_X86_64_32S against symbol `__c_locale' can not be used when making a shared object; recompile with -fPIC
[00:46:42]           /usr/local/bin/../lib/gcc/x86_64-linux-musl/6.3.0/../../../../x86_64-linux-musl/bin/ld: /tmp/rustckSrKes/liblibc-398900c3737025aa.rlib(pleval.o): relocation R_X86_64_32S against `.rodata.opch.1602' can not be used when making a shared object; recompile with -fPIC
[00:46:42]           /usr/local/bin/../lib/gcc/x86_64-linux-musl/6.3.0/../../../../x86_64-linux-musl/bin/ld: /tmp/rustckSrKes/liblibc-398900c3737025aa.rlib(setlocale.o): relocation R_X86_64_32 against `.bss.lock.2875' can not be used when making a shared object; recompile with -fPIC
[00:46:42]           /usr/local/bin/../lib/gcc/x86_64-linux-musl/6.3.0/../../../../x86_64-linux-musl/bin/ld: /tmp/rustckSrKes/liblibc-398900c3737025aa.rlib(strfmon.o): relocation R_X86_64_32 against `.rodata.vstrfmon_l.isra.0.str1.1' can not be used when making a shared object; recompile with -fPIC
[00:46:42]           /usr/local/bin/../lib/gcc/x86_64-linux-musl/6.3.0/../../../../x86_64-linux-musl/bin/ld: /tmp/rustckSrKes/liblibc-398900c3737025aa.rlib(textdomain.o): relocation R_X86_64_32 against `.rodata.__gettextdomain.str1.1' can not be used when making a shared object; recompile with -fPIC
[00:46:42]           /usr/local/bin/../lib/gcc/x86_64-linux-musl/6.3.0/../../../../x86_64-linux-musl/bin/ld: /tmp/rustckSrKes/liblibc-398900c3737025aa.rlib(uselocale.o): relocation' can not be used when making a shared object; recompile with -fPIC
[00:46:42]           /usr/local/bin/../lib/gcc/x86_64-linux-musl/6.3.0/../../../../x86_64-linux-musl/bin/ld: /tmp/rustckSrKes/liblibc-398900c3737025aa.rlib(lgamma_r.o): relocation R_X86_64_32S against `.rodata.__lgamma_r' can not be used when making a shared object; recompile with -fPIC
[00:46:42]           /usr/local/bin/../lib/gcc/x86_64-linux-musl/6.3.0/../../../../x86_64-linux-musl/bin/ld: /tmp/rustckSrKes/liblibc-398900c3737025aa.rlib(lgammaf.o): relocation R_X86_64_32 against symbol `__signgam' can not be used when making a shared object; recompile with -fPIC
[00:46:42]           /usr/local/bin/../lib/gcc/x86_64-linux-musl/6.3.0/../../../../x86_64-linux-musl/bin/ld: /tmp/rustckSrKes/liblibc-398900c3737025aa.rlib(lgammaf_r.o): relocation R_X86_64_32S against `.rodata.__lgammaf_r' can not be used when making a shared object; recompile with -fPIC
[00:46:42]           /usr/local/bin/../lib/gcc/x86_64-linux-musl/6.3.0/../../../../x86_64-linux-musl/bin/ld: /tmp/rustckSrKes/liblibc-398900c3737025aa.rlib(lgammal.o): relocation R_X86_64_32S against `.rodata.__lgammal_r' can not be used when making a shared object; recompile with -fPIC
[00:46:42]           /usr/local/bin/../lib/gcc/x86_64-linux-musl/6.3.0/../../../../x86_64-linux-musl/bin/ld: /tmp/rustckSrKes/liblibc-398900c3737025aa.rlib(pow.o): relocation R_X86_64_32S against `.rodata.bp' can not be used when making a shared object; recompile with -fPIC
[00:46:42]           /usr/local/bin/../lib/gcc/x86_64-linux-musl/6.3.0/../../../../x86_64-linux-musl/bin/ld: /tmp/rustckSrKes/liblibc-398900c3737025aa.rlib(powf.o): relocation R_X86_64_32S against `.rodata.bp' can not be used when making a shared object; recompile with -fPIC
[00:46:42]           /usr/local/bin/../lib/gcc/x86_64-linux-musl/6.3.0/../../../../x86_64-linux-musl/bin/ld: /tmp/rustckSrKes/liblibc-398900c3737025aa.rlib(powl.o): relocation R_X86_64_32S against `.rodata.A' can not be used when making a shared object; recompile with -fPIC
[00:46:42]           /usr/local/bin/../lib/gcc/x86_64-linux-musl/6.3.0/../../../../x86_64-linux-musl/bin/ld: /tmp/rustckSrKes/liblibc-398900c3737025aa.rlib(tgamma.o): relocation R_X86_64_32S against `.rodata.fact' can not be used when making a shared object; recompile with -fPIC
[00:46:42]           /usr/local/bin/../lib/gcc/x86_64-linux-musl/6.3.0/../../../../x86_64-linux-musl/bin/ld: /tmp/rustckSrKes/liblibc-398900c3737025aa.rlib(tgammal.o): relocation R_X86_64_32 against `.rodata.STIR' can not be used when making a shared object; recompile with -fPIC
[00:46:42]           /usr/local/bin/../lib/gcc/x86_64-linux-musl/6.3.0/../../../../x86_64-linux-musl/bin/ld: /tmp/rustckSrKes/liblibc-398900c3737025aa.rlib(a64l.o): relocation R_X86_64_32 against `.rodata.digits' can not be used when making a shared object; recompile with -fPIC
[00:46:42]           /usr/local/bin/../lib/gcc/x86_64-linux-musl/6.3.0/../../../../x86_64-linux-musl/bin/ld: /tmp/rustckSrKes/liblibc-398900c3737025aa.rlib(basename.o): relocation R_X86_64_32 against `.rodata.basename.str1.1' can not be used when making a shared object; recompile with -fPIC
[00:46:42]           /usr/local/bin/../lib/gcc/x86_64-linux-musl/6.3.0/../../../../x86_64-linux-musl/bin/ld: /tmp/rustckSrKes/liblibc-398900c3737025aa.rlib(dirname.o): relocation R_X86_64_32 against `.rodata.dirname.str1.1' can not be used when making a shared object; recompile with -fPIC
[00:46:42]           /usr/local/bin/../lib/gcc/x86_64-linux-musl/6.3.0/../../../../x86_64-linux-musl/bin/ld: /tmp/rustckSrKes/liblibc-398900c3737025aa.rlib(fmtmsg.o): relocation R_X86_64_32 against `.rodata.fmtmsg.str1.1' can not be used when making a shared object; recompile with -fPIC
[00:46:42]           /usr/local/bin/../lib/gcc/x86_64-linux-musl/6.3.0/../../../../x86_64-linux-musl/bin/ld: /tmp/rustckSrKes/liblibc-398900c3737025aa.rlib(get_current_dir_name.o): relocation R_X86_64_32 against `.rodata.get_current_dir_name.str1.1' can not be used when making a shared object; recompile with -fPIC
[00:46:42]           /usr/local/bin/../lib/gcc/x86_64-linux-musl/6.3.0/../../../../x86_64-linux-musl/bin/ld: /tmp/rustckSrKes/liblibc-398900c3737025aa.rlib(getopt.o): relocation R_X86_64_32 against `.rodata.getopt.str1.1' can not be used when making a shared object; recompile with -fPIC
[00:46:42]           /usr/local/bin/../lib/gcc/x86_64-linux-musl/6.3.0/../../../../x86_64-linux-musl/bin/ld: /tmp/rustckSrKes/liblibc-398900c3737025aa.rlib(getopt_long.o): relocation R_X86_64_32 against `.rodata.__getopt_long.str1.1' can not be used when making a shared object; recompile with -fPIC
[00:46:42]           /usr/local/bin/../lib/gcc/x86_64-linux-musl/6.3.0/../../../../x86_64-linux-musl/bin/ld: /tmp/rustckSrKes/liblibc-398900c3737025al/bin/../lib/gcc/x86_64-linux-musl/6.3.0/../../../../x86_64-linux-musl/bin/ld: /tmp/rustckSrKes/liblibc-398900c3737025aa.rlib(wordexp.o): relocation R_X86_64_32 against `.rodata.wordexp.str1.1' can not be used when making a shared object; recompile with -fPIC
[00:46:42]           /usr/local/bin/../lib/gcc/x86_64-linux-musl/6.3.0/../../../../x86_64-linux-musl/bin/ld: /tmp/rustckSrKes/liblibc-398900c3737025aa.rlib(shm_open.o): relocation R_X86_64_32 against `.rodata.__shm_mapname.str1.1' can not be used when making a shared object; recompile with -fPIC
[00:46:42]           /usr/local/bin/../lib/gcc/x86_64-linux-musl/6.3.0/../../../../x86_64-linux-musl/bin/ld: /tmp/rustckSrKes/liblibc-398900c3737025aa.rlib(mq_notify.o): relocation R_X86_64_32 against `.text.start' can not be used when making a shared object; recompile with -fPIC
[00:46:42]           /usr/local/bin/../lib/gcc/x86_64-linux-musl/6.3.0/../../../../x86_64-linux-musl/bin/ld: /tmp/rustckSrKes/liblibc-398900c3737025aa.rlib(c16rtomb.o): relocation R_X86_64_32 against `.bss.internal_state.1610' can not be used when making a shared object; recompile with -fPIC
[00:46:42]           /usr/local/bin/../lib/gcc/x86_64-linux-musl/6.3.0/../../../../x86_64-linux-musl/bin/ld: /tmp/rustckSrKes/liblibc-398900c3737025aa.rlib(mbrlen.o): relocation R_X86_64_32 against `.bss.internal.1588' can not be used when making a shared object; recompile with -fPIC
[00:46:42]           /usr/local/bin/../lib/gcc/x86_64-linux-musl/6.3.0/../../../../x86_64-linux-musl/bin/ld: /tmp/rustckSrKes/liblibc-398900c3737025aa.rlib(mbrtoc16.o): relocation R_X86_64_32 t `.bss.se.1690' can not be used when making a shared object; recompile with -fPIC
[00:46:42]           /usr/local/bin/../lib/gcc/x86_64-linux-musl/6.3.0/../../../../x86_64-linux-musl/bin/ld: /tmp/rustckSrKes/liblibc-398900c3737025aa.rlib(getservbyport_r.o): relocation R_X86_64_32 against `.rodata.getservbyport_r.str1.1' can not be used when making a shared object; recompile with -fPIC
[00:46:42]           /usr/local/bin/../lib/gcc/x86_64-linux-musl/6.3.0/../../../../x86_64-linux-musl/bin/ld: /tmp/rustckSrKes/liblibc-398900c3737025aa.rlib(h_errno.o): relocation R_X86_64_32 against undefined symbol `h_errno' can not be used when making a shared object; recompile with -fPIC
[00:46:42]           /usr/local/bin/../lib/gcc/x86_64-linux-musl/6.3.0/../../../../x86_64-linux-musl/bin/ld: /tmp/rustckSrKes/liblibc-398900c3737025aa.rlib(herror.o): relocation R_X86_64_32 against `.rodata.herror.str1.1' can not be used when making a shared object; recompile with -fPIC
[00:46:42]           /usr/local/bin/../lib/gcc/x86_64-linux-musl/6.3.0/../../../../x86_64-linux-musl/bin/ld: /tmp/rustckSrKes/liblibc-398900c3737025aa.rlib(hstrerror.o): relocation R_X86_64_32 against `.rodata.msgs' can not be used when making a shared object; recompile with -fPIC
[00:46:42]           /usr/local/bin/../lib/gcc/x86_64-linux-musl/6.3.0/../../../../x86_64-linux-musl/bin/ld: /tmp/rustckSrKes/liblibc-398900c3737025aa.rlib(if_nameindex.o): relocation R_X86_64_32 against `.text.netlink_msg_to_nameindex' can not be used when making a shared object; recompile with -fPIC
[00:46:42]           /usr/local/bin/../lib/gc64_32 against `.text.cleanup' can not be used when making a shared object; recompile with -fPIC
[00:46:42]           /usr/local/bin/../lib/gcc/x86_64-linux-musl/6.3.0/../../../../x86_64-linux-musl/bin/ld: /tmp/rustckSrKes/liblibc-398900c3737025aa.rlib(res_state.o): relocation R_X86_64_32 against `.bss.res.1802' can not be used when making a shared object; recompile with -fPIC
[00:46:42]           /usr/local/bin/../lib/gcc/x86_64-linux-musl/6.3.0/../../../../x86_64-linux-musl/bin/ld: /tmp/rustckSrKes/liblibc-398900c3737025aa.rlib(resolvconf.o): relocation R_X86_64_32 against `.rodata.__get_resolv_conf.str1.1' can not be used when making a shared object; recompile with -fPIC
[00:46:42]           /usr/local/bin/../lib/gcc/x86_64-linux-musl/6.3.0/../../../../x86_64-linux-musl/bin/ld: /tmp/rustckSrKes/liblibc-398900c3737025aa.rlib(fgetgrent.o): relocation R_X86_64_32 against `.bss.mem.2215' can not be used when making a shared object; recompile with -fPIC
[00:46:42]           /usr/local/bin/../lib/gcc/x86_64-linux-musl/6.3.0/../../../../x86_64-linux-musl/bin/ld: /tmp/rustckSrKes/liblibc-398900c3737025aa.rlib(fgetpwent.o): relocation R_X86_64_32 against `.bss.line.2214' can not be used when making a shared object; recompile with -fPIC
[00:46:42]           /usr/local/bin/../lib/gcc/x86_64-linux-musl/6.3.0/../../../../x86_64-linux-musl/bin/ld: /tmp/rustckSrKes/liblibc-398900c3737025aa.rlib(fgetspent.o): relocation R_X86_64_32 against `.bss.line.2493' can not be used when making a shared object; recompile with -fPIC
[00:46:42]           /usr/local/bin/../lib/gcc/x86_64-linux-musl/6sp.2012' can not be used when making a shared object; recompile with -fPIC
[00:46:42]           /usr/local/bin/../lib/gcc/x86_64-linux-musl/6.3.0/../../../../x86_64-linux-musl/bin/ld: /tmp/rustckSrKes/liblibc-398900c3737025aa.rlib(getspnam_r.o): relocation R_X86_64_32 against `.rodata.getspnam_r.str1.1' can not be used when making a shared object; recompile with -fPIC
[00:46:42]           /usr/local/bin/../lib/gcc/x86_64-linux-musl/6.3.0/../../../../x86_64-linux-musl/bin/ld: /tmp/rustckSrKes/liblibc-398900c3737025aa.rlib(nscd_query.o): relocation R_X86_64_32 against `.rodata.__nscd_query.str1.1' can not be used when making a shared object; recompile with -fPIC
[00:46:42]           /usr/local/bin/../lib/gcc/x86_64-linux-musl/6.3.0/../../../../x86_64-linux-musl/bin/ld: /tmp/rustckSrKes/liblibc-398900c3737025aa.rlib(putgrent.o): relocation R_X86_64_32 against `.rodata.putgrent.str1.1' can not be used when making a shared object; recompile with -fPIC
[00:46:42]           /usr/local/bin/../lib/gcc/x86_64-linux-musl/6.3.0/../../../../x86_64-linux-musl/bin/ld: /tmp/rustckSrKes/liblibc-398900c3737025aa.rlib(putpwent.o): relocation R_X86_64_32 against `.rodata.putpwent.str1.1' can not be used when making a shared object; recompile with -fPIC
[00:46:42]           /usr/local/bin/../lib/gcc/x86_64-linux-musl/6.3.0/../../../../x86_64-linux-musl/bin/ld: /tmp/rustckSrKes/liblibc-398900c3737025aa.rlib(putspent.o): relocation R_X86_64_32 against `.rodata.putspent.str1.1' can not be used when making a shared object; recompile with -fPIC
[00:46:42]           /usr/local/bin/../lib/gcc/x86_64-bject; recompile with -fPIC
[00:46:42]           /usr/local/bin/../lib/gcc/x86_64-linux-musl/6.3.0/../../../../x86_64-linux-musl/bin/ld: /tmp/rustckSrKes/liblibc-398900c3737025aa.rlib(execvp.o): relocation R_X86_64_32 against `.rodata.__execvpe.str1.1' can not be used when making a shared object; recompile with -fPIC
[00:46:42]           /usr/local/bin/../lib/gcc/x86_64-linux-musl/6.3.0/../../../../x86_64-linux-musl/bin/ld: /tmp/rustckSrKes/liblibc-398900c3737025aa.rlib(posix_spawn.o): relocation R_X86_64_32 against `.text.child' can not be used when making a shared object; recompile with -fPIC
[00:46:42]           /usr/local/bin/../lib/gcc/x86_64-linux-musl/6.3.0/../../../../x86_64-linux-musl/bin/ld: /tmp/rustckSrKes/liblibc-398900c3737025aa.rlib(posix_spawnp.o): relocation R_X86_64_32 against symbol `__execvpe' can not be used when making a shared object; recompile with -fPIC
[00:46:42]           /usr/local/bin/../lib/gcc/x86_64-linux-musl/6.3.0/../../../../x86_64-linux-musl/bin/ld: /tmp/rustckSrKes/liblibc-398900c3737025aa.rlib(system.o): relocation R_X86_64_32 against `.rodata.system.str1.1' can not be used when making a shared object; recompile with -fPIC
[00:46:42]           /usr/local/bin/../lib/gcc/x86_64-linux-musl/6.3.0/../../../../x86_64-linux-musl/bin/ld: /tmp/rustckSrKes/liblibc-398900c3737025aa.rlib(glob.o): relocation R_X86_64_32 against `.rodata.append.str1.1' can not be used when making a shared object; recompile with -fPIC
[00:46:42]           /usr/local/bin/../lib/gcc/x86_64-linux-musl/6.3.0/../../../../x86_64-linux-musl/bin/ld: /tmp/rustckSrKes/liblibc-l/bin/../lib/gcc/x86_64-linux-musl/6.3.0/../../../../x86_64-linux-musl/bin/ld: /tmp/rustckSrKes/liblibc-398900c3737025aa.rlib(open_wmemstream.o): relocation R_X86_64_32S against `.text.wms_write' can not be used when making a shared object; recompile with -fPIC
[00:46:42]           /usr/local/bin/../lib/gcc/x86_64-linux-musl/6.3.0/../../../../x86_64-linux-musl/bin/ld: /tmp/rustckSrKes/liblibc-398900c3737025aa.rlib(popen.o): relocation R_X86_64_32 against `.rodata.popen.str1.1' can not be used when making a shared object; recompile with -fPIC
[00:46:42]           /usr/local/bin/../lib/gcc/x86_64-linux-musl/6.3.0/../../../../x86_64-linux-musl/bin/ld: /tmp/rustckSrKes/liblibc-398900c3737025aa.rlib(tempnam.o): relocation R_X86_64_32 against `.rodata.tempnam.str1.1' can not be used when making a shared object; recompile with -fPIC
[00:46:42]           /usr/local/bin/../lib/gcc/x86_64-linux-musl/6.3.0/../../../../x86_64-linux-musl/bin/ld: /tmp/rustckSrKes/liblibc-398900c3737025aa.rlib(tmpfile.o): relocation R_X86_64_32 against `.rodata.tmpfile.str1.1' can not be used when making a shared object; recompile with -fPIC
[00:46:42]           /usr/local/bin/../lib/gcc/x86_64-linux-musl/6.3.0/../../../../x86_64-linux-musl/bin/ld: /tmp/rustckSrKes/liblibc-398900c3737025aa.rlib(tmpnam.o): relocation R_X86_64_32 against `.rodata.tmpnam.str1.1' can not be used when making a shared object; recompile with -fPIC
[00:46:42]           /usr/local/bin/../lib/gcc/x86_64-linux-musl/6.3.0/../../../../x86_64-linux-musl/bin/ld: /tmp/rustckSrKes/liblibc-398900c3737025aa.rlib(vdprintf.o): relocation R_X86_64_32S against `.text.wrap_write' can not be used when making a shared object; recompile with -fPIC
[00:46:42]           /usr/local/bin/../lib/gcc/x86_64-linux-musl/6.3.0/../../../../x86_64-linux-musl/bin/ld: /tmp/rustckSrKes/liblibc-398900c3737025aa.rlib(vfprintf.o): relocation R_X86_64_32S against `.rodata.pop_arg' can not be used when making a shared object; recompile with -fPIC
[00:46:42]           /usr/local/bin/../lib/gcc/x86_64-linux-musl/6.3.0/../../../../x86_64-linux-musl/bin/ld: /tmp/rustckSrKes/liblibc-398900c3737025aa.rlib(vfscanf.o): relocation R_X86_64_32S against `.rodata.store_int' can not be used when making a shared object; recompile with -fPIC
[00:46:42]           /usr/local/bin/../lib/gcc/x86_64-linux-musl/6.3.0/../../../../x86_64-linux-musl/bin/ld: /tmp/rustckSrKes/liblibc-398900c3737025aa.rlib(vfwprintf.o): relocation R_X86_64_32S against `.rodata.pop_arg' can not be used when making a shared object; recompile with -fPIC
[00:46:42]           /usr/local/bin/../lib/gcc/x86_64-linux-musl/6.3.0/../../../../x86_64-linux-musl/bin/ld: /tmp/rustckSrKes/liblibc-398900c3737025aa.rlib(vfwscanf.o): relocation R_X86_64_32S against `.rodata.vfwscanf' can not be used when making a shared object; recompile with -fPIC
[00:46:42]           /usr/local/bin/../lib/gcc/x86_64-linux-musl/6.3.0/../../../../x86_64-linux-musl/bin/ld: /tmp/rustckSrKes/liblibc-398900c3737025aa.rlib(vsnprintf.o): relocation R_X86_64_32S against `.text.sn_write' can not be used when making a shared object; recompile with -fPIC
[00:46:42]           /usr/local/bin/../lib/gcc/x86_64-linux-musl/6.3.0/../../../../x86_64-linux-musl/bin/ld: /tmp/rustckSrKes/liblibc-398900c3737025aa.rlib(vsscanf.o): relocation R_X86_64_32S against `.text.do_read' can not be used when making a shared object; recompile with -fPIC
[00:46:42]           /usr/local/bin/../lib/gcc/x86_64-linux-musl/6.3.0/../../../../x86_64-linux-musl/bin/ld: /tmp/rustckSrKes/liblibc-398900c3737025aa.rlib(vswprintf.o): relocation R_X86_64_32S against `.text.sw_write' can not be used when making a shared object; recompile with -fPIC
[00:46:42]           /usr/local/bin/../lib/gcc/x86_64-linux-musl/6.3.0/../../../../x86_64-linux-musl/bin/ld: /tmp/rustckSrKes/liblibc-398900c3737025aa.rlib(vswscanf.o): relocation R_X86_64_32S against `.text.wstring_read' can not be used when making a shared object; recompile with -fPIC
[00:46:42]           /usr/local/bin/../lib/gcc/x86_64-linux-musl/6.3.0/../../../../x86_64-linux-musl/bin/ld: /tmp/rustckSrKes/liblibc-398900c3737025aa.rlib(ecvt.o): relocation R_X86_64_32 against `.rodata.ecvt.str1.1' can not be used when making a shared object; recompile with -fPIC
[00:46:42]           /usr/local/bin/../lib/gcc/x86_64-linux-musl/6.3.0/../../../../x86_64-linux-musl/bin/ld: /tmp/rustckSrKes/liblibc-398900c3737025aa.rlib(fcvt.o): relocation R_X86_64_32 against `.rodata.fcvt.str1.1' can not be used when making a shared object; recompile with -fPIC
[00:46:42]           /usr/local/bin/../lib/gcc/x86_64-linux-musl/6.3.0/../../../../x86_64-linux-musl/bin/ld: /tmp/rustckSrKes/liblibc-398900c3737025aa.rlib(gcvt.o): relocation R_X86_64_32 against `.rodata.gcvt.str1.1' can not be used when making a shared object;blibc-398900c3737025aa.rlib(mktemp.o): relocation R_X86_64_32 against `.rodata.mktemp.str1.1' can not be used when making a shared object; recompile with -fPIC
[00:46:42]           /usr/local/bin/../lib/gcc/x86_64-linux-musl/6.3.0/../../../../x86_64-linux-musl/bin/ld: /tmp/rustckSrKes/liblibc-398900c3737025aa.rlib(lock_ptc.o): relocation R_X86_64_32 against `.bss.lock' can not be used when making a shared object; recompile with -fPIC
[00:46:42]           /usr/local/bin/../lib/gcc/x86_64-linux-musl/6.3.0/../../../../x86_64-linux-musl/bin/ld: /tmp/rustckSrKes/liblibc-398900c3737025aa.rlib(pthread_atfork.o): relocation R_X86_64_32 against `.bss.lock' can not be used when making a shared object; recompile with -fPIC
[00:46:42]           /usr/local/bin/../lib/gcc/x86_64-linux-musl/6.3.0/../../../../x86_64-linux-musl/bin/ld: /tmp/rustckSrKes/liblibc-398900c3737025aa.rlib(pthread_cancel.o): relocation R_X86_64_32S against hidden symbol `__cp_begin' can not be used when making a shared object
[00:46:42]           /usr/local/bin/../lib/gcc/x86_64-linux-musl/6.3.0/../../../../x86_64-linux-musl/bin/ld: /tmp/rustckSrKes/liblibc-398900c3737025aa.rlib(pthread_create.o): relocation R_X86_64_32S against symbol `__pthread_tsd_main' can not be used when making a shared object; recompile with -fPIC
[00:46:42]           /usr/local/bin/../lib/gcc/x86_64-linux-musl/6.3.0/../../../../x86_64-linux-musl/bin/ld: /tmp/rustckSrKes/liblibc-398900c3737025aa.rlib(pthread_key_create.o): relocation R_X86_64_32S against symbol `__pthread_tsd_main' can not be used when making a shared object; recompile with -fPIC
[00:46:42]           /usr/local/bin/../lib/gcc/x86_64-linux-musl/6.3.0/../../../../x86_64-linux-musl/bin/ld: /tmp/rustckSrKes/liblibc-398900c3737025aa.rlib(pthread_once.o): relocation R_X86_64_32 against `.text.undo' can not be used when making a shared object; recompile with -fPIC
[00:46:42]           /usr/local/bin/../lib/gcc/x86_64-linux-musl/6.3.0/../../../../x86_64-linux-musl/bin/ld: /tmp/rustckSrKes/liblibc-398900c3737025aa.rlib(pthread_setname_np.o): relocation R_X86_64_32 against `.rodata.pthread_setname_np.str1.1' can not be used when making a shared object; recompile with -fPIC
[00:46:42]           /usr/local/bin/../lib/gcc/x86_64-linux-musl/6.3.0/../../../../x86_64-linux-musl/bin/ld: /tmp/rustckSrKes/liblibc-398900c3737025aa.rlib(sem_open.o): relocation R_X86_64_32 against `.bss.lock' can not be used when making a shared object; recompile with -fPIC
[00:46:42]           /usr/local/bin/../lib/gcc/x86_64-linux-musl/6.3.0/../../../../x86_64-linux-musl/bin/ld: /tmp/rustckSrKes/liblibc-398900c3737025aa.rlib(sem_timedwait.o): relocation R_X86_64_32 against `.text.cleanup' can not be used when making a shared object; recompile with -fPIC
[00:46:42]           /usr/local/bin/../lib/gcc/x86_64-linux-musl/6.3.0/../../../../x86_64-linux-musl/bin/ld: /tmp/rustckSrKes/liblibc-398900c3737025aa.rlib(synccall.o): relocation R_X86_64_32 against `.bss.target_tid' can not be used when making a shared object; recompile with -fPIC
[00:46:42]           /usr/local/bin/../lib/gcc/x86_64-linux-musl/6.3.0/../../../../x86_64-linux-musl/bin/ld: /tmp/rustckSrKes/liblibc-398900c3737025aa.rlib(vl/6.3.0/../../../../x86_64-linux-musl/bin/ld: /tmp/rustckSrKes/liblibc-398900c3737025aa.rlib(getlogin.o): relocation R_X86_64_32 against `.rodata.getlogin.str1.1' can not be used when making a shared object; recompile with -fPIC
[00:46:42]           /usr/local/bin/../lib/gcc/x86_64-linux-musl/6.3.0/../../../../x86_64-linux-musl/bin/ld: /tmp/rustckSrKes/liblibc-398900c3737025aa.rlib(setxid.o): relocation R_X86_64_32 against `.text.do_setxid' can not be used when making a shared object; recompile with -fPIC
[00:46:42]           /usr/local/bin/../lib/gcc/x86_64-linux-musl/6.3.0/../../../../x86_64-linux-musl/bin/ld: /tmp/rustckSrKes/liblibc-398900c3737025aa.rlib(ttyname.o): relocation R_X86_64_32 against `.bss.buf.1545' can not be used when making a shared object; recompile with -fPIC
[00:46:42]           /usr/local/bin/../lib/gcc/x86_64-linux-musl/6.3.0/../../../../x86_64-linux-musl/bin/ld: final link failed: Nonrepresentable section on output
[00:46:42]           
[00:46:42] 
[00:46:42] error: aborting due to previous error
[00:46:42] 

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 @TimNN. (Feature Requests)

@rust-highfive
Copy link
Collaborator

The job dist-x86_64-musl of your PR failed on Travis (raw log). Through arcane magic we have determined that the following fragments from the build log may contain information about the problem.

Click to expand the log.
travis_time:end:04a62458:start=1546805715492876390,finish=1546805786526760449,duration=71033884059
$ git checkout -qf FETCH_HEAD
travis_fold:end:git.checkout

Encrypted environment variables have been removed for security reasons.
See https://docs.travis-ci.com/user/pull-requests/#pull-requests-and-security-restrictions
$ export SCCACHE_BUCKET=rust-lang-ci-sccache2
$ export SCCACHE_REGION=us-west-1
Setting environment variables from .travis.yml
$ export IMAGE=dist-x86_64-musl
---
[00:01:08] Step 5/10 : RUN bash musl-toolchain.sh x86_64-linux-musl && rm -rf build
[00:01:08]  ---> Running in a5d5ed0a7d39
[00:01:09] + TARGET=x86_64-linux-musl
[00:01:09] + ARCH=x86_64
[00:01:09] + OUTPUT=/usr/local
[00:01:09] + shift
[00:01:09] + git clone https://github.com/richfelker/musl-cross-make -b v0.9.7
[00:01:09] Cloning into 'musl-cross-make'...
[00:01:09] Note: checking out 'b85e29c00d35c8c8c196d6713505b837816ad47f'.
[00:01:09] 
[00:01:09] You are in 'detached HEAD' state. You can look around, make experimental
[00:01:09] changes and commit them, and you can discard any commits you make in this
[00:01:09] state without impacting any branches by performing another checkout.
[00:01:09] 
[00:01:09] If you want to create a new branch to retain commits you create, you may
[00:01:09] do so (now or later) by using -b with the checkout command again. Example:
[00:01:09] 
[00:01:09]   git checkout -b <new-branch-name>
[00:01:09] + cd musl-cross-make
[00:01:09] ++ nproc
[00:01:09] + hide_output make -j4 TARGET=x86_64-linux-musl
[00:01:09] + set +x
---
[00:10:10] Sun Jan 6 20:26:45 UTC 2019 - building ...
[00:10:40] Sun Jan 6 20:27:15 UTC 2019 - building ...
[00:11:10] Sun Jan 6 20:27:45 UTC 2019 - building ...
[00:11:40] Sun Jan 6 20:28:15 UTC 2019 - building ...
[00:11:56] musl-toolchain.sh: line 13:    20 Terminated              bash -c "while true; do sleep 30; echo \$(date) - building ...; done"
[00:11:56] + hide_output make install TARGET=x86_64-linux-musl OUTPUT=/usr/local
[00:12:09] /build
[00:12:09] musl-toolchain.sh: line 13:  6374 Terminated              bash -c "while true; do sleep 30; echo \$(date) - building ...; done"
[00:12:09] + cd -
[00:12:09] + cd -
[00:12:09] + ln -s /usr/local/x86_64-linux-musl/lib/libc.so /lib/ld-musl-x86_64.so.1
[00:12:09] + echo /usr/local/x86_64-linux-musl/lib
[00:12:09] + export CC=x86_64-linux-musl-gcc
[00:12:09] + CC=x86_64-linux-musl-gcc
[00:12:09] + export CXX=x86_64-linux-musl-g++
[00:12:09] + CXX=x86_64-linux-musl-g++
[00:12:09] + CFLAGS='-fPIC '
[00:12:09] + LLVM=60
[00:12:09] + '[' '!' -d libunwind-release_60 ']'
[00:12:09] + curl -L https://github.com/llvm-mirror/llvm/archive/release_60.tar.gz
---
[00:15:11] Step 8/10 : ENV RUST_CONFIGURE_ARGS       --musl-root-x86_64=/usr/local/x86_64-linux-musl       --enable-extended       --disable-docs
[00:15:11]  ---> Running in 3c13db64bda8
[00:15:11] Removing intermediate container 3c13db64bda8
[00:15:11]  ---> 03c46e95feac
[00:15:11] Step 9/10 : ENV HOSTS=x86_64-unknown-linux-musl     CC_x86_64_unknown_linux_musl=x86_64-linux-musl-gcc     CXX_x86_64_unknown_linux_musl=x86_64-linux-musl-g++
[00:15:11] Removing intermediate container 646ed4f28620
[00:15:11]  ---> 263501355b97
[00:15:11] Step 10/10 : ENV SCRIPT       python2.7 ../x.py test --host $HOSTS --target $HOSTS &&       python2.7 ../x.py dist --host $HOSTS --target $HOSTS
[00:15:11]  ---> Running in 3d9e8e6223fe
[00:15:11]  ---> Running in 3d9e8e6223fe
[00:15:11] Removing intermediate container 3d9e8e6223fe
[00:15:11]  ---> c5ccc9e76c7f
[00:15:11] Successfully built c5ccc9e76c7f
[00:15:11] Successfully tagged rust-ci:latest
[00:15:11] Built container sha256:c5ccc9e76c7f2a37bb493eccbd0323a61da65783edd467dbcf66fa04fefe3c5c
[00:15:11] Uploading finished image to s3://rust-lang-ci-sccache2/docker/92151d09012d25ae66a87636becad86ca1fc5bb763002d3eaffeb358fe628b85e1da22cbc5aafd6f4a193417c390be71037ec8b008ed49726e411e6b5066e3a3
[00:21:35] upload failed: - to s3://rust-lang-ci-sccache2/docker/92151d09012d25ae66a87636becad86ca1fc5bb763002d3eaffeb358fe628b85e1da22cbc5aafd6f4a193417c390be71037ec8b008ed49726e411e6b5066e3a3 Unable to locate credentials

[00:21:36] travis_time:end:01bb52f6:start=1546805806401197376,finish=1546807091081513920,duration=1284680316544
[CI_JOB_NAME=dist-x86_64-musl]
[00:21:36] [CI_JOB_NAME=dist-x86_64-musl]
---
[00:46:14]    Compiling alloc v0.0.0 (/checkout/src/liballoc)
[00:46:14]    Compiling rustc-demangle v0.1.10
[00:46:14]    Compiling panic_abort v0.0.0 (/checkout/src/libpanic_abort)
[00:46:20]    Compiling panic_unwind v0.0.0 (/checkout/src/libpanic_unwind)
[00:46:42] error: linking with `x86_64-linux-musl-gcc` failed: exit code: 1
[00:46:42]   |
[00:46:42]   = note: "x86_64-linux-musl-gcc" "-Wl,--as-needed" "-Wl,-z,noexecstack" "-fPIC" "-Wl,--eh-frame-hdr" "-m64" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-std/x86_64-unknown-linux-musl/release/deps/std-17ddccb9ffa299d5.std.b0f5gycn-cgu.0.rcgu.o" "-o" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-std/x86_64-unknown-linux-musl/release/deps/libstd-17ddccb9ffa299d5.so" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-std/x86_64-unknown-linux-musl/release/deps/std-17ddccb9ffa299d5.3n78dsopae6oqrp8.rcgu.o" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-std/x86_64-unknown-linux-musl/release/deps/std-17ddccb9ffa299d5.42d8hsc84mozgxop.rcgu.o" "-Wl,-zrelro" "-Wl,-znow" "-Wl,-O1" "-nodefaultlibs" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-std/x86_64-unknown-linux-musl/release/deps" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-std/release/deps" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-std/x86_64-unknown-linux-musl/release/build/compiler_builtins-eb8895bdc00ff673/out" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-std/x86_64-unknown-linux-musl/release/build/backtrace-sys-c197728c7f4c4e0f/out" "-L" "/usr/local/x86_64-linux-musl/lib" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib" "-Wl,-Bstatic" "-Wl,-../../../x86_64-linux-musl/bin/ld: /tmp/rustcSOG6yX/liblibc-ca1546dd1e1833bd.rlib(lio_listio.o): relocation R_X86_64_32 against `.text.wait_thread' can not be used when making a shared object; recompile with -fPIC
[00:46:42]           /usr/local/bin/../lib/gcc/x86_64-linux-musl/6.3.0/../../../../x86_64-linux-musl/bin/ld: /tmp/rustcSOG6yX/liblibc-ca1546dd1e1833bd.rlib(confstr.o): relocation R_X86_64_32 against `.rodata.confstr.str1.1' can not be used when making a shared object; recompile with -fPIC
[00:46:42]           /usr/local/bin/../lib/gcc/x86_64-linux-musl/6.3.0/../../../../x86_64-linux-musl/bin/ld: /tmp/rustcSOG6yX/liblibc-ca1546dd1e1833bd.rlib(fpathconf.o): relocation R_X86_64_32S against `.rodata.values.1546' can not be used when making a shared object; recompile with -fPIC
[00:46:42]           /usr/local/bin/../lib/gcc/x86_64-linux-musl/6.3.0/../../../../x86_64-linux-musl/bin/ld: /tmp/rustcSOG6yX/liblibc-ca1546dd1e1833bd.rlib(sysconf.o): relocation R_X86_64_32S against `.rodata.values.2364' can not be used when making a shared object; recompile with -fPIC
[00:46:42]           /usr/local/bin/../lib/gcc/x86_64-linux-musl/6.3.0/../../../../x86_64-linux-musl/bin/ld: /tmp/rustcSOG6yX/liblibc-ca1546dd1e1833bd.rlib(crypt.o): relocation R_X86_64_32 against `.bss.buf.1558' can not be used when making a shared object; recompile with -fPIC
[00:46:42]           /usr/local/bin/../lib/gcc/x86_64-linux-musl/6.3.0/../../../../x86_64-linux-musl/bin/ld: /tmp/rustcSOG6yX/liblibc-ca1546dd1e1833bd.rlib(crypt_blowfish.o): relocation R_X86_64_32S against `.rodata.BF_init_state' can not be used when making a shared object; recompile with -fPIC
[00:46:42]           /usr/local/bin/../lib/gcc/x86_64-linux-musl/6.3.0/../../../../x86_64-linux-musl/bin/ld: /tmp/rustcSOG6yX/liblibc-ca1546dd1e1833bd.rlib(crypt_des.o): relocation R_X86_64_32S against `.rodata.key_perm_maskl' can not be used when making a shared object; recompile with -fPIC
[00:46:42]           /usr/local/bin/../lib/gcc/x86_64-linux-musl/6.3.0/../../../../x86_64-linux-musl/bin/ld: /tmp/rustcSOG6yX/liblibc-ca1546dd1e1833bd.rlib(crypt_md5.o): relocation R_X86_64_32 against `.rodata.tab' can not be used when making a shared object; recompile with -fPIC
[00:46:42]           /usr/local/bin/../lib/gcc/x86_64-linux-musl/6.3.0/../../../../x86_64-linux-musl/bin/ld: /tmp/rustcSOG6yX/liblibc-ca1546dd1e1833bd.rlib(crypt_sha256.o): relocation R_X86_64_32S against `.rodata.K' can not be used when making a shared object; recompile with -fPIC
[00:46:42]           /usr/local/bin/../lib/gcc/x86_64-linux-musl/6.3.0/../../../../x86_64-linux-musl/bin/ld: /tmp/rustcSOG6yX/liblibc-ca1546dd1e1833bd.rlib(crypt_sha512.o): relocation R_X86_64_32S against `.rodata.K' can not be used when making a shared object; recompile with -fPIC
[00:46:42]           /usr/local/bin/../lib/gcc/x86_64-linux-musl/6.3.0/../../../../x86_64-linux-musl/bin/ld: /tmp/rustcSOG6yX/liblibc-ca1546dd1e1833bd.rlib(encrypt.o): relocation R_X86_64_32 against `.bss.__encrypt_key' can not be used when making a shared object; recompile with -fPIC
[00:46:42]           /usr/local/bin/../lib/gcc/x86_64-linux-musl/6.3.0/../../../../x86_64-linux-musl/bin/ld: /tmp/rustcSOG6[0m          /usr/local/bin/../lib/gcc/x86_64-linux-musl/6.3.0/../../../../x86_64-linux-musl/bin/ld: /tmp/rustcSOG6yX/liblibc-ca1546dd1e1833bd.rlib(exit.o): relocation R_X86_64_32 against undefined hidden symbol `__fini_array_end' can not be used when making a shared object
[00:46:42]           /usr/local/bin/../lib/gcc/x86_64-linux-musl/6.3.0/../../../../x86_64-linux-musl/bin/ld: /tmp/rustcSOG6yX/liblibc-ca1546dd1e1833bd.rlib(floatscan.o): relocation R_X86_64_32S against `.rodata.p10s.2584' can not be used when making a shared object; recompile with -fPIC
[00:46:42]           /usr/local/bin/../lib/gcc/x86_64-linux-musl/6.3.0/../../../../x86_64-linux-musl/bin/ld: /tmp/rustcSOG6yX/liblibc-ca1546dd1e1833bd.rlib(intscan.o): relocation R_X86_64_32S against `.rodata.table' can not be used when making a shared object; recompile with -fPIC
[00:46:42]           /usr/local/bin/../lib/gcc/x86_64-linux-musl/6.3.0/../../../../x86_64-linux-musl/bin/ld: /tmp/rustcSOG6yX/liblibc-ca1546dd1e1833bd.rlib(procfdname.o): relocation R_X86_64_32S against `.rodata.__procfdname.str1.1' can not be used when making a shared object; recompile with -fPIC
[00:46:42]           /usr/local/bin/../lib/gcc/x86_64-linux-musl/6.3.0/../../../../x86_64-linux-musl/bin/ld: /tmp/rustcSOG6yX/liblibc-ca1546dd1e1833bd.rlib(version.o): relocation R_X86_64_32 against `.rodata.version' can not be used when making a shared object; recompile with -fPIC
[00:46:42]           /usr/local/bin/../lib/gcc/x86_64-linux-musl/6.3.0/../../../../x86_64-linux-musl/bin/ld: /tmp/rustcSOG6yX/liblibc-ca1546dd1e1833bd.rlib(__dlsym.o): relocation R__64-linux-musl/6.3.0/../../../../x86_64-linux-musl/bin/ld: /tmp/rustcSOG6yX/liblibc-ca1546dd1e1833bd.rlib(daemon.o): relocation R_X86_64_32 against `.rodata.daemon.str1.1' can not be used when making a shared object; recompile with -fPIC
[00:46:42]           /usr/local/bin/../lib/gcc/x86_64-linux-musl/6.3.0/../../../../x86_64-linux-musl/bin/ld: /tmp/rustcSOG6yX/liblibc-ca1546dd1e1833bd.rlib(err.o): relocation R_X86_64_32 against `.rodata.vwarn.str1.1' can not be used when making a shared object; recompile with -fPIC
[00:46:42]           /usr/local/bin/../lib/gcc/x86_64-linux-musl/6.3.0/../../../../x86_64-linux-musl/bin/ld: /tmp/rustcSOG6yX/liblibc-ca1546dd1e1833bd.rlib(getpass.o): relocation R_X86_64_32 against `.rodata.getpass.str1.1' can not be used when making a shared object; recompile with -fPIC
[00:46:42]           /usr/local/bin/../lib/gcc/x86_64-linux-musl/6.3.0/../../../../x86_64-linux-musl/bin/ld: /tmp/rustcSOG6yX/liblibc-ca1546dd1e1833bd.rlib(getusershell.o): relocation R_X86_64_32 against `.rodata.setusershell.str1.1' can not be used when making a shared object; recompile with -fPIC
[00:46:42]           /usr/local/bin/../lib/gcc/x86_64-linux-musl/6.3.0/../../../../x86_64-linux-musl/bin/ld: /tmp/rustcSOG6yX/liblibc-ca1546dd1e1833bd.rlib(bind_textdomain_codeset.o): relocation R_X86_64_32 against `.rodata.bind_textdomain_codeset.str1.1' can not be used when making a shared object; recompile with -fPIC
[00:46:42]           /usr/local/bin/../lib/gcc/x86_64-linux-musl/6.3.0/../../../../x86_64-linux-musl/bin/ld: /tmp/rustcSOG6yX/liblibc-ca1546dd1e1833bd.rlib(dcngettext.o): rel/usr/local/bin/../lib/gcc/x86_64-linux-musl/6.3.0/../../../../x86_64-linux-musl/bin/ld: /tmp/rustcSOG6yX/liblibc-ca1546dd1e1833bd.rlib(newlocale.o): relocation R_X86_64_32S against symbol `__c_locale' can not be used when making a shared object; recompile with -fPIC
[00:46:42]           /usr/local/bin/../lib/gcc/x86_64-linux-musl/6.3.0/../../../../x86_64-linux-musl/bin/ld: /tmp/rustcSOG6yX/liblibc-ca1546dd1e1833bd.rlib(pleval.o): relocation R_X86_64_32S against `.rodata.opch.1602' can not be used when making a shared object; recompile with -fPIC
[00:46:42]           /usr/local/bin/../lib/gcc/x86_64-linux-musl/6.3.0/../../../../x86_64-linux-musl/bin/ld: /tmp/rustcSOG6yX/liblibc-ca1546dd1e1833bd.rlib(setlocale.o): relocation R_X86_64_32 against `.bss.lock.2875' can not be used when making a shared object; recompile with -fPIC
[00:46:42]           /usr/local/bin/../lib/gcc/x86_64-linux-musl/6.3.0/../../../../x86_64-linux-musl/bin/ld: /tmp/rustcSOG6yX/liblibc-ca1546dd1e1833bd.rlib(strfmon.o): relocation R_X86_64_32 against `.rodata.vstrfmon_l.isra.0.str1.1' can not be used when making a shared object; recompile with -fPIC
[00:46:42]           /usr/local/bin/../lib/gcc/x86_64-linux-musl/6.3.0/../../../../x86_64-linux-musl/bin/ld: /tmp/rustcSOG6yX/liblibc-ca1546dd1e1833bd.rlib(textdomain.o): relocation R_X86_64_32 against `.rodata.__gettextdomain.str1.1' can not be used when making a shared object; recompile with -fPIC
[00:46:42]           /usr/local/bin/../lib/gcc/x86_64-linux-musl/6.3.0/../../../../x86_64-linux-musl/bin/ld: /tmp/rustcSOG6yX/liblibc-ca1546dd1e1833bd.rlib(uselocale.o): rusl/6.3.0/../../../../x86_64-linux-musl/bin/ld: /tmp/rustcSOG6yX/liblibc-ca1546dd1e1833bd.rlib(exp.o): relocation R_X86_64_32S against `.rodata.half' can not be used when making a shared object; recompile with -fPIC
[00:46:42]           /usr/local/bin/../lib/gcc/x86_64-linux-musl/6.3.0/../../../../x86_64-linux-musl/bin/ld: /tmp/rustcSOG6yX/liblibc-ca1546dd1e1833bd.rlib(exp10.o): relocation R_X86_64_32S against `.rodata.p10.2445' can not be used when making a shared object; recompile with -fPIC
[00:46:42]           /usr/local/bin/../lib/gcc/x86_64-linux-musl/6.3.0/../../../../x86_64-linux-musl/bin/ld: /tmp/rustcSOG6yX/liblibc-ca1546dd1e1833bd.rlib(exp10f.o): relocation R_X86_64_32S against `.rodata.p10.2445' can not be used when making a shared object; recompile with -fPIC
[00:46:42]           /usr/local/bin/../lib/gcc/x86_64-linux-musl/6.3.0/../../../../x86_64-linux-musl/bin/ld: /tmp/rustcSOG6yX/liblibc-ca1546dd1e1833bd.rlib(exp10l.o): relocation R_X86_64_32S against `.rodata.p10.2659' can not be used when making a shared object; recompile with -fPIC
[00:46:42]           /usr/local/bin/../lib/gcc/x86_64-linux-musl/6.3.0/../../../../x86_64-linux-musl/bin/ld: /tmp/rustcSOG6yX/liblibc-ca1546dd1e1833bd.rlib(exp2.o): relocation R_X86_64_32S against `.rodata.tbl' can not be used when making a shared object; recompile with -fPIC
[00:46:42]           /usr/local/bin/../lib/gcc/x86_64-linux-musl/6.3.0/../../../../x86_64-linux-musl/bin/ld: /tmp/rustcSOG6yX/liblibc-ca1546dd1e1833bd.rlib(exp2f.o): relocation R_X86_64_32S against `.rodata.exp2ft' can not be used when making a shared object; recompile with -fPIC
[00:46:42]           /usr/local/bin/../lib/gcc/x86_64-linux-musl/6.3.0/../../../../x86_64-linux-musl/bin/ld: /tmp/rustcSOG6yX/liblibc-ca1546dd1e1833bd.rlib(expf.o): relocation R_X86_64_32S against `.rodata.half' can not be used when making a shared object; recompile with -fPIC
[00:46:42]           /usr/local/bin/../lib/gcc/x86_64-linux-musl/6.3.0/../../../../x86_64-linux-musl/bin/ld: /tmp/rustcSOG6yX/liblibc-ca1546dd1e1833bd.rlib(j0.o): relocation R_X86_64_32 against `.rodata.pS3' can not be used when making a shared object; recompile with -fPIC
[00:46:42]           /usr/local/bin/../lib/gcc/x86_64-linux-musl/6.3.0/../../../../x86_64-linux-musl/bin/ld: /tmp/rustcSOG6yX/liblibc-ca1546dd1e1833bd.rlib(j0f.o): relocation R_X86_64_32 against `.rodata.pS3' can not be used when making a shared object; recompile with -fPIC
[00:46:42]           /usr/local/bin/../lib/gcc/x86_64-linux-musl/6.3.0/../../../../x86_64-linux-musl/bin/ld: /tmp/rustcSOG6yX/liblibc-ca1546dd1e1833bd.rlib(j1.o): relocation R_X86_64_32 against `.rodata.ps3' can not be used when making a shared object; recompile with -fPIC
[00:46:42]           /usr/local/bin/../lib/gcc/x86_64-linux-musl/6.3.0/../../../../x86_64-linux-musl/bin/ld: /tmp/rustcSOG6yX/liblibc-ca1546dd1e1833bd.rlib(j1f.o): relocation R_X86_64_32 against `.rodata.ps3' can not be used when making a shared object; recompile with -fPIC
[00:46:42]           /usr/local/bin/../lib/gcc/x86_64-linux-musl/6.3.0/../../../../x86_64-linux-musl/bin/ld: /tmp/rustcSOG6yX/liblibc-ca1546dd1e1833bd.rlib(lgamma.o): relocation R_X86_64_32 against symbol `usl/bin/ld: /tmp/rustcSOG6yX/liblibc-ca1546dd1e1833bd.rlib(powf.o): relocation R_X86_64_32S against `.rodata.bp' can not be used when making a shared object; recompile with -fPIC
[00:46:42]           /usr/local/bin/../lib/gcc/x86_64-linux-musl/6.3.0/../../../../x86_64-linux-musl/bin/ld: /tmp/rustcSOG6yX/liblibc-ca1546dd1e1833bd.rlib(powl.o): relocation R_X86_64_32S against `.rodata.A' can not be used when making a shared object; recompile with -fPIC
[00:46:42]           /usr/local/bin/../lib/gcc/x86_64-linux-musl/6.3.0/../../../../x86_64-linux-musl/bin/ld: /tmp/rustcSOG6yX/liblibc-ca1546dd1e1833bd.rlib(tgamma.o): relocation R_X86_64_32S against `.rodata.fact' can not be used when making a shared object; recompile with -fPIC
[00:46:42]           /usr/local/bin/../lib/gcc/x86_64-linux-musl/6.3.0/../../../../x86_64-linux-musl/bin/ld: /tmp/rustcSOG6yX/liblibc-ca1546dd1e1833bd.rlib(tgammal.o): relocation R_X86_64_32 against `.rodata.STIR' can not be used when making a shared object; recompile with -fPIC
[00:46:42]           /usr/local/bin/../lib/gcc/x86_64-linux-musl/6.3.0/../../../../x86_64-linux-musl/bin/ld: /tmp/rustcSOG6yX/liblibc-ca1546dd1e1833bd.rlib(a64l.o): relocation R_X86_64_32 against `.rodata.digits' can not be used when making a shared object; recompile with -fPIC
[00:46:42]           /usr/local/bin/../lib/gcc/x86_64-linux-musl/6.3.0/../../../../x86_64-linux-musl/bin/ld: /tmp/rustcSOG6yX/liblibc-ca1546dd1e1833bd.rlib(basename.o): relocation R_X86_64_32 against `.rodata.basename.str1.1' can not be used when making a shared object; recompile with -fPIC
[00:46:42]    /usr/local/bin/../lib/gcc/x86_64-linux-musl/6.3.0/../../../../x86_64-linux-musl/bin/ld: /tmp/rustcSOG6yX/liblibc-ca1546dd1e1833bd.rlib(wordexp.o): relocation R_X86_64_32 against `.rodata.wordexp.str1.1' can not be used when making a shared object; recompile with -fPIC
[00:46:42]           /usr/local/bin/../lib/gcc/x86_64-linux-musl/6.3.0/../../../../x86_64-linux-musl/bin/ld: /tmp/rustcSOG6yX/liblibc-ca1546dd1e1833bd.rlib(shm_open.o): relocation R_X86_64_32 against `.rodata.__shm_mapname.str1.1' can not be used when making a shared object; recompile with -fPIC
[00:46:42]           /usr/local/bin/../lib/gcc/x86_64-linux-musl/6.3.0/../../../../x86_64-linux-musl/bin/ld: /tmp/rustcSOG6yX/liblibc-ca1546dd1e1833bd.rlib(mq_notify.o): relocation R_X86_64_32 against `.text.start' can not be used when making a shared object; recompile with -fPIC
[00:46:42]           /usr/local/bin/../lib/gcc/x86_64-linux-musl/6.3.0/../../../../x86_64-linux-musl/bin/ld: /tmp/rustcSOG6yX/liblibc-ca1546dd1e1833bd.rlib(c16rtomb.o): relocation R_X86_64_32 against `.bss.internal_state.1610' can not be used when making a shared object; recompile with -fPIC
[00:46:42]           /usr/local/bin/../lib/gcc/x86_64-linux-musl/6.3.0/../../../../x86_64-linux-musl/bin/ld: /tmp/rustcSOG6yX/liblibc-ca1546dd1e1833bd.rlib(mbrlen.o): relocation R_X86_64_32 against `.bss.internal.1588' can not be used when making a shared object; recompile with -fPIC
[00:46:42]           /usr/local/bin/../lib/gcc/x86_64-linux-musl/6.3.0/../../../../x86_64-linux-musl/bin/ld: /tmp/rustcSOG6yX/liblibc-ca1546dd1e1833bd.rlib(mbrtoc16.o): relocation R_X86_64_32 against `.bss.internal_state.1609' can not be used when making a shared object; recompile with -fPIC
[00:46:42]           /usr/local/bin/../lib/gcc/x86_64-linux-musl/6.3.0/../../../../x86_64-linux-musl/bin/ld: /tmp/rustcSOG6yX/liblibc-ca1546dd1e1833bd.rlib(mbrtoc32.o): relocation R_X86_64_32 against `.bss.internal_state.1609' can not be used when making a shared object; recompile with -fPIC
[00:46:42]           /usr/local/bin/../lib/gcc/x86_64-linux-musl/6.3.0/../../../../x86_64-linux-musl/bin/ld: /tmp/rustcSOG6yX/liblibc-ca1546dd1e1833bd.rlib(mbrtowc.o): relocation R_X86_64_32 against `.bss.internal_state.3051' can not be used when making a shared object; recompile with -fPIC
[00:46:42]           /usr/local/bin/../lib/gcc/x86_64-linux-musl/6.3.0/../../../../x86_64-linux-musl/bin/ld: /tmp/rustcSOG6yX/liblibc-ca1546dd1e1833bd.rlib(mbsrtowcs.o): relocation R_X86_64_32S against symbol `__fsmu8' can not be used when making a shared object; recompile with -fPIC
[00:46:42]           /usr/local/bin/../lib/gcc/x86_64-linux-musl/6.3.0/../../../../x86_64-linux-musl/bin/ld: /tmp/rustcSOG6yX/liblibc-ca1546dd1e1833bd.rlib(mbtowc.o): relocation R_X86_64_32S against symbol `__fsmu8' can not be used when making a shared object; recompile with -fPIC
[00:46:42]           /usr/local/bin/../lib/gcc/x86_64-linux-musl/6.3.0/../../../../x86_64-linux-musl/bin/ld: /tmp/rustcSOG6yX/liblibc-ca1546dd1e1833bd.rlib(ether.o): relocation R_X86_64_32 against `.bss.a.2005' can not be used when making a shared object; recompile with -fPIC
[00:46:42]           /usr/local/bin/../lib/gcc/x86_64-linux-musl/6.3.0/../../../../x86_64-linux-musl/bin/ld: /tmp/rustcSOG6yX/liblibc-ca1546dd1e1833bd.rlib(gai_strerror.o): relocation R_X86_64_32 against `.rodata.msgs' can not be used when making a shared object; recompile with -fPIC
[00:46:42]           /usr/local/bin/../lib/gcc/x86_64-linux-musl/6.3.0/../../../../x86_64-linux-musl/bin/ld: /tmp/rustcSOG6yX/liblibc-ca1546dd1e1833bd.rlib(getifaddrs.o): relocation R_X86_64_32 against `.text.netlink_msg_to_ifaddr' can not be used when making a shared object; recompile with -fPIC
[00:46:42]           /usr/local/bin/../lib/gcc/x86_64-linux-musl/6.3.0/../../../../x86_64-linux-musl/bin/ld: /tmp/rustcSOG6yX/liblibc-ca1546dd1e1833bd.rlib(getnameinfo.o): relocation R_X86_64_32 against `.rodata.getnameinfo.str1.1' can not be used when making a shared object; recompile with -fPIC
[00:46:42]           /usr/local/bin/../lib/gcc/x86_64-linux-musl/6.3.0/../../../../x86_64-linux-musl/bin/ld: /tmp/rustcSOG6yX/liblibc-ca1546dd1e1833bd.rlib(getservbyname.o): relocation R_X86_64_32 against `.bss.se.1690' can not be used when making a shared object; recompile with -fPIC
[00:46:42]           /usr/local/bin/../lib/gcc/x86_64-linux-musl/6.3.0/../../../../x86_64-linux-musl/bin/ld: /tmp/rustcSOG6yX/liblibc-ca1546dd1e1833bd.rlib(getservbyname_r.o): relocation R_X86_64_32S against `.rodata.getservbyname_r.str1.1' can not be used when making a shared object; recompile with -fPIC
[00:46:42]           /usr/local/bin/../lib/gcc/x86_64-linux-musl/6.3.0/../../../../x86_64-linux-musl/bin/ld: /tmp/rustcSOG6yX/liblibc-ca1546dd1e1833bd.rlib(getservbyport.o): relocation R_X86_64_ux-musl/6.3.0/../../../../x86_64-linux-musl/bin/ld: /tmp/rustcSOG6yX/liblibc-ca1546dd1e1833bd.rlib(getgr_a.o): relocation R_X86_64_32 against `.rodata.__getgr_a.str1.1' can not be used when making a shared object; recompile with -fPIC
[00:46:42]           /usr/local/bin/../lib/gcc/x86_64-linux-musl/6.3.0/../../../../x86_64-linux-musl/bin/ld: /tmp/rustcSOG6yX/liblibc-ca1546dd1e1833bd.rlib(getgrent.o): relocation R_X86_64_32 against `.rodata.getgrent.str1.1' can not be used when making a shared object; recompile with -fPIC
[00:46:42]           /usr/local/bin/../lib/gcc/x86_64-linux-musl/6.3.0/../../../../x86_64-linux-musl/bin/ld: /tmp/rustcSOG6yX/liblibc-ca1546dd1e1833bd.rlib(getgrouplist.o): relocation R_X86_64_32 against `.rodata.getgrouplist.str1.1' can not be used when making a shared object; recompile with -fPIC
[00:46:42]           /usr/local/bin/../lib/gcc/x86_64-linux-musl/6.3.0/../../../../x86_64-linux-musl/bin/ld: /tmp/rustcSOG6yX/liblibc-ca1546dd1e1833bd.rlib(getpw_a.o): relocation R_X86_64_32 against `.rodata.__getpw_a.str1.1' can not be used when making a shared object; recompile with -fPIC
[00:46:42]           /usr/local/bin/../lib/gcc/x86_64-linux-musl/6.3.0/../../../../x86_64-linux-musl/bin/ld: /tmp/rustcSOG6yX/liblibc-ca1546dd1e1833bd.rlib(getpwent.o): relocation R_X86_64_32 against `.rodata.getpwent.str1.1' can not be used when making a shared object; recompile with -fPIC
[00:46:42]           /usr/local/bin/../lib/gcc/x86_64-linux-musl/6.3.0/../../../../x86_64-linux-musl/bin/ld: /tmp/rustcSOG6yX/liblibc-ca1546dd1e1833bd.rlib(getspnam.o): relocation R_X86_64_32 againc/x86_64-linux-musl/6.3.0/../../../../x86_64-linux-musl/bin/ld: /tmp/rustcSOG6yX/liblibc-ca1546dd1e1833bd.rlib(drand48.o): relocation R_X86_64_32 against symbol `__seed48' can not be used when making a shared object; recompile with -fPIC
[00:46:42]           /usr/local/bin/../lib/gcc/x86_64-linux-musl/6.3.0/../../../../x86_64-linux-musl/bin/ld: /tmp/rustcSOG6yX/liblibc-ca1546dd1e1833bd.rlib(lcong48.o): relocation R_X86_64_32 against symbol `__seed48' can not be used when making a shared object; recompile with -fPIC
[00:46:42]           /usr/local/bin/../lib/gcc/x86_64-linux-musl/6.3.0/../../../../x86_64-linux-musl/bin/ld: /tmp/rustcSOG6yX/liblibc-ca1546dd1e1833bd.rlib(lrand48.o): relocation R_X86_64_32 against symbol `__seed48' can not be used when making a shared object; recompile with -fPIC
[00:46:42]           /usr/local/bin/../lib/gcc/x86_64-linux-musl/6.3.0/../../../../x86_64-linux-musl/bin/ld: /tmp/rustcSOG6yX/liblibc-ca1546dd1e1833bd.rlib(mrand48.o): relocation R_X86_64_32 against symbol `__seed48' can not be used when making a shared object; recompile with -fPIC
[00:46:42]           /usr/local/bin/../lib/gcc/x86_64-linux-musl/6.3.0/../../../../x86_64-linux-musl/bin/ld: /tmp/rustcSOG6yX/liblibc-ca1546dd1e1833bd.rlib(random.o): relocation R_X86_64_32 against `.bss.lock' can not be used when making a shared object; recompile with -fPIC
[00:46:42]           /usr/local/bin/../lib/gcc/x86_64-linux-musl/6.3.0/../../../../x86_64-linux-musl/bin/ld: /tmp/rustcSOG6yX/liblibc-ca1546dd1e1833bd.rlib(seed48.o): relocation R_X86_64_32 against symbol `__seed48' can not be used when making a shared object; recompile with -fPIC
[00:46:42]           /usr/local/bin/../lib/gcc/x86_64-linux-musl/6.3.0/../../../../x86_64-linux-musl/bin/ld: /tmp/rustcSOG6yX/liblibc-ca1546dd1e1833bd.rlib(execvp.o): relocation R_X86_64_32 against `.rodata.__execvpe.str1.1' can not be used when making a shared object; recompile with -fPIC
[00:46:42]           /usr/local/bin/../lib/gcc/x86_64-linux-musl/6.3.0/../../../../x86_64-linux-musl/bin/ld: /tmp/rustcSOG6yX/liblibc-ca1546dd1e1833bd.rlib(posix_spawn.o): relocation R_X86_64_32 against `.text.child' can not be used when making a shared object; recompile with -fPIC
[00:46:42]           /usr/local/bin/../lib/gcc/x86_64-linux-musl/6.3.0/../../../../x86_64-linux-musl/bin/ld: /tmp/rustcSOG6yX/liblibc-ca1546dd1e1833bd.rlib(posix_spawnp.o): relocation R_X86_64_32 against symbol `__execvpe' can not be used when making a shared object; recompile with -fPIC
[00:46:42]           /usr/local/bin/../lib/gcc/x86_64-linux-musl/6.3.0/../../../../x86_64-linux-musl/bin/ld: /tmp/rustcSOG6yX/liblibc-ca1546dd1e1833bd.rlib(system.o): relocation R_X86_64_32 against `.rodata.system.str1.1' can not be used when making a shared object; recompile with -fPIC
[00:46:42]           /usr/local/bin/../lib/gcc/x86_64-linux-musl/6.3.0/../../../../x86_64-linux-musl/bin/ld: /tmp/rustcSOG6yX/liblibc-ca1546dd1e1833bd.rlib(glob.o): relocation R_X86_64_32 against `.rodata.append.str1.1' can not be used when making a shared object; recompile with -fPIC
[00:46:42]           /usr/local/bin/../lib/gcc/x86_64-linux-musl/6.3.0/../../../../x86_64-linux-musl/bin/ld: /tmp/rustcSOG6yX46:42]           /usr/local/bin/../lib/gcc/x86_64-linux-musl/6.3.0/../../../../x86_64-linux-musl/bin/ld: /tmp/rustcSOG6yX/liblibc-ca1546dd1e1833bd.rlib(psignal.o): relocation R_X86_64_32 against `.rodata.psignal.str1.1' can not be used when making a shared object; recompile with -fPIC
[00:46:42]           /usr/local/bin/../lib/gcc/x86_64-linux-musl/6.3.0/../../../../x86_64-linux-musl/bin/ld: /tmp/rustcSOG6yX/liblibc-ca1546dd1e1833bd.rlib(sigaction.o): relocation R_X86_64_32 against `.bss.handler_set' can not be used when making a shared object; recompile with -fPIC
[00:46:42]           /usr/local/bin/../lib/gcc/x86_64-linux-musl/6.3.0/../../../../x86_64-linux-musl/bin/ld: /tmp/rustcSOG6yX/liblibc-ca1546dd1e1833bd.rlib(sigisemptyset.o): relocation R_X86_64_32 against `.bss.zeroset.1784' can not be used when making a shared object; recompile with -fPIC
[00:46:42]           /usr/local/bin/../lib/gcc/x86_64-linux-musl/6.3.0/../../../../x86_64-linux-musl/bin/ld: /tmp/rustcSOG6yX/liblibc-ca1546dd1e1833bd.rlib(__fdopen.o): relocation R_X86_64_32 against `.rodata.__fdopen.str1.1' can not be used when making a shared object; recompile with -fPIC
[00:46:42]           /usr/local/bin/../lib/gcc/x86_64-linux-musl/6.3.0/../../../../x86_64-linux-musl/bin/ld: /tmp/rustcSOG6yX/liblibc-ca1546dd1e1833bd.rlib(__fopen_rb_ca.o): relocation R_X86_64_32S against symbol `__stdio_read' can not be used when making a shared object; recompile with -fPIC
[00:46:42]           /usr/local/bin/../lib/gcc/x86_64-linux-musl/6.3.0/../../../../x86_64-linux-musl/bin/ld: /tmp/rustcSOG6yX/liblibc-ca1546dd1e1833bd.rlib86_64_32S against `.text.wrap_write' can not be used when making a shared object; recompile with -fPIC
[00:46:42]           /usr/local/bin/../lib/gcc/x86_64-linux-musl/6.3.0/../../../../x86_64-linux-musl/bin/ld: /tmp/rustcSOG6yX/liblibc-ca1546dd1e1833bd.rlib(vfprintf.o): relocation R_X86_64_32S against `.rodata.pop_arg' can not be used when making a shared object; recompile with -fPIC
[00:46:42]           /usr/local/bin/../lib/gcc/x86_64-linux-musl/6.3.0/../../../../x86_64-linux-musl/bin/ld: /tmp/rustcSOG6yX/liblibc-ca1546dd1e1833bd.rlib(vfscanf.o): relocation R_X86_64_32S against `.rodata.store_int' can not be used when making a shared object; recompile with -fPIC
[00:46:42]           /usr/local/bin/../lib/gcc/x86_64-linux-musl/6.3.0/../../../../x86_64-linux-musl/bin/ld: /tmp/rustcSOG6yX/liblibc-ca1546dd1e1833bd.rlib(vfwprintf.o): relocation R_X86_64_32S against `.rodata.pop_arg' can not be used when making a shared object; recompile with -fPIC
[00:46:42]           /usr/local/bin/../lib/gcc/x86_64-linux-musl/6.3.0/../../../../x86_64-linux-musl/bin/ld: /tmp/rustcSOG6yX/liblibc-ca1546dd1e1833bd.rlib(vfwscanf.o): relocation R_X86_64_32S against `.rodata.vfwscanf' can not be used when making a shared object; recompile with -fPIC
[00:46:42]           /usr/local/bin/../lib/gcc/x86_64-linux-musl/6.3.0/../../../../x86_64-linux-musl/bin/ld: /tmp/rustcSOG6yX/liblibc-ca1546dd1e1833bd.rlib(vsnprintf.o): relocation R_X86_64_32S against `.text.sn_write' can not be used when making a shared object; recompile with -fPIC
[00:46:42]           /usr/local/bin/../lib/gcc/x86_64-linux-musl/6.3.0/../../../../x86_64-linux-musl/bin/ld: /tmp/rustcSOG6yX/liblibc-ca1546dd1e1833bd.rlib(vsscanf.o): relocation R_X86_64_32S against `.text.do_read' can not be used when making a shared object; recompile with -fPIC
[00:46:42]           /usr/local/bin/../lib/gcc/x86_64-linux-musl/6.3.0/../../../../x86_64-linux-musl/bin/ld: /tmp/rustcSOG6yX/liblibc-ca1546dd1e1833bd.rlib(vswprintf.o): relocation R_X86_64_32S against `.text.sw_write' can not be used when making a shared object; recompile with -fPIC
[00:46:42]           /usr/local/bin/../lib/gcc/x86_64-linux-musl/6.3.0/../../../../x86_64-linux-musl/bin/ld: /tmp/rustcSOG6yX/liblibc-ca1546dd1e1833bd.rlib(vswscanf.o): relocation R_X86_64_32S against `.text.wstring_read' can not be used when making a shared object; recompile with -fPIC
[00:46:42]           /usr/local/bin/../lib/gcc/x86_64-linux-musl/6.3.0/../../../../x86_64-linux-musl/bin/ld: /tmp/rustcSOG6yX/liblibc-ca1546dd1e1833bd.rlib(ecvt.o): relocation R_X86_64_32 against `.rodata.ecvt.str1.1' can not be used when making a shared object; recompile with -fPIC
[00:46:42]           /usr/local/bin/../lib/gcc/x86_64-linux-musl/6.3.0/../../../../x86_64-linux-musl/bin/ld: /tmp/rustcSOG6yX/liblibc-ca1546dd1e1833bd.rlib(fcvt.o): relocation R_X86_64_32 against `.rodata.fcvt.str1.1' can not be used when making a shared object; recompile with -fPIC
[00:46:42]           /usr/local/bin/../lib/gcc/x86_64-linux-musl/6.3.0/../../../../x86_64-linux-musl/bin/ld: /tmp/rustcSOG6yX/liblibc-ca1546dd1e1833bd.rlib(gcvt.o): relocation R_X86_64_32 against `.rodata.gcvt.str1.1' can not be used when making a shared object; recompile with -fPIC
[00:46:42]           /usr/local/bin/../lib/gcc/x86_64-linux-musl/6.3.0/../../../../x86_64-linux-musl/bin/ld: /tmp/rustcSOG6yX/liblibc-ca1546dd1e1833bd.rlib(wcstod.o): relocation R_X86_64_32 against `.rodata.do_read.str4.4' can not be used when making a shared object; recompile with -fPIC
[00:46:42]           /usr/local/bin/../lib/gcc/x86_64-linux-musl/6.3.0/../../../../x86_64-linux-musl/bin/ld: /tmp/rustcSOG6yX/liblibc-ca1546dd1e1833bd.rlib(wcstol.o): relocation R_X86_64_32 against `.rodata.do_read.str4.4' can not be used when making a shared object; recompile with -fPIC
[00:46:42]           /usr/local/bin/../lib/gcc/x86_64-linux-musl/6.3.0/../../../../x86_64-linux-musl/bin/ld: /tmp/rustcSOG6yX/liblibc-ca1546dd1e1833bd.rlib(strsignal.o): relocation R_X86_64_32 against `.rodata.strings' can not be used when making a shared object; recompile with -fPIC
[00:46:42]           /usr/local/bin/../lib/gcc/x86_64-linux-musl/6.3.0/../../../../x86_64-linux-musl/bin/ld: /tmp/rustcSOG6yX/liblibc-ca1546dd1e1833bd.rlib(mkdtemp.o): relocation R_X86_64_32 against `.rodata.mkdtemp.str1.1' can not be used when making a shared object; recompile with -fPIC
[00:46:42]           /usr/local/bin/../lib/gcc/x86_64-linux-musl/6.3.0/../../../../x86_64-linux-musl/bin/ld: /tmp/rustcSOG6yX/liblibc-ca1546dd1e1833bd.rlib(mkostemps.o): relocation R_X86_64_32 against `.rodata.__mkostemps.str1.1' can not be used when making a shared object; recompile with -fPIC
[00:46:42]           /usr/local/bin/../lib/gcc/x86_64-linux-musl/6.3.0/../../../../x86_64-linux-musl/bin/ld: /tmp/rustcbd.rlib(vmlock.o): relocation R_X86_64_32 against `.bss.vmlock' can not be used when making a shared object; recompile with -fPIC
[00:46:42]           /usr/local/bin/../lib/gcc/x86_64-linux-musl/6.3.0/../../../../x86_64-linux-musl/bin/ld: /tmp/rustcSOG6yX/liblibc-ca1546dd1e1833bd.rlib(__asctime.o): relocation R_X86_64_32 against symbol `__c_locale' can not be used when making a shared object; recompile with -fPIC
[00:46:42]           /usr/local/bin/../lib/gcc/x86_64-linux-musl/6.3.0/../../../../x86_64-linux-musl/bin/ld: /tmp/rustcSOG6yX/liblibc-ca1546dd1e1833bd.rlib(__month_to_secs.o): relocation R_X86_64_32S against `.rodata.secs_through_month.1281' can not be used when making a shared object; recompile with -fPIC
[00:46:42]           /usr/local/bin/../lib/gcc/x86_64-linux-musl/6.3.0/../../../../x86_64-linux-musl/bin/ld: /tmp/rustcSOG6yX/liblibc-ca1546dd1e1833bd.rlib(__secs_to_tm.o): relocation R_X86_64_32S against `.rodata.days_in_month.1436' can not be used when making a shared object; recompile with -fPIC
[00:46:42]           /usr/local/bin/../lib/gcc/x86_64-linux-musl/6.3.0/../../../../x86_64-linux-musl/bin/ld: /tmp/rustcSOG6yX/liblibc-ca1546dd1e1833bd.rlib(__tz.o): relocation R_X86_64_32 against `.rodata.do_tzset.str1.1' can not be used when making a shared object; recompile with -fPIC
[00:46:42]           /usr/local/bin/../lib/gcc/x86_64-linux-musl/6.3.0/../../../../x86_64-linux-musl/bin/ld: /tmp/rustcSOG6yX/liblibc-ca1546dd1e1833bd.rlib(asctime.o): relocation R_X86_64_32 against `.bss.buf.1401' can not be used when making a shared object; recompile with -fPIC
[00:46:4286_64_32S against `.rodata.__strftime_fmt_1' can not be used when making a shared object; recompile with -fPIC
[00:46:42]           /usr/local/bin/../lib/gcc/x86_64-linux-musl/6.3.0/../../../../x86_64-linux-musl/bin/ld: /tmp/rustcSOG6yX/liblibc-ca1546dd1e1833bd.rlib(strptime.o): relocation R_X86_64_32S against `.rodata.strptime' can not be used when making a shared object; recompile with -fPIC
[00:46:42]           /usr/local/bin/../lib/gcc/x86_64-linux-musl/6.3.0/../../../../x86_64-linux-musl/bin/ld: /tmp/rustcSOG6yX/liblibc-ca1546dd1e1833bd.rlib(timegm.o): relocation R_X86_64_32S against symbol `__gmt' can not be used when making a shared object; recompile with -fPIC
[00:46:42]           /usr/local/bin/../lib/gcc/x86_64-linux-musl/6.3.0/../../../../x86_64-linux-musl/bin/ld: /tmp/rustcSOG6yX/liblibc-ca1546dd1e1833bd.rlib(timer_create.o): relocation R_X86_64_32S against `.text.timer_handler' can not be used when making a shared object; recompile with -fPIC
[00:46:42]           /usr/local/bin/../lib/gcc/x86_64-linux-musl/6.3.0/../../../../x86_64-linux-musl/bin/ld: /tmp/rustcSOG6yX/liblibc-ca1546dd1e1833bd.rlib(ctermid.o): relocation R_X86_64_32 against `.rodata.ctermid.str1.1' can not be used when making a shared object; recompile with -fPIC
[00:46:42]           /usr/local/bin/../lib/gcc/x86_64-linux-musl/6.3.0/../../../../x86_64-linux-musl/bin/ld: /tmp/rustcSOG6yX/liblibc-ca1546dd1e1833bd.rlib(faccessat.o): relocation R_X86_64_32S against `.rodata.errors' can not be used when making a shared object; recompile with -fPIC
[00:46:42]           /usr/local/bin/../lib/gcc/x86_64-travis_time:end:0d70d8b7:start=1546805795068320657,finish=1546808598354316622,duration=2803285995965
travis_time:start:1e1b408c
$ date && (curl -fs --head https://google.com | grep ^Date: | sed 's/Date: //g' || true)
Sun Jan  6 21:03:18 UTC 2019
Sun, 06 Jan 2019 21:03:18 GMT
---
travis_time:end:1dca7b00:start=1546808599497195641,finish=1546808599509679877,duration=12484236
travis_fold:end:after_failure.4
travis_fold:start:after_failure.5
travis_time:start:180e0892
$ cat ./obj/build/x86_64-unknown-linux-gnu/native/asan/build/lib/asan/clang_rt.asan-dynamic-i386.vers || true
cat: ./obj/build/x86_64-unknown-linux-gnu/native/asan/build/lib/asan/clang_rt.asan-dynamic-i386.vers: No such file or directory
travis_fold:end:after_failure.5
travis_fold:start:after_failure.6
travis_time:start:06568990
$ dmesg | grep -i kill

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 @TimNN. (Feature Requests)

@TimNN TimNN added S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Jan 29, 2019
@TimNN
Copy link
Contributor

TimNN commented Jan 29, 2019

Ping from triage @martell: What is the status of this PR?

Also:

r? @alexcrichton

@Dylan-DPC-zz
Copy link

ping from triage @martell do you still need this PR to be open?

@martell
Copy link
Contributor Author

martell commented Feb 5, 2019

closing for now, thanks

@martell martell closed this Feb 5, 2019
@mati865 mati865 mentioned this pull request Feb 19, 2019
bors added a commit that referenced this pull request Mar 1, 2019
WIP Musl host toolchain

Based on #55163 and #57359
Depends on #55566

CC #57439

### How it works

Tested compiler made by `dist` on glibc and musl based distributions and verified binaries it produces:
* Ubuntu (glibc) - installed it as a target for host toolchain and observed no regressions for static (default) linking, dynamic linking apparently requires musl build libgcc so I didn't test it.
* Alpine (musl) - installed as the host toolchain, by default it links statically (executables are portable and work on glibc distributions) but with `-C target-feature=-crt-static` Rust flag it links dynamically (executables require musl built libraries).

### What's debatable

It should be decided whether this toolchain should link dynamically or statically when using it on musl distribution. I believe the distributions would prefer dynamic linking but it'd be misleading because `$ARCH-unknown-linux-musl` target links statically on the other hosts.
Another problem is using `RUSTFLAGS='-C target-feature=-crt-static'` for dynamic builds which is really uncomfortable.

To address both issues I suggest leaving `$ARCH-unknown-linux-musl` static for both host and cross target and introducing "alias triple" `$ARCH-unknown-linux-dynmusl`. It'd be the same as `$ARCH-unknown-linux-musl` (and use the same libraries to avoid duplication) but it'd link dynamically.

### Why it's still WIP (help wanted)

I'm having a hard time getting all tests to pass and I'd appreciate help.

Non-verbose error:
<details>

```
Testing proc_macro stage1 (x86_64-unknown-linux-musl -> x86_64-unknown-linux-musl)
   Compiling proc_macro v0.0.0 (/checkout/src/libproc_macro)
error[E0463]: can't find crate for `std`

error[E0463]: can't find crate for `std`

error: aborting due to previous error

For more information about this error, try `rustc --explain E0463`.
error: aborting due to previous error

For more information about this error, try `rustc --explain E0463`.
[RUSTC-TIMING] proc_macro test:true 0.529
[RUSTC-TIMING] proc_macro test:false 0.530
error: Could not compile `proc_macro`.
warning: build failed, waiting for other jobs to finish...
error: Could not compile `proc_macro`.

To learn more, run the command again with --verbose.

command did not execute successfully: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" "test" "--target" "x86_64-unknown-linux-musl" "-j" "16" "--release" "--locked" "--manifest-path" "/checkout/src/libtest/Cargo.toml" "-p" "proc_macro" "--"
expected success, got: exit code: 101

failed to run: /checkout/obj/build/bootstrap/debug/bootstrap test --host x86_64-unknown-linux-musl --target x86_64-unknown-linux-musl
```
</details>

Verbose error:
<details>

```
Testing proc_macro stage1 (x86_64-unknown-linux-musl -> x86_64-unknown-linux-musl)
   Compiling proc_macro v0.0.0 (/checkout/src/libproc_macro)
     Running `/checkout/obj/build/bootstrap/debug/rustc --edition=2018 --crate-name proc_macro src/libproc_macro/lib.rs --color never --crate-type lib --emit=dep-info,link -C opt-level=2 -C metadata=09ddd3ecc930ab63 -C extra-filename=-09ddd3ecc930ab63 --out-dir /checkout/obj/build/x86_64-unknown-linux-musl/stage1-test/x86_64-unknown-linux-musl/release/deps --target x86_64-unknown-linux-musl -L dependency=/checkout/obj/build/x86_64-unknown-linux-musl/stage1-test/x86_64-unknown-linux-musl/release/deps -L dependency=/checkout/obj/build/x86_64-unknown-linux-musl/stage1-test/release/deps -C target-feature=-crt-static`
     Running `/checkout/obj/build/bootstrap/debug/rustc --edition=2018 --crate-name proc_macro src/libproc_macro/lib.rs --color never --emit=dep-info,link -C opt-level=2 --test -C metadata=a564d363930469c8 -C extra-filename=-a564d363930469c8 --out-dir /checkout/obj/build/x86_64-unknown-linux-musl/stage1-test/x86_64-unknown-linux-musl/release/deps --target x86_64-unknown-linux-musl -L dependency=/checkout/obj/build/x86_64-unknown-linux-musl/stage1-test/x86_64-unknown-linux-musl/release/deps -L dependency=/checkout/obj/build/x86_64-unknown-linux-musl/stage1-test/release/deps -C target-feature=-crt-static`
error[E0463]: can't find crate for `std`
error[E0463]: can't find crate for `std`

error: aborting due to previous error

For more information about this error, try `rustc --explain E0463`.
error: aborting due to previous error

For more information about this error, try `rustc --explain E0463`.
[RUSTC-TIMING] proc_macro test:false 0.248
error: Could not compile `proc_macro`.

Caused by:
  process didn't exit successfully: `/checkout/obj/build/bootstrap/debug/rustc --edition=2018 --crate-name proc_macro src/libproc_macro/lib.rs --color never --crate-type lib --emit=dep-info,link -C opt-level=2 -C metadata=09ddd3ecc930ab63 -C extra-filename=-09ddd3ecc930ab63 --out-dir /checkout/obj/build/x86_64-unknown-linux-musl/stage1-test/x86_64-unknown-linux-musl/release/deps --target x86_64-unknown-linux-musl -L dependency=/checkout/obj/build/x86_64-unknown-linux-musl/stage1-test/x86_64-unknown-linux-musl/release/deps -L dependency=/checkout/obj/build/x86_64-unknown-linux-musl/stage1-test/release/deps -C target-feature=-crt-static` (exit code: 1)
warning: build failed, waiting for other jobs to finish...
[RUSTC-TIMING] proc_macro test:true 0.248
error: Could not compile `proc_macro`.

Caused by:
  process didn't exit successfully: `/checkout/obj/build/bootstrap/debug/rustc --edition=2018 --crate-name proc_macro src/libproc_macro/lib.rs --color never --emit=dep-info,link -C opt-level=2 --test -C metadata=a564d363930469c8 -C extra-filename=-a564d363930469c8 --out-dir /checkout/obj/build/x86_64-unknown-linux-musl/stage1-test/x86_64-unknown-linux-musl/release/deps --target x86_64-unknown-linux-musl -L dependency=/checkout/obj/build/x86_64-unknown-linux-musl/stage1-test/x86_64-unknown-linux-musl/release/deps -L dependency=/checkout/obj/build/x86_64-unknown-linux-musl/stage1-test/release/deps -C target-feature=-crt-static` (exit code: 1)

command did not execute successfully: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" "test" "--target" "x86_64-unknown-linux-musl" "-j" "16" "--release" "--locked" "--manifest-path" "/checkout/src/libtest/Cargo.toml" "--verbose" "-p" "proc_macro" "--"
expected success, got: exit code: 101

failed to run: /checkout/obj/build/bootstrap/debug/bootstrap test --host x86_64-unknown-linux-musl --target x86_64-unknown-linux-musl
```

</details>

Whole tests non-verbose output: [rust-tests.log](https://github.com/rust-lang/rust/files/2879945/rust-tests.log)

I think the error is because build system (correctly?) tries to use `obj/build/x86_64-unknown-linux-musl/stage1-test/x86_64-unknown-linux-musl/release/deps` which is empty but `obj/build/x86_64-unknown-linux-gnu/stage1-test/x86_64-unknown-linux-musl/release/deps` contains required libs.
bors added a commit that referenced this pull request Mar 4, 2019
WIP Musl host toolchain

Based on #55163 and #57359
Depends on #55566

CC #57439

### How it works

Tested compiler made by `dist` on glibc and musl based distributions and verified binaries it produces:
* Ubuntu (glibc) - installed it as a target for host toolchain and observed no regressions for static (default) linking, dynamic linking apparently requires musl build libgcc so I didn't test it.
* Alpine (musl) - installed as the host toolchain, by default it links statically (executables are portable and work on glibc distributions) but with `-C target-feature=-crt-static` Rust flag it links dynamically (executables require musl built libraries).

### What's debatable

It should be decided whether this toolchain should link dynamically or statically when using it on musl distribution. I believe the distributions would prefer dynamic linking but it'd be misleading because `$ARCH-unknown-linux-musl` target links statically on the other hosts.
Another problem is using `RUSTFLAGS='-C target-feature=-crt-static'` for dynamic builds which is really uncomfortable.

To address both issues I suggest leaving `$ARCH-unknown-linux-musl` static for both host and cross target and introducing "alias triple" `$ARCH-unknown-linux-dynmusl`. It'd be the same as `$ARCH-unknown-linux-musl` (and use the same libraries to avoid duplication) but it'd link dynamically.

<del>
### Why it's still WIP (help wanted)

I'm having a hard time getting all tests to pass and I'd appreciate help.

Non-verbose error:
<details>

```
Testing proc_macro stage1 (x86_64-unknown-linux-musl -> x86_64-unknown-linux-musl)
   Compiling proc_macro v0.0.0 (/checkout/src/libproc_macro)
error[E0463]: can't find crate for `std`

error[E0463]: can't find crate for `std`

error: aborting due to previous error

For more information about this error, try `rustc --explain E0463`.
error: aborting due to previous error

For more information about this error, try `rustc --explain E0463`.
[RUSTC-TIMING] proc_macro test:true 0.529
[RUSTC-TIMING] proc_macro test:false 0.530
error: Could not compile `proc_macro`.
warning: build failed, waiting for other jobs to finish...
error: Could not compile `proc_macro`.

To learn more, run the command again with --verbose.

command did not execute successfully: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" "test" "--target" "x86_64-unknown-linux-musl" "-j" "16" "--release" "--locked" "--manifest-path" "/checkout/src/libtest/Cargo.toml" "-p" "proc_macro" "--"
expected success, got: exit code: 101

failed to run: /checkout/obj/build/bootstrap/debug/bootstrap test --host x86_64-unknown-linux-musl --target x86_64-unknown-linux-musl
```
</details>

Verbose error:
<details>

```
Testing proc_macro stage1 (x86_64-unknown-linux-musl -> x86_64-unknown-linux-musl)
   Compiling proc_macro v0.0.0 (/checkout/src/libproc_macro)
     Running `/checkout/obj/build/bootstrap/debug/rustc --edition=2018 --crate-name proc_macro src/libproc_macro/lib.rs --color never --crate-type lib --emit=dep-info,link -C opt-level=2 -C metadata=09ddd3ecc930ab63 -C extra-filename=-09ddd3ecc930ab63 --out-dir /checkout/obj/build/x86_64-unknown-linux-musl/stage1-test/x86_64-unknown-linux-musl/release/deps --target x86_64-unknown-linux-musl -L dependency=/checkout/obj/build/x86_64-unknown-linux-musl/stage1-test/x86_64-unknown-linux-musl/release/deps -L dependency=/checkout/obj/build/x86_64-unknown-linux-musl/stage1-test/release/deps -C target-feature=-crt-static`
     Running `/checkout/obj/build/bootstrap/debug/rustc --edition=2018 --crate-name proc_macro src/libproc_macro/lib.rs --color never --emit=dep-info,link -C opt-level=2 --test -C metadata=a564d363930469c8 -C extra-filename=-a564d363930469c8 --out-dir /checkout/obj/build/x86_64-unknown-linux-musl/stage1-test/x86_64-unknown-linux-musl/release/deps --target x86_64-unknown-linux-musl -L dependency=/checkout/obj/build/x86_64-unknown-linux-musl/stage1-test/x86_64-unknown-linux-musl/release/deps -L dependency=/checkout/obj/build/x86_64-unknown-linux-musl/stage1-test/release/deps -C target-feature=-crt-static`
error[E0463]: can't find crate for `std`
error[E0463]: can't find crate for `std`

error: aborting due to previous error

For more information about this error, try `rustc --explain E0463`.
error: aborting due to previous error

For more information about this error, try `rustc --explain E0463`.
[RUSTC-TIMING] proc_macro test:false 0.248
error: Could not compile `proc_macro`.

Caused by:
  process didn't exit successfully: `/checkout/obj/build/bootstrap/debug/rustc --edition=2018 --crate-name proc_macro src/libproc_macro/lib.rs --color never --crate-type lib --emit=dep-info,link -C opt-level=2 -C metadata=09ddd3ecc930ab63 -C extra-filename=-09ddd3ecc930ab63 --out-dir /checkout/obj/build/x86_64-unknown-linux-musl/stage1-test/x86_64-unknown-linux-musl/release/deps --target x86_64-unknown-linux-musl -L dependency=/checkout/obj/build/x86_64-unknown-linux-musl/stage1-test/x86_64-unknown-linux-musl/release/deps -L dependency=/checkout/obj/build/x86_64-unknown-linux-musl/stage1-test/release/deps -C target-feature=-crt-static` (exit code: 1)
warning: build failed, waiting for other jobs to finish...
[RUSTC-TIMING] proc_macro test:true 0.248
error: Could not compile `proc_macro`.

Caused by:
  process didn't exit successfully: `/checkout/obj/build/bootstrap/debug/rustc --edition=2018 --crate-name proc_macro src/libproc_macro/lib.rs --color never --emit=dep-info,link -C opt-level=2 --test -C metadata=a564d363930469c8 -C extra-filename=-a564d363930469c8 --out-dir /checkout/obj/build/x86_64-unknown-linux-musl/stage1-test/x86_64-unknown-linux-musl/release/deps --target x86_64-unknown-linux-musl -L dependency=/checkout/obj/build/x86_64-unknown-linux-musl/stage1-test/x86_64-unknown-linux-musl/release/deps -L dependency=/checkout/obj/build/x86_64-unknown-linux-musl/stage1-test/release/deps -C target-feature=-crt-static` (exit code: 1)

command did not execute successfully: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" "test" "--target" "x86_64-unknown-linux-musl" "-j" "16" "--release" "--locked" "--manifest-path" "/checkout/src/libtest/Cargo.toml" "--verbose" "-p" "proc_macro" "--"
expected success, got: exit code: 101

failed to run: /checkout/obj/build/bootstrap/debug/bootstrap test --host x86_64-unknown-linux-musl --target x86_64-unknown-linux-musl
```

</details>

Whole tests non-verbose output: [rust-tests.log](https://github.com/rust-lang/rust/files/2879945/rust-tests.log)

I think the error is because build system (correctly?) tries to use `obj/build/x86_64-unknown-linux-musl/stage1-test/x86_64-unknown-linux-musl/release/deps` which is empty but `obj/build/x86_64-unknown-linux-gnu/stage1-test/x86_64-unknown-linux-musl/release/deps` contains required libs.
</del>
bors added a commit that referenced this pull request Mar 5, 2019
WIP Musl host toolchain

Based on #55163 and #57359
Depends on #55566

CC #57439

### How it works

Tested compiler made by `dist` on glibc and musl based distributions and verified binaries it produces:
* Ubuntu (glibc) - installed it as a target for host toolchain and observed no regressions for static (default) linking, dynamic linking apparently requires musl build libgcc so I didn't test it.
* Alpine (musl) - installed as the host toolchain, by default it links statically (executables are portable and work on glibc distributions) but with `-C target-feature=-crt-static` Rust flag it links dynamically (executables require musl built libraries).

### What's debatable

It should be decided whether this toolchain should link dynamically or statically when using it on musl distribution. I believe the distributions would prefer dynamic linking but it'd be misleading because `$ARCH-unknown-linux-musl` target links statically on the other hosts.
Another problem is using `RUSTFLAGS='-C target-feature=-crt-static'` for dynamic builds which is really uncomfortable.

To address both issues I suggest leaving `$ARCH-unknown-linux-musl` static for both host and cross target and introducing "alias triple" `$ARCH-unknown-linux-dynmusl`. It'd be the same as `$ARCH-unknown-linux-musl` (and use the same libraries to avoid duplication) but it'd link dynamically.

<del>
### Why it's still WIP (help wanted)

I'm having a hard time getting all tests to pass and I'd appreciate help.

Non-verbose error:
<details>

```
Testing proc_macro stage1 (x86_64-unknown-linux-musl -> x86_64-unknown-linux-musl)
   Compiling proc_macro v0.0.0 (/checkout/src/libproc_macro)
error[E0463]: can't find crate for `std`

error[E0463]: can't find crate for `std`

error: aborting due to previous error

For more information about this error, try `rustc --explain E0463`.
error: aborting due to previous error

For more information about this error, try `rustc --explain E0463`.
[RUSTC-TIMING] proc_macro test:true 0.529
[RUSTC-TIMING] proc_macro test:false 0.530
error: Could not compile `proc_macro`.
warning: build failed, waiting for other jobs to finish...
error: Could not compile `proc_macro`.

To learn more, run the command again with --verbose.

command did not execute successfully: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" "test" "--target" "x86_64-unknown-linux-musl" "-j" "16" "--release" "--locked" "--manifest-path" "/checkout/src/libtest/Cargo.toml" "-p" "proc_macro" "--"
expected success, got: exit code: 101

failed to run: /checkout/obj/build/bootstrap/debug/bootstrap test --host x86_64-unknown-linux-musl --target x86_64-unknown-linux-musl
```
</details>

Verbose error:
<details>

```
Testing proc_macro stage1 (x86_64-unknown-linux-musl -> x86_64-unknown-linux-musl)
   Compiling proc_macro v0.0.0 (/checkout/src/libproc_macro)
     Running `/checkout/obj/build/bootstrap/debug/rustc --edition=2018 --crate-name proc_macro src/libproc_macro/lib.rs --color never --crate-type lib --emit=dep-info,link -C opt-level=2 -C metadata=09ddd3ecc930ab63 -C extra-filename=-09ddd3ecc930ab63 --out-dir /checkout/obj/build/x86_64-unknown-linux-musl/stage1-test/x86_64-unknown-linux-musl/release/deps --target x86_64-unknown-linux-musl -L dependency=/checkout/obj/build/x86_64-unknown-linux-musl/stage1-test/x86_64-unknown-linux-musl/release/deps -L dependency=/checkout/obj/build/x86_64-unknown-linux-musl/stage1-test/release/deps -C target-feature=-crt-static`
     Running `/checkout/obj/build/bootstrap/debug/rustc --edition=2018 --crate-name proc_macro src/libproc_macro/lib.rs --color never --emit=dep-info,link -C opt-level=2 --test -C metadata=a564d363930469c8 -C extra-filename=-a564d363930469c8 --out-dir /checkout/obj/build/x86_64-unknown-linux-musl/stage1-test/x86_64-unknown-linux-musl/release/deps --target x86_64-unknown-linux-musl -L dependency=/checkout/obj/build/x86_64-unknown-linux-musl/stage1-test/x86_64-unknown-linux-musl/release/deps -L dependency=/checkout/obj/build/x86_64-unknown-linux-musl/stage1-test/release/deps -C target-feature=-crt-static`
error[E0463]: can't find crate for `std`
error[E0463]: can't find crate for `std`

error: aborting due to previous error

For more information about this error, try `rustc --explain E0463`.
error: aborting due to previous error

For more information about this error, try `rustc --explain E0463`.
[RUSTC-TIMING] proc_macro test:false 0.248
error: Could not compile `proc_macro`.

Caused by:
  process didn't exit successfully: `/checkout/obj/build/bootstrap/debug/rustc --edition=2018 --crate-name proc_macro src/libproc_macro/lib.rs --color never --crate-type lib --emit=dep-info,link -C opt-level=2 -C metadata=09ddd3ecc930ab63 -C extra-filename=-09ddd3ecc930ab63 --out-dir /checkout/obj/build/x86_64-unknown-linux-musl/stage1-test/x86_64-unknown-linux-musl/release/deps --target x86_64-unknown-linux-musl -L dependency=/checkout/obj/build/x86_64-unknown-linux-musl/stage1-test/x86_64-unknown-linux-musl/release/deps -L dependency=/checkout/obj/build/x86_64-unknown-linux-musl/stage1-test/release/deps -C target-feature=-crt-static` (exit code: 1)
warning: build failed, waiting for other jobs to finish...
[RUSTC-TIMING] proc_macro test:true 0.248
error: Could not compile `proc_macro`.

Caused by:
  process didn't exit successfully: `/checkout/obj/build/bootstrap/debug/rustc --edition=2018 --crate-name proc_macro src/libproc_macro/lib.rs --color never --emit=dep-info,link -C opt-level=2 --test -C metadata=a564d363930469c8 -C extra-filename=-a564d363930469c8 --out-dir /checkout/obj/build/x86_64-unknown-linux-musl/stage1-test/x86_64-unknown-linux-musl/release/deps --target x86_64-unknown-linux-musl -L dependency=/checkout/obj/build/x86_64-unknown-linux-musl/stage1-test/x86_64-unknown-linux-musl/release/deps -L dependency=/checkout/obj/build/x86_64-unknown-linux-musl/stage1-test/release/deps -C target-feature=-crt-static` (exit code: 1)

command did not execute successfully: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" "test" "--target" "x86_64-unknown-linux-musl" "-j" "16" "--release" "--locked" "--manifest-path" "/checkout/src/libtest/Cargo.toml" "--verbose" "-p" "proc_macro" "--"
expected success, got: exit code: 101

failed to run: /checkout/obj/build/bootstrap/debug/bootstrap test --host x86_64-unknown-linux-musl --target x86_64-unknown-linux-musl
```

</details>

Whole tests non-verbose output: [rust-tests.log](https://github.com/rust-lang/rust/files/2879945/rust-tests.log)

I think the error is because build system (correctly?) tries to use `obj/build/x86_64-unknown-linux-musl/stage1-test/x86_64-unknown-linux-musl/release/deps` which is empty but `obj/build/x86_64-unknown-linux-gnu/stage1-test/x86_64-unknown-linux-musl/release/deps` contains required libs.
</del>
bors added a commit that referenced this pull request Mar 7, 2019
WIP Musl host toolchain

Based on #55163 and #57359
Depends on #55566

CC #57439

### How it works

Tested compiler made by `dist` on glibc and musl based distributions and verified binaries it produces:
* Ubuntu (glibc) - installed it as a target for host toolchain and observed no regressions for static (default) linking, dynamic linking apparently requires musl build libgcc so I didn't test it.
* Alpine (musl) - installed as the host toolchain, by default it links statically (executables are portable and work on glibc distributions) but with `-C target-feature=-crt-static` Rust flag it links dynamically (executables require musl built libraries).

### What's debatable

It should be decided whether this toolchain should link dynamically or statically when using it on musl distribution. I believe the distributions would prefer dynamic linking but it'd be misleading because `$ARCH-unknown-linux-musl` target links statically on the other hosts.
Another problem is using `RUSTFLAGS='-C target-feature=-crt-static'` for dynamic builds which is really uncomfortable.

To address both issues I suggest leaving `$ARCH-unknown-linux-musl` static for both host and cross target and introducing "alias triple" `$ARCH-unknown-linux-dynmusl`. It'd be the same as `$ARCH-unknown-linux-musl` (and use the same libraries to avoid duplication) but it'd link dynamically.

<del>
### Why it's still WIP (help wanted)

I'm having a hard time getting all tests to pass and I'd appreciate help.

Non-verbose error:
<details>

```
Testing proc_macro stage1 (x86_64-unknown-linux-musl -> x86_64-unknown-linux-musl)
   Compiling proc_macro v0.0.0 (/checkout/src/libproc_macro)
error[E0463]: can't find crate for `std`

error[E0463]: can't find crate for `std`

error: aborting due to previous error

For more information about this error, try `rustc --explain E0463`.
error: aborting due to previous error

For more information about this error, try `rustc --explain E0463`.
[RUSTC-TIMING] proc_macro test:true 0.529
[RUSTC-TIMING] proc_macro test:false 0.530
error: Could not compile `proc_macro`.
warning: build failed, waiting for other jobs to finish...
error: Could not compile `proc_macro`.

To learn more, run the command again with --verbose.

command did not execute successfully: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" "test" "--target" "x86_64-unknown-linux-musl" "-j" "16" "--release" "--locked" "--manifest-path" "/checkout/src/libtest/Cargo.toml" "-p" "proc_macro" "--"
expected success, got: exit code: 101

failed to run: /checkout/obj/build/bootstrap/debug/bootstrap test --host x86_64-unknown-linux-musl --target x86_64-unknown-linux-musl
```
</details>

Verbose error:
<details>

```
Testing proc_macro stage1 (x86_64-unknown-linux-musl -> x86_64-unknown-linux-musl)
   Compiling proc_macro v0.0.0 (/checkout/src/libproc_macro)
     Running `/checkout/obj/build/bootstrap/debug/rustc --edition=2018 --crate-name proc_macro src/libproc_macro/lib.rs --color never --crate-type lib --emit=dep-info,link -C opt-level=2 -C metadata=09ddd3ecc930ab63 -C extra-filename=-09ddd3ecc930ab63 --out-dir /checkout/obj/build/x86_64-unknown-linux-musl/stage1-test/x86_64-unknown-linux-musl/release/deps --target x86_64-unknown-linux-musl -L dependency=/checkout/obj/build/x86_64-unknown-linux-musl/stage1-test/x86_64-unknown-linux-musl/release/deps -L dependency=/checkout/obj/build/x86_64-unknown-linux-musl/stage1-test/release/deps -C target-feature=-crt-static`
     Running `/checkout/obj/build/bootstrap/debug/rustc --edition=2018 --crate-name proc_macro src/libproc_macro/lib.rs --color never --emit=dep-info,link -C opt-level=2 --test -C metadata=a564d363930469c8 -C extra-filename=-a564d363930469c8 --out-dir /checkout/obj/build/x86_64-unknown-linux-musl/stage1-test/x86_64-unknown-linux-musl/release/deps --target x86_64-unknown-linux-musl -L dependency=/checkout/obj/build/x86_64-unknown-linux-musl/stage1-test/x86_64-unknown-linux-musl/release/deps -L dependency=/checkout/obj/build/x86_64-unknown-linux-musl/stage1-test/release/deps -C target-feature=-crt-static`
error[E0463]: can't find crate for `std`
error[E0463]: can't find crate for `std`

error: aborting due to previous error

For more information about this error, try `rustc --explain E0463`.
error: aborting due to previous error

For more information about this error, try `rustc --explain E0463`.
[RUSTC-TIMING] proc_macro test:false 0.248
error: Could not compile `proc_macro`.

Caused by:
  process didn't exit successfully: `/checkout/obj/build/bootstrap/debug/rustc --edition=2018 --crate-name proc_macro src/libproc_macro/lib.rs --color never --crate-type lib --emit=dep-info,link -C opt-level=2 -C metadata=09ddd3ecc930ab63 -C extra-filename=-09ddd3ecc930ab63 --out-dir /checkout/obj/build/x86_64-unknown-linux-musl/stage1-test/x86_64-unknown-linux-musl/release/deps --target x86_64-unknown-linux-musl -L dependency=/checkout/obj/build/x86_64-unknown-linux-musl/stage1-test/x86_64-unknown-linux-musl/release/deps -L dependency=/checkout/obj/build/x86_64-unknown-linux-musl/stage1-test/release/deps -C target-feature=-crt-static` (exit code: 1)
warning: build failed, waiting for other jobs to finish...
[RUSTC-TIMING] proc_macro test:true 0.248
error: Could not compile `proc_macro`.

Caused by:
  process didn't exit successfully: `/checkout/obj/build/bootstrap/debug/rustc --edition=2018 --crate-name proc_macro src/libproc_macro/lib.rs --color never --emit=dep-info,link -C opt-level=2 --test -C metadata=a564d363930469c8 -C extra-filename=-a564d363930469c8 --out-dir /checkout/obj/build/x86_64-unknown-linux-musl/stage1-test/x86_64-unknown-linux-musl/release/deps --target x86_64-unknown-linux-musl -L dependency=/checkout/obj/build/x86_64-unknown-linux-musl/stage1-test/x86_64-unknown-linux-musl/release/deps -L dependency=/checkout/obj/build/x86_64-unknown-linux-musl/stage1-test/release/deps -C target-feature=-crt-static` (exit code: 1)

command did not execute successfully: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" "test" "--target" "x86_64-unknown-linux-musl" "-j" "16" "--release" "--locked" "--manifest-path" "/checkout/src/libtest/Cargo.toml" "--verbose" "-p" "proc_macro" "--"
expected success, got: exit code: 101

failed to run: /checkout/obj/build/bootstrap/debug/bootstrap test --host x86_64-unknown-linux-musl --target x86_64-unknown-linux-musl
```

</details>

Whole tests non-verbose output: [rust-tests.log](https://github.com/rust-lang/rust/files/2879945/rust-tests.log)

I think the error is because build system (correctly?) tries to use `obj/build/x86_64-unknown-linux-musl/stage1-test/x86_64-unknown-linux-musl/release/deps` which is empty but `obj/build/x86_64-unknown-linux-gnu/stage1-test/x86_64-unknown-linux-musl/release/deps` contains required libs.
</del>
bors added a commit that referenced this pull request Mar 8, 2019
WIP Musl host toolchain

Based on #55163 and #57359
Depends on #55566

CC #57439

### How it works

Tested compiler made by `dist` on glibc and musl based distributions and verified binaries it produces:
* Ubuntu (glibc) - installed it as a target for host toolchain and observed no regressions for static (default) linking, dynamic linking apparently requires musl build libgcc so I didn't test it.
* Alpine (musl) - installed as the host toolchain, by default it links statically (executables are portable and work on glibc distributions) but with `-C target-feature=-crt-static` Rust flag it links dynamically (executables require musl built libraries).

### What's debatable

It should be decided whether this toolchain should link dynamically or statically when using it on musl distribution. I believe the distributions would prefer dynamic linking but it'd be misleading because `$ARCH-unknown-linux-musl` target links statically on the other hosts.
Another problem is using `RUSTFLAGS='-C target-feature=-crt-static'` for dynamic builds which is really uncomfortable.

To address both issues I suggest leaving `$ARCH-unknown-linux-musl` static for both host and cross target and introducing "alias triple" `$ARCH-unknown-linux-dynmusl`. It'd be the same as `$ARCH-unknown-linux-musl` (and use the same libraries to avoid duplication) but it'd link dynamically.

<del>
### Why it's still WIP (help wanted)

I'm having a hard time getting all tests to pass and I'd appreciate help.

Non-verbose error:
<details>

```
Testing proc_macro stage1 (x86_64-unknown-linux-musl -> x86_64-unknown-linux-musl)
   Compiling proc_macro v0.0.0 (/checkout/src/libproc_macro)
error[E0463]: can't find crate for `std`

error[E0463]: can't find crate for `std`

error: aborting due to previous error

For more information about this error, try `rustc --explain E0463`.
error: aborting due to previous error

For more information about this error, try `rustc --explain E0463`.
[RUSTC-TIMING] proc_macro test:true 0.529
[RUSTC-TIMING] proc_macro test:false 0.530
error: Could not compile `proc_macro`.
warning: build failed, waiting for other jobs to finish...
error: Could not compile `proc_macro`.

To learn more, run the command again with --verbose.

command did not execute successfully: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" "test" "--target" "x86_64-unknown-linux-musl" "-j" "16" "--release" "--locked" "--manifest-path" "/checkout/src/libtest/Cargo.toml" "-p" "proc_macro" "--"
expected success, got: exit code: 101

failed to run: /checkout/obj/build/bootstrap/debug/bootstrap test --host x86_64-unknown-linux-musl --target x86_64-unknown-linux-musl
```
</details>

Verbose error:
<details>

```
Testing proc_macro stage1 (x86_64-unknown-linux-musl -> x86_64-unknown-linux-musl)
   Compiling proc_macro v0.0.0 (/checkout/src/libproc_macro)
     Running `/checkout/obj/build/bootstrap/debug/rustc --edition=2018 --crate-name proc_macro src/libproc_macro/lib.rs --color never --crate-type lib --emit=dep-info,link -C opt-level=2 -C metadata=09ddd3ecc930ab63 -C extra-filename=-09ddd3ecc930ab63 --out-dir /checkout/obj/build/x86_64-unknown-linux-musl/stage1-test/x86_64-unknown-linux-musl/release/deps --target x86_64-unknown-linux-musl -L dependency=/checkout/obj/build/x86_64-unknown-linux-musl/stage1-test/x86_64-unknown-linux-musl/release/deps -L dependency=/checkout/obj/build/x86_64-unknown-linux-musl/stage1-test/release/deps -C target-feature=-crt-static`
     Running `/checkout/obj/build/bootstrap/debug/rustc --edition=2018 --crate-name proc_macro src/libproc_macro/lib.rs --color never --emit=dep-info,link -C opt-level=2 --test -C metadata=a564d363930469c8 -C extra-filename=-a564d363930469c8 --out-dir /checkout/obj/build/x86_64-unknown-linux-musl/stage1-test/x86_64-unknown-linux-musl/release/deps --target x86_64-unknown-linux-musl -L dependency=/checkout/obj/build/x86_64-unknown-linux-musl/stage1-test/x86_64-unknown-linux-musl/release/deps -L dependency=/checkout/obj/build/x86_64-unknown-linux-musl/stage1-test/release/deps -C target-feature=-crt-static`
error[E0463]: can't find crate for `std`
error[E0463]: can't find crate for `std`

error: aborting due to previous error

For more information about this error, try `rustc --explain E0463`.
error: aborting due to previous error

For more information about this error, try `rustc --explain E0463`.
[RUSTC-TIMING] proc_macro test:false 0.248
error: Could not compile `proc_macro`.

Caused by:
  process didn't exit successfully: `/checkout/obj/build/bootstrap/debug/rustc --edition=2018 --crate-name proc_macro src/libproc_macro/lib.rs --color never --crate-type lib --emit=dep-info,link -C opt-level=2 -C metadata=09ddd3ecc930ab63 -C extra-filename=-09ddd3ecc930ab63 --out-dir /checkout/obj/build/x86_64-unknown-linux-musl/stage1-test/x86_64-unknown-linux-musl/release/deps --target x86_64-unknown-linux-musl -L dependency=/checkout/obj/build/x86_64-unknown-linux-musl/stage1-test/x86_64-unknown-linux-musl/release/deps -L dependency=/checkout/obj/build/x86_64-unknown-linux-musl/stage1-test/release/deps -C target-feature=-crt-static` (exit code: 1)
warning: build failed, waiting for other jobs to finish...
[RUSTC-TIMING] proc_macro test:true 0.248
error: Could not compile `proc_macro`.

Caused by:
  process didn't exit successfully: `/checkout/obj/build/bootstrap/debug/rustc --edition=2018 --crate-name proc_macro src/libproc_macro/lib.rs --color never --emit=dep-info,link -C opt-level=2 --test -C metadata=a564d363930469c8 -C extra-filename=-a564d363930469c8 --out-dir /checkout/obj/build/x86_64-unknown-linux-musl/stage1-test/x86_64-unknown-linux-musl/release/deps --target x86_64-unknown-linux-musl -L dependency=/checkout/obj/build/x86_64-unknown-linux-musl/stage1-test/x86_64-unknown-linux-musl/release/deps -L dependency=/checkout/obj/build/x86_64-unknown-linux-musl/stage1-test/release/deps -C target-feature=-crt-static` (exit code: 1)

command did not execute successfully: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" "test" "--target" "x86_64-unknown-linux-musl" "-j" "16" "--release" "--locked" "--manifest-path" "/checkout/src/libtest/Cargo.toml" "--verbose" "-p" "proc_macro" "--"
expected success, got: exit code: 101

failed to run: /checkout/obj/build/bootstrap/debug/bootstrap test --host x86_64-unknown-linux-musl --target x86_64-unknown-linux-musl
```

</details>

Whole tests non-verbose output: [rust-tests.log](https://github.com/rust-lang/rust/files/2879945/rust-tests.log)

I think the error is because build system (correctly?) tries to use `obj/build/x86_64-unknown-linux-musl/stage1-test/x86_64-unknown-linux-musl/release/deps` which is empty but `obj/build/x86_64-unknown-linux-gnu/stage1-test/x86_64-unknown-linux-musl/release/deps` contains required libs.
</del>
bors added a commit that referenced this pull request Mar 12, 2019
WIP Musl host toolchain

Based on #55163 and #57359
Depends on #55566

CC #57439

### How it works

Tested compiler made by `dist` on glibc and musl based distributions and verified binaries it produces:
* Ubuntu (glibc) - installed it as a target for host toolchain and observed no regressions for static (default) linking, dynamic linking apparently requires musl build libgcc so I didn't test it.
* Alpine (musl) - installed as the host toolchain, by default it links statically (executables are portable and work on glibc distributions) but with `-C target-feature=-crt-static` Rust flag it links dynamically (executables require musl built libraries).

### What's debatable

It should be decided whether this toolchain should link dynamically or statically when using it on musl distribution. I believe the distributions would prefer dynamic linking but it'd be misleading because `$ARCH-unknown-linux-musl` target links statically on the other hosts.
Another problem is using `RUSTFLAGS='-C target-feature=-crt-static'` for dynamic builds which is really uncomfortable.

To address both issues I suggest leaving `$ARCH-unknown-linux-musl` static for both host and cross target and introducing "alias triple" `$ARCH-unknown-linux-dynmusl`. It'd be the same as `$ARCH-unknown-linux-musl` (and use the same libraries to avoid duplication) but it'd link dynamically.

<del>
### Why it's still WIP (help wanted)

I'm having a hard time getting all tests to pass and I'd appreciate help.

Non-verbose error:
<details>

```
Testing proc_macro stage1 (x86_64-unknown-linux-musl -> x86_64-unknown-linux-musl)
   Compiling proc_macro v0.0.0 (/checkout/src/libproc_macro)
error[E0463]: can't find crate for `std`

error[E0463]: can't find crate for `std`

error: aborting due to previous error

For more information about this error, try `rustc --explain E0463`.
error: aborting due to previous error

For more information about this error, try `rustc --explain E0463`.
[RUSTC-TIMING] proc_macro test:true 0.529
[RUSTC-TIMING] proc_macro test:false 0.530
error: Could not compile `proc_macro`.
warning: build failed, waiting for other jobs to finish...
error: Could not compile `proc_macro`.

To learn more, run the command again with --verbose.

command did not execute successfully: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" "test" "--target" "x86_64-unknown-linux-musl" "-j" "16" "--release" "--locked" "--manifest-path" "/checkout/src/libtest/Cargo.toml" "-p" "proc_macro" "--"
expected success, got: exit code: 101

failed to run: /checkout/obj/build/bootstrap/debug/bootstrap test --host x86_64-unknown-linux-musl --target x86_64-unknown-linux-musl
```
</details>

Verbose error:
<details>

```
Testing proc_macro stage1 (x86_64-unknown-linux-musl -> x86_64-unknown-linux-musl)
   Compiling proc_macro v0.0.0 (/checkout/src/libproc_macro)
     Running `/checkout/obj/build/bootstrap/debug/rustc --edition=2018 --crate-name proc_macro src/libproc_macro/lib.rs --color never --crate-type lib --emit=dep-info,link -C opt-level=2 -C metadata=09ddd3ecc930ab63 -C extra-filename=-09ddd3ecc930ab63 --out-dir /checkout/obj/build/x86_64-unknown-linux-musl/stage1-test/x86_64-unknown-linux-musl/release/deps --target x86_64-unknown-linux-musl -L dependency=/checkout/obj/build/x86_64-unknown-linux-musl/stage1-test/x86_64-unknown-linux-musl/release/deps -L dependency=/checkout/obj/build/x86_64-unknown-linux-musl/stage1-test/release/deps -C target-feature=-crt-static`
     Running `/checkout/obj/build/bootstrap/debug/rustc --edition=2018 --crate-name proc_macro src/libproc_macro/lib.rs --color never --emit=dep-info,link -C opt-level=2 --test -C metadata=a564d363930469c8 -C extra-filename=-a564d363930469c8 --out-dir /checkout/obj/build/x86_64-unknown-linux-musl/stage1-test/x86_64-unknown-linux-musl/release/deps --target x86_64-unknown-linux-musl -L dependency=/checkout/obj/build/x86_64-unknown-linux-musl/stage1-test/x86_64-unknown-linux-musl/release/deps -L dependency=/checkout/obj/build/x86_64-unknown-linux-musl/stage1-test/release/deps -C target-feature=-crt-static`
error[E0463]: can't find crate for `std`
error[E0463]: can't find crate for `std`

error: aborting due to previous error

For more information about this error, try `rustc --explain E0463`.
error: aborting due to previous error

For more information about this error, try `rustc --explain E0463`.
[RUSTC-TIMING] proc_macro test:false 0.248
error: Could not compile `proc_macro`.

Caused by:
  process didn't exit successfully: `/checkout/obj/build/bootstrap/debug/rustc --edition=2018 --crate-name proc_macro src/libproc_macro/lib.rs --color never --crate-type lib --emit=dep-info,link -C opt-level=2 -C metadata=09ddd3ecc930ab63 -C extra-filename=-09ddd3ecc930ab63 --out-dir /checkout/obj/build/x86_64-unknown-linux-musl/stage1-test/x86_64-unknown-linux-musl/release/deps --target x86_64-unknown-linux-musl -L dependency=/checkout/obj/build/x86_64-unknown-linux-musl/stage1-test/x86_64-unknown-linux-musl/release/deps -L dependency=/checkout/obj/build/x86_64-unknown-linux-musl/stage1-test/release/deps -C target-feature=-crt-static` (exit code: 1)
warning: build failed, waiting for other jobs to finish...
[RUSTC-TIMING] proc_macro test:true 0.248
error: Could not compile `proc_macro`.

Caused by:
  process didn't exit successfully: `/checkout/obj/build/bootstrap/debug/rustc --edition=2018 --crate-name proc_macro src/libproc_macro/lib.rs --color never --emit=dep-info,link -C opt-level=2 --test -C metadata=a564d363930469c8 -C extra-filename=-a564d363930469c8 --out-dir /checkout/obj/build/x86_64-unknown-linux-musl/stage1-test/x86_64-unknown-linux-musl/release/deps --target x86_64-unknown-linux-musl -L dependency=/checkout/obj/build/x86_64-unknown-linux-musl/stage1-test/x86_64-unknown-linux-musl/release/deps -L dependency=/checkout/obj/build/x86_64-unknown-linux-musl/stage1-test/release/deps -C target-feature=-crt-static` (exit code: 1)

command did not execute successfully: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" "test" "--target" "x86_64-unknown-linux-musl" "-j" "16" "--release" "--locked" "--manifest-path" "/checkout/src/libtest/Cargo.toml" "--verbose" "-p" "proc_macro" "--"
expected success, got: exit code: 101

failed to run: /checkout/obj/build/bootstrap/debug/bootstrap test --host x86_64-unknown-linux-musl --target x86_64-unknown-linux-musl
```

</details>

Whole tests non-verbose output: [rust-tests.log](https://github.com/rust-lang/rust/files/2879945/rust-tests.log)

I think the error is because build system (correctly?) tries to use `obj/build/x86_64-unknown-linux-musl/stage1-test/x86_64-unknown-linux-musl/release/deps` which is empty but `obj/build/x86_64-unknown-linux-gnu/stage1-test/x86_64-unknown-linux-musl/release/deps` contains required libs.
</del>
bors added a commit that referenced this pull request Mar 12, 2019
WIP Musl host toolchain

Based on #55163 and #57359
Depends on #55566

CC #57439

### How it works

Tested compiler made by `dist` on glibc and musl based distributions and verified binaries it produces:
* Ubuntu (glibc) - installed it as a target for host toolchain and observed no regressions for static (default) linking, dynamic linking apparently requires musl build libgcc so I didn't test it.
* Alpine (musl) - installed as the host toolchain, by default it links statically (executables are portable and work on glibc distributions) but with `-C target-feature=-crt-static` Rust flag it links dynamically (executables require musl built libraries).

### What's debatable

It should be decided whether this toolchain should link dynamically or statically when using it on musl distribution. I believe the distributions would prefer dynamic linking but it'd be misleading because `$ARCH-unknown-linux-musl` target links statically on the other hosts.
Another problem is using `RUSTFLAGS='-C target-feature=-crt-static'` for dynamic builds which is really uncomfortable.

To address both issues I suggest leaving `$ARCH-unknown-linux-musl` static for both host and cross target and introducing "alias triple" `$ARCH-unknown-linux-dynmusl`. It'd be the same as `$ARCH-unknown-linux-musl` (and use the same libraries to avoid duplication) but it'd link dynamically.

<del>
### Why it's still WIP (help wanted)

I'm having a hard time getting all tests to pass and I'd appreciate help.

Non-verbose error:
<details>

```
Testing proc_macro stage1 (x86_64-unknown-linux-musl -> x86_64-unknown-linux-musl)
   Compiling proc_macro v0.0.0 (/checkout/src/libproc_macro)
error[E0463]: can't find crate for `std`

error[E0463]: can't find crate for `std`

error: aborting due to previous error

For more information about this error, try `rustc --explain E0463`.
error: aborting due to previous error

For more information about this error, try `rustc --explain E0463`.
[RUSTC-TIMING] proc_macro test:true 0.529
[RUSTC-TIMING] proc_macro test:false 0.530
error: Could not compile `proc_macro`.
warning: build failed, waiting for other jobs to finish...
error: Could not compile `proc_macro`.

To learn more, run the command again with --verbose.

command did not execute successfully: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" "test" "--target" "x86_64-unknown-linux-musl" "-j" "16" "--release" "--locked" "--manifest-path" "/checkout/src/libtest/Cargo.toml" "-p" "proc_macro" "--"
expected success, got: exit code: 101

failed to run: /checkout/obj/build/bootstrap/debug/bootstrap test --host x86_64-unknown-linux-musl --target x86_64-unknown-linux-musl
```
</details>

Verbose error:
<details>

```
Testing proc_macro stage1 (x86_64-unknown-linux-musl -> x86_64-unknown-linux-musl)
   Compiling proc_macro v0.0.0 (/checkout/src/libproc_macro)
     Running `/checkout/obj/build/bootstrap/debug/rustc --edition=2018 --crate-name proc_macro src/libproc_macro/lib.rs --color never --crate-type lib --emit=dep-info,link -C opt-level=2 -C metadata=09ddd3ecc930ab63 -C extra-filename=-09ddd3ecc930ab63 --out-dir /checkout/obj/build/x86_64-unknown-linux-musl/stage1-test/x86_64-unknown-linux-musl/release/deps --target x86_64-unknown-linux-musl -L dependency=/checkout/obj/build/x86_64-unknown-linux-musl/stage1-test/x86_64-unknown-linux-musl/release/deps -L dependency=/checkout/obj/build/x86_64-unknown-linux-musl/stage1-test/release/deps -C target-feature=-crt-static`
     Running `/checkout/obj/build/bootstrap/debug/rustc --edition=2018 --crate-name proc_macro src/libproc_macro/lib.rs --color never --emit=dep-info,link -C opt-level=2 --test -C metadata=a564d363930469c8 -C extra-filename=-a564d363930469c8 --out-dir /checkout/obj/build/x86_64-unknown-linux-musl/stage1-test/x86_64-unknown-linux-musl/release/deps --target x86_64-unknown-linux-musl -L dependency=/checkout/obj/build/x86_64-unknown-linux-musl/stage1-test/x86_64-unknown-linux-musl/release/deps -L dependency=/checkout/obj/build/x86_64-unknown-linux-musl/stage1-test/release/deps -C target-feature=-crt-static`
error[E0463]: can't find crate for `std`
error[E0463]: can't find crate for `std`

error: aborting due to previous error

For more information about this error, try `rustc --explain E0463`.
error: aborting due to previous error

For more information about this error, try `rustc --explain E0463`.
[RUSTC-TIMING] proc_macro test:false 0.248
error: Could not compile `proc_macro`.

Caused by:
  process didn't exit successfully: `/checkout/obj/build/bootstrap/debug/rustc --edition=2018 --crate-name proc_macro src/libproc_macro/lib.rs --color never --crate-type lib --emit=dep-info,link -C opt-level=2 -C metadata=09ddd3ecc930ab63 -C extra-filename=-09ddd3ecc930ab63 --out-dir /checkout/obj/build/x86_64-unknown-linux-musl/stage1-test/x86_64-unknown-linux-musl/release/deps --target x86_64-unknown-linux-musl -L dependency=/checkout/obj/build/x86_64-unknown-linux-musl/stage1-test/x86_64-unknown-linux-musl/release/deps -L dependency=/checkout/obj/build/x86_64-unknown-linux-musl/stage1-test/release/deps -C target-feature=-crt-static` (exit code: 1)
warning: build failed, waiting for other jobs to finish...
[RUSTC-TIMING] proc_macro test:true 0.248
error: Could not compile `proc_macro`.

Caused by:
  process didn't exit successfully: `/checkout/obj/build/bootstrap/debug/rustc --edition=2018 --crate-name proc_macro src/libproc_macro/lib.rs --color never --emit=dep-info,link -C opt-level=2 --test -C metadata=a564d363930469c8 -C extra-filename=-a564d363930469c8 --out-dir /checkout/obj/build/x86_64-unknown-linux-musl/stage1-test/x86_64-unknown-linux-musl/release/deps --target x86_64-unknown-linux-musl -L dependency=/checkout/obj/build/x86_64-unknown-linux-musl/stage1-test/x86_64-unknown-linux-musl/release/deps -L dependency=/checkout/obj/build/x86_64-unknown-linux-musl/stage1-test/release/deps -C target-feature=-crt-static` (exit code: 1)

command did not execute successfully: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" "test" "--target" "x86_64-unknown-linux-musl" "-j" "16" "--release" "--locked" "--manifest-path" "/checkout/src/libtest/Cargo.toml" "--verbose" "-p" "proc_macro" "--"
expected success, got: exit code: 101

failed to run: /checkout/obj/build/bootstrap/debug/bootstrap test --host x86_64-unknown-linux-musl --target x86_64-unknown-linux-musl
```

</details>

Whole tests non-verbose output: [rust-tests.log](https://github.com/rust-lang/rust/files/2879945/rust-tests.log)

I think the error is because build system (correctly?) tries to use `obj/build/x86_64-unknown-linux-musl/stage1-test/x86_64-unknown-linux-musl/release/deps` which is empty but `obj/build/x86_64-unknown-linux-gnu/stage1-test/x86_64-unknown-linux-musl/release/deps` contains required libs.
</del>
bors added a commit that referenced this pull request Mar 15, 2019
Musl host toolchain

Based on #55163 and #57359
Depends on #55566

CC #57439

### How it works

Tested compiler made by `dist` on glibc and musl based distributions and verified binaries it produces:
* Ubuntu (glibc) - installed it as a target for host toolchain and observed no regressions for static (default) linking, dynamic linking apparently requires musl build libgcc so I didn't test it.
* Alpine (musl) - installed as the host toolchain, by default it links statically (executables are portable and work on glibc distributions) but with `-C target-feature=-crt-static` Rust flag it links dynamically (executables require musl built libraries).

### What's debatable

It should be decided whether this toolchain should link dynamically or statically when using it on musl distribution. I believe the distributions would prefer dynamic linking but it'd be misleading because `$ARCH-unknown-linux-musl` target links statically on the other hosts.
Another problem is using `RUSTFLAGS='-C target-feature=-crt-static'` for dynamic builds which is really uncomfortable.

To address both issues I suggest leaving `$ARCH-unknown-linux-musl` static for both host and cross target and introducing "alias triple" `$ARCH-unknown-linux-dynmusl`. It'd be the same as `$ARCH-unknown-linux-musl` (and use the same libraries to avoid duplication) but it'd link dynamically.

<del>
### Why it's still WIP (help wanted)

I'm having a hard time getting all tests to pass and I'd appreciate help.

Non-verbose error:
<details>

```
Testing proc_macro stage1 (x86_64-unknown-linux-musl -> x86_64-unknown-linux-musl)
   Compiling proc_macro v0.0.0 (/checkout/src/libproc_macro)
error[E0463]: can't find crate for `std`

error[E0463]: can't find crate for `std`

error: aborting due to previous error

For more information about this error, try `rustc --explain E0463`.
error: aborting due to previous error

For more information about this error, try `rustc --explain E0463`.
[RUSTC-TIMING] proc_macro test:true 0.529
[RUSTC-TIMING] proc_macro test:false 0.530
error: Could not compile `proc_macro`.
warning: build failed, waiting for other jobs to finish...
error: Could not compile `proc_macro`.

To learn more, run the command again with --verbose.

command did not execute successfully: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" "test" "--target" "x86_64-unknown-linux-musl" "-j" "16" "--release" "--locked" "--manifest-path" "/checkout/src/libtest/Cargo.toml" "-p" "proc_macro" "--"
expected success, got: exit code: 101

failed to run: /checkout/obj/build/bootstrap/debug/bootstrap test --host x86_64-unknown-linux-musl --target x86_64-unknown-linux-musl
```
</details>

Verbose error:
<details>

```
Testing proc_macro stage1 (x86_64-unknown-linux-musl -> x86_64-unknown-linux-musl)
   Compiling proc_macro v0.0.0 (/checkout/src/libproc_macro)
     Running `/checkout/obj/build/bootstrap/debug/rustc --edition=2018 --crate-name proc_macro src/libproc_macro/lib.rs --color never --crate-type lib --emit=dep-info,link -C opt-level=2 -C metadata=09ddd3ecc930ab63 -C extra-filename=-09ddd3ecc930ab63 --out-dir /checkout/obj/build/x86_64-unknown-linux-musl/stage1-test/x86_64-unknown-linux-musl/release/deps --target x86_64-unknown-linux-musl -L dependency=/checkout/obj/build/x86_64-unknown-linux-musl/stage1-test/x86_64-unknown-linux-musl/release/deps -L dependency=/checkout/obj/build/x86_64-unknown-linux-musl/stage1-test/release/deps -C target-feature=-crt-static`
     Running `/checkout/obj/build/bootstrap/debug/rustc --edition=2018 --crate-name proc_macro src/libproc_macro/lib.rs --color never --emit=dep-info,link -C opt-level=2 --test -C metadata=a564d363930469c8 -C extra-filename=-a564d363930469c8 --out-dir /checkout/obj/build/x86_64-unknown-linux-musl/stage1-test/x86_64-unknown-linux-musl/release/deps --target x86_64-unknown-linux-musl -L dependency=/checkout/obj/build/x86_64-unknown-linux-musl/stage1-test/x86_64-unknown-linux-musl/release/deps -L dependency=/checkout/obj/build/x86_64-unknown-linux-musl/stage1-test/release/deps -C target-feature=-crt-static`
error[E0463]: can't find crate for `std`
error[E0463]: can't find crate for `std`

error: aborting due to previous error

For more information about this error, try `rustc --explain E0463`.
error: aborting due to previous error

For more information about this error, try `rustc --explain E0463`.
[RUSTC-TIMING] proc_macro test:false 0.248
error: Could not compile `proc_macro`.

Caused by:
  process didn't exit successfully: `/checkout/obj/build/bootstrap/debug/rustc --edition=2018 --crate-name proc_macro src/libproc_macro/lib.rs --color never --crate-type lib --emit=dep-info,link -C opt-level=2 -C metadata=09ddd3ecc930ab63 -C extra-filename=-09ddd3ecc930ab63 --out-dir /checkout/obj/build/x86_64-unknown-linux-musl/stage1-test/x86_64-unknown-linux-musl/release/deps --target x86_64-unknown-linux-musl -L dependency=/checkout/obj/build/x86_64-unknown-linux-musl/stage1-test/x86_64-unknown-linux-musl/release/deps -L dependency=/checkout/obj/build/x86_64-unknown-linux-musl/stage1-test/release/deps -C target-feature=-crt-static` (exit code: 1)
warning: build failed, waiting for other jobs to finish...
[RUSTC-TIMING] proc_macro test:true 0.248
error: Could not compile `proc_macro`.

Caused by:
  process didn't exit successfully: `/checkout/obj/build/bootstrap/debug/rustc --edition=2018 --crate-name proc_macro src/libproc_macro/lib.rs --color never --emit=dep-info,link -C opt-level=2 --test -C metadata=a564d363930469c8 -C extra-filename=-a564d363930469c8 --out-dir /checkout/obj/build/x86_64-unknown-linux-musl/stage1-test/x86_64-unknown-linux-musl/release/deps --target x86_64-unknown-linux-musl -L dependency=/checkout/obj/build/x86_64-unknown-linux-musl/stage1-test/x86_64-unknown-linux-musl/release/deps -L dependency=/checkout/obj/build/x86_64-unknown-linux-musl/stage1-test/release/deps -C target-feature=-crt-static` (exit code: 1)

command did not execute successfully: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" "test" "--target" "x86_64-unknown-linux-musl" "-j" "16" "--release" "--locked" "--manifest-path" "/checkout/src/libtest/Cargo.toml" "--verbose" "-p" "proc_macro" "--"
expected success, got: exit code: 101

failed to run: /checkout/obj/build/bootstrap/debug/bootstrap test --host x86_64-unknown-linux-musl --target x86_64-unknown-linux-musl
```

</details>

Whole tests non-verbose output: [rust-tests.log](https://github.com/rust-lang/rust/files/2879945/rust-tests.log)

I think the error is because build system (correctly?) tries to use `obj/build/x86_64-unknown-linux-musl/stage1-test/x86_64-unknown-linux-musl/release/deps` which is empty but `obj/build/x86_64-unknown-linux-gnu/stage1-test/x86_64-unknown-linux-musl/release/deps` contains required libs.
</del>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

9 participants