rust-lang / rust

Empowering everyone to build reliable and efficient software.
https://www.rust-lang.org
Other
98.52k stars 12.73k forks source link

Nightly rust hangs forever #46449

Closed zonyitoo closed 6 years ago

zonyitoo commented 6 years ago

When I tried to use nightly rust to compile my project shadowsocks-rust, it will hang forever.

Stable version works fine.

Reproduce steps:

$ git clone https://github.com/shadowsocks/shadowsocks-rust.git
$ cd shadowsocks-rust
$ cargo install -f
  Installing shadowsocks-rust v1.6.10-nightly (file:///Users/zonyitoo/Projects/shadowsocks-rust)
 Downloading openssl v0.9.22
 Downloading serde v1.0.23
 Downloading num-traits v0.1.41
 Downloading openssl-sys v0.9.22
 Downloading foreign-types v0.3.2
 Downloading foreign-types-shared v0.1.1
    Blocking waiting for file lock on memchr-2.0.1.crate
   Compiling typenum v1.9.0
   Compiling unicode-width v0.1.4
   Compiling openssl v0.9.22
   Compiling lazycell v0.5.1
   Compiling strsim v0.6.0
   Compiling num-traits v0.1.41
... (many more logs)
   Compiling env_logger v0.4.3
   Compiling shadowsocks-rust v1.6.10-nightly (file:///Users/zonyitoo/Projects/shadowsocks-rust)

It will hang forever, but still consumes CPU.

ps shows a rustc process:

zonyitoo         14287  98.3  0.0 25306648   1012 s001  R+   10:36下午  17:20.50 /Users/zonyitoo/.rustup/toolchains/nightly-x86_64-apple-darwin/bin/rustc --crate-name shadowsocks src/lib.rs --crate-type lib --emit=dep-info,link -C opt-level=3 --cfg feature="default" --cfg feature="libsodium-ffi" --cfg feature="sodium" -C metadata=fb046a911106e95e -C extra-filename=-fb046a911106e95e --out-dir /Users/zonyitoo/Projects/shadowsocks-rust/target/release/deps -L dependency=/Users/zonyitoo/Projects/shadowsocks-rust/target/release/deps --extern serde_urlencoded=/Users/zonyitoo/Projects/shadowsocks-rust/target/release/deps/libserde_urlencoded-61a60925e70dcbe4.rlib --extern lazy_static=/Users/zonyitoo/Projects/shadowsocks-rust/target/release/deps/liblazy_static-a066899e4d28630a.rlib --extern byteorder=/Users/zonyitoo/Projects/shadowsocks-rust/target/release/deps/libbyteorder-1cb3c8ca5707fac7.rlib --extern qrcode=/Users/zonyitoo/Projects/shadowsocks-rust/target/release/deps/libqrcode-c4d0865acf488074.rlib --extern tokio_signal=/Users/zonyitoo/Projects/shadowsocks-rust/target/release/deps/libtokio_signal-6fa3848f7558b050.rlib --extern url=/Users/zonyitoo/Projects/shadowsocks-rust/target/release/deps/liburl-42ffd8f1fd62548b.rlib --extern futures_cpupool=/Users/zonyitoo/Projects/shadowsocks-rust/target/release/deps/libfutures_cpupool-32ced888700d9e3b.rlib --extern scoped_tls=/Users/zonyitoo/Projects/shadowsocks-rust/target/release/deps/libscoped_tls-50ac73adf01c31a4.rlib --extern serde_json=/Users/zonyitoo/Projects/shadowsocks-rust/target/release/deps/libserde_json-cc1e76046d610c86.rlib --extern openssl=/Users/zonyitoo/Projects/shadowsocks-rust/target/release/deps/libopenssl-91c6f1f26b8759c6.rlib --extern subprocess=/Users/zonyitoo/Projects/shadowsocks-rust/target/release/deps/libsubprocess-0a3efa9a446563ca.rlib --extern digest=/Users/zonyitoo/Projects/shadowsocks-rust/target/release/deps/libdigest-c6d1d61fc5bc9bf0.rlib --extern libsodium_ffi=/Users/zonyitoo/Projects/shadowsocks-rust/target/release/deps/liblibsodium_ffi-f0ea0ac518324990.rlib --extern bytes=/Users/zonyitoo/Projects/shadowsocks-rust/target/release/deps/libbytes-54eacfdfc8e87665.rlib --extern ring=/Users/zonyitoo/Projects/shadowsocks-rust/target/release/deps/libring-6add70aa26956a4c.rlib --extern typenum=/Users/zonyitoo/Projects/shadowsocks-rust/target/release/deps/libtypenum-fdfe19e18f298fbb.rlib --extern time=/Users/zonyitoo/Projects/shadowsocks-rust/target/release/deps/libtime-37bf8783b022cc7e.rlib --extern md_5=/Users/zonyitoo/Projects/shadowsocks-rust/target/release/deps/libmd_5-f51cf7bee16cb806.rlib --extern libc=/Users/zonyitoo/Projects/shadowsocks-rust/target/release/deps/liblibc-8e42d4cf8815835d.rlib --extern clap=/Users/zonyitoo/Projects/shadowsocks-rust/target/release/deps/libclap-2f9d9629604ac78b.rlib --extern env_logger=/Users/zonyitoo/Projects/shadowsocks-rust/target/release/deps/libenv_logger-37a09170e3cd67b7.rlib --extern futures=/Users/zonyitoo/Projects/shadowsocks-rust/target/release/deps/libfutures-7614b080b7aa6bfa.rlib --extern byte_string=/Users/zonyitoo/Projects/shadowsocks-rust/target/release/deps/libbyte_string-8e53eb4422822c2d.rlib --extern rand=/Users/zonyitoo/Projects/shadowsocks-rust/target/release/deps/librand-ba32c60615891fa3.rlib --extern tokio_io=/Users/zonyitoo/Projects/shadowsocks-rust/target/release/deps/libtokio_io-0ba48e8839c90dec.rlib --extern log=/Users/zonyitoo/Projects/shadowsocks-rust/target/release/deps/liblog-db3a3cc0c4299968.rlib --extern base64=/Users/zonyitoo/Projects/shadowsocks-rust/target/release/deps/libbase64-519a09b2f17b9fbf.rlib --extern tokio_core=/Users/zonyitoo/Projects/shadowsocks-rust/target/release/deps/libtokio_core-c3e74c59a01ac9ad.rlib -L native=/usr/local/Cellar/libsodium/1.0.15/lib -L native=/usr/local/opt/openssl@1.1/lib -L native=/Users/zonyitoo/Projects/shadowsocks-rust/target/release/build/ring-c441a9fe61114cc0/out

Meta

ghost commented 6 years ago

Is that a git bisect result for the commit id or something else, it's a little unclear from the comments here. If not then I would recommend running git bisect on the nightly build that's failing and report it back. After that me and others can figure out if reverted is possible or works cleanly. If not then a fix should be applied based on what git bisect returns.

zonyitoo commented 6 years ago

I found this problem after rustup update. So I don't remember which exact commit I was on before update.

It would be the last version before Nov. 1. I guess.

ghost commented 6 years ago

Actually you can run git bisect on the git repo here: https://github.com/rust-lang/rust/commits/master. As it's up to date. Just clone it and build it. Actually you don't need commit ids, that makes it run faster a few less bisections. If you run git bisect bad or good without commit for both, it runs it against the complete history rather than a range of commits.

Mark-Simulacrum commented 6 years ago

Last few lines of SODIUM_BUILD_STATIC=yes cargo rustc --lib --release -- --emit=llvm-ir -Ztime-passes -Ztime-llvm-passes -Zprint-llvm-passes are below. It might be due to ThinLTO being enabled by default perhaps (purely based on -write-thinlto-bitcode? cc @alexcrichton

@xerofoify Generally running git bisect isn't too useful in most cases due to how slow that'll be. It's probably easier to bisect using the CI artifacts, which I'll attempt to do myself soon. We try to diagnose the problem ourselves before asking reporters to do so since it's likely our bug.

    time: 0.055; rss: 193MB     write metadata
    time: 3.273; rss: 224MB     translation item collection
    time: 0.017; rss: 232MB     codegen unit partitioning
    time: 4.273; rss: 326MB     translate to LLVM IR
    time: 0.000; rss: 326MB     assert dep graph
    time: 0.000; rss: 326MB     serialize dep graph
  time: 7.792; rss: 326MB       translation
    time: 0.772; rss: 284MB     llvm function passes [shadowsocks0]
    time: 90.584; rss: 6616MB   llvm module passes [shadowsocks0]
Pass Arguments:  -profile-summary-info -module-summary-analysis -write-thinlto-bitcode
Profile summary info
  ModulePass Manager
    Module Summary Analysis
      Unnamed pass: implement Pass::getPassName()
    ThinLTO Bitcode Writer
Pass Arguments:  -domtree -loops -branch-prob -block-freq
  FunctionPass Manager
    Dominator Tree Construction
    Natural Loop Information
    Branch Probability Analysis
    Block Frequency Analysis
ghost commented 6 years ago

Sorry about that, wasn't sure what the protocol for git bisect was here :).

Mark-Simulacrum commented 6 years ago

Looks like this was caused by #45225 (cc @eddyb). I suspect that LLVM is struggling with the IR we're handing it...

eddyb commented 6 years ago

@Mark-Simulacrum I don't understand the log, is LLVM just slower, or does it end up in some loop? I feel like we've seen one such bug before but I can't remember which one it was.

Mark-Simulacrum commented 6 years ago

It's possible it's just slower, I didn't try looking at what was happening with gdb or anything. The memory usage did seem to keep growing so it presumably as doing something....

ghost commented 6 years ago

It will hang forever, but still consums CPU.

ps shows a rustc process:

zonyitoo 14287 98.3 0.0 25306648 1012 s001 R+ 10:36下午 17:20.50 /Users/zonyitoo/.rustup/toolchains/nightly-x86_64-apple-darwin/bin/rustc --crate-name shadowsocks

Is what the log states. We should check if the build for rust supports it this occurs under gcc as it if does then we have a issue with us and the compiler.

I am curious what is meant by this through: avoiding LLVM's "first-class aggregates"

in this commit, https://github.com/rust-lang/rust/pull/45225?

kennytm commented 6 years ago

The error only happens when optimization level ≥2. Number of CGUs (ThinLTO) is irrelevant. Most time is spent on SROALegacyPass

kennytm commented 6 years ago

I've enabled some debug log for the SROA pass and looks like there's difficulty working with futures::future::AndThen::poll. SROA-ing every such call takes nearly 2 minutes, and there are at least 28 futures-related and_thens in the shadowsocks-rust package…

[00:00:00]    Compiling shadowsocks-rust v1.6.10 (file://$DIR/shadowsocks-rust)
[00:00:00]      Running `rustc --crate-name shadowsocks src/lib.rs --crate-type lib --emit=dep-info,link -C opt-level=3 --cfg 'feature="default"' --cfg 'feature="libsodium-ffi"' --cfg 'feature="sodium"' -C metadata=875e43cd17c0b5a0 -C extra-filename=-875e43cd17c0b5a0 --out-dir $DIR/shadowsocks-rust/target/release/deps -L dependency=$DIR/shadowsocks-rust/target/release/deps --extern tokio_signal=$DIR/shadowsocks-rust/target/release/deps/libtokio_signal-d8d02ef07068b1ca.rlib --extern subprocess=$DIR/shadowsocks-rust/target/release/deps/libsubprocess-3c1ecbd141d33dff.rlib --extern openssl=$DIR/shadowsocks-rust/target/release/deps/libopenssl-1b60528d713e083d.rlib --extern bytes=$DIR/shadowsocks-rust/target/release/deps/libbytes-7b105104e2fe57f0.rlib --extern md_5=$DIR/shadowsocks-rust/target/release/deps/libmd_5-f4490bb4d711237a.rlib --extern lazy_static=$DIR/shadowsocks-rust/target/release/deps/liblazy_static-dd36e56c4b5b6e36.rlib --extern tokio_core=$DIR/shadowsocks-rust/target/release/deps/libtokio_core-cd674c1cee8f4b35.rlib --extern scoped_tls=$DIR/shadowsocks-rust/target/release/deps/libscoped_tls-2741372f6d09b8f2.rlib --extern ring=$DIR/shadowsocks-rust/target/release/deps/libring-28456fadef0887d9.rlib --extern libsodium_ffi=$DIR/shadowsocks-rust/target/release/deps/liblibsodium_ffi-3c35aa1af33659fd.rlib --extern libc=$DIR/shadowsocks-rust/target/release/deps/liblibc-187fc6c13f99925e.rlib --extern byte_string=$DIR/shadowsocks-rust/target/release/deps/libbyte_string-f2e9086bfb1da425.rlib --extern qrcode=$DIR/shadowsocks-rust/target/release/deps/libqrcode-8986450b39a075af.rlib --extern url=$DIR/shadowsocks-rust/target/release/deps/liburl-4b2c5f911212381c.rlib --extern serde_urlencoded=$DIR/shadowsocks-rust/target/release/deps/libserde_urlencoded-25effef210302280.rlib --extern serde_json=$DIR/shadowsocks-rust/target/release/deps/libserde_json-09584eb04dca168e.rlib --extern digest=$DIR/shadowsocks-rust/target/release/deps/libdigest-faeede511d72a534.rlib --extern typenum=$DIR/shadowsocks-rust/target/release/deps/libtypenum-0ea64efc715818d9.rlib --extern time=$DIR/shadowsocks-rust/target/release/deps/libtime-9a37c4925e6970b3.rlib --extern clap=$DIR/shadowsocks-rust/target/release/deps/libclap-a8b942b4941c7197.rlib --extern env_logger=$DIR/shadowsocks-rust/target/release/deps/libenv_logger-3c47b9db34b73bb5.rlib --extern byteorder=$DIR/shadowsocks-rust/target/release/deps/libbyteorder-390f9f29da931bec.rlib --extern tokio_io=$DIR/shadowsocks-rust/target/release/deps/libtokio_io-14bba7a8919ac847.rlib --extern futures=$DIR/shadowsocks-rust/target/release/deps/libfutures-5b90b645077d9497.rlib --extern log=$DIR/shadowsocks-rust/target/release/deps/liblog-820009db7805861d.rlib --extern base64=$DIR/shadowsocks-rust/target/release/deps/libbase64-e45e06e9dc086d37.rlib --extern futures_cpupool=$DIR/shadowsocks-rust/target/release/deps/libfutures_cpupool-bb8344cc22845bf3.rlib --extern rand=$DIR/shadowsocks-rust/target/release/deps/librand-0b5438783367eeba.rlib -L native=/usr/local/Cellar/libsodium/1.0.15/lib -L native=/usr/local/opt/openssl/lib -L native=$DIR/shadowsocks-rust/target/release/build/ring-b4c40f80f2d65dd1/out`
[00:00:50] SROA function: _ZN100_$LT$$RF$$u27$a$u20$mut$u20$alloc..vec..Vec$LT$T$GT$$u20$as$u20$core..iter..traits..IntoIterator$GT$9into_iter17h29e23af86a7d2c85E
...
<skipped 17832 lines>
...
[00:01:10] SROA function: _ZN65_$LT$futures..future..chain..Chain$LT$A$C$$u20$B$C$$u20$C$GT$$GT$4poll17h05ca77dd1cc1739aE
[00:01:10] Promoting allocas with mem2reg...
[00:01:10] SROA function: _ZN105_$LT$futures..future..and_then..AndThen$LT$A$C$$u20$B$C$$u20$F$GT$$u20$as$u20$futures..future..Future$GT$4poll17hca25b69dd59146a1E
[00:02:30] Promoting allocas with mem2reg...
[00:03:02] SROA function: _ZN4core3mem7size_of17h9931e69b61525598E
[00:03:02] SROA function: _ZN4core3ptr19swap_nonoverlapping17h48ec9f255a445c1bE
[00:03:02] SROA function: _ZN4core3mem4swap17h58bbc82a017d5836E
...
<skipped 86 lines>
...
[00:03:03] SROA function: _ZN65_$LT$futures..future..chain..Chain$LT$A$C$$u20$B$C$$u20$C$GT$$GT$4poll17h6788e14405a2ffadE
[00:03:03] Promoting allocas with mem2reg...
[00:03:03] SROA function: _ZN105_$LT$futures..future..and_then..AndThen$LT$A$C$$u20$B$C$$u20$F$GT$$u20$as$u20$futures..future..Future$GT$4poll17h466afb4be6fc7f15E
[00:04:16] Promoting allocas with mem2reg...
[00:04:59] SROA function: _ZN4core3mem7size_of17he136b9e66cd6b59bE
[00:04:59] SROA function: _ZN4core3ptr19swap_nonoverlapping17hdeab54ab4295f4f6E
[00:04:59] SROA function: _ZN4core3mem4swap17h82cdf9db11f129e6E
...
ghost commented 6 years ago

Ok at least from my knowledge this is possibly a issue with LLVM in optimizations if it's failing like that. What version of LLVM is being used here. Maybe a newer version fixes it from upstream already?

eddyb commented 6 years ago

I don't know if OSX is different, but I get this instead:

rustc: /home/eddy/Projects/rust-2/src/llvm/lib/Support/SmallVector.cpp:36:
  void llvm::SmallVectorBase::grow_pod(void *, size_t, size_t):
    Assertion `NewElts && "Out of memory"' failed.
kennytm commented 6 years ago

LLVM assertions in nightlies are disabled, so normal users won't see this...

eddyb commented 6 years ago

We should do bisections with the nightlies that have the assertions enabled (cc @rust-lang/infra). Also, if it does run out of memory, is the hang some kind of UB result of that?

eddyb commented 6 years ago

Backtrace for that OOM (maybe 16GB just aren't enough?): EDIT: htop shows the process going to 16.3G VIRT 15.5G RES with about 16G free.

``` #0 0x00007ffff7132274 in raise () from /nix/store/fysbl29a8p8sa9z3wpnqpn56a0b54fap-glibc-2.26-75/lib/libc.so.6 #1 0x00007ffff7133675 in abort () from /nix/store/fysbl29a8p8sa9z3wpnqpn56a0b54fap-glibc-2.26-75/lib/libc.so.6 #2 0x00007ffff712acf7 in __assert_fail_base () from /nix/store/fysbl29a8p8sa9z3wpnqpn56a0b54fap-glibc-2.26-75/lib/libc.so.6 #3 0x00007ffff712ada2 in __assert_fail () from /nix/store/fysbl29a8p8sa9z3wpnqpn56a0b54fap-glibc-2.26-75/lib/libc.so.6 #4 0x00007fffeee5ce8a in llvm::SmallVectorBase::grow_pod(void*, unsigned long, unsigned long) () from /home/eddy/Projects/rust-2/build/x86_64-unknown-linux-gnu/stage1/bin/../lib/../lib/../lib/librustc_llvm-2d59d9b96ed97eac.so #5 0x00007fffee943e4a in void llvm::BitstreamWriter::EmitAbbreviatedField(llvm::BitCodeAbbrevOp const&, unsigned long) () from /home/eddy/Projects/rust-2/build/x86_64-unknown-linux-gnu/stage1/bin/../lib/../lib/../lib/librustc_llvm-2d59d9b96ed97eac.so #6 0x00007fffee94389c in void llvm::BitstreamWriter::EmitRecordWithAbbrevImpl(unsigned int, llvm::ArrayRef, llvm::StringRef, llvm::Optional) () from /home/eddy/Projects/rust-2/build/x86_64-unknown-linux-gnu/stage1/bin/../lib/../lib/../lib/librustc_llvm-2d59d9b96ed97eac.so #7 0x00007fffee9434d9 in void llvm::BitstreamWriter::EmitRecord >(unsigned int, llvm::SmallVector const&, unsigned int) () from /home/eddy/Projects/rust-2/build/x86_64-unknown-linux-gnu/stage1/bin/../lib/../lib/../lib/librustc_llvm-2d59d9b96ed97eac.so #8 0x00007fffee9423b8 in (anonymous namespace)::ModuleBitcodeWriter::writeValueSymbolTable(llvm::ValueSymbolTable const&, bool, llvm::DenseMap, llvm::detail::DenseMapPair >*) () from /home/eddy/Projects/rust-2/build/x86_64-unknown-linux-gnu/stage1/bin/../lib/../lib/../lib/librustc_llvm-2d59d9b96ed97eac.so #9 0x00007fffee935ce9 in (anonymous namespace)::ModuleBitcodeWriter::write() () from /home/eddy/Projects/rust-2/build/x86_64-unknown-linux-gnu/stage1/bin/../lib/../lib/../lib/librustc_llvm-2d59d9b96ed97eac.so #10 0x00007fffee92c968 in llvm::BitcodeWriter::writeModule(llvm::Module const*, bool, llvm::ModuleSummaryIndex const*, bool) () from /home/eddy/Projects/rust-2/build/x86_64-unknown-linux-gnu/stage1/bin/../lib/../lib/../lib/librustc_llvm-2d59d9b96ed97eac.so #11 0x00007fffee939291 in llvm::WriteBitcodeToFile(llvm::Module const*, llvm::raw_ostream&, bool, llvm::ModuleSummaryIndex const*, bool) () from /home/eddy/Projects/rust-2/build/x86_64-unknown-linux-gnu/stage1/bin/../lib/../lib/../lib/librustc_llvm-2d59d9b96ed97eac.so #12 0x00007fffedbb02aa in (anonymous namespace)::WriteThinLTOBitcode::runOnModule(llvm::Module&) () from /home/eddy/Projects/rust-2/build/x86_64-unknown-linux-gnu/stage1/bin/../lib/../lib/../lib/librustc_llvm-2d59d9b96ed97eac.so #13 0x00007fffeecace08 in llvm::legacy::PassManagerImpl::run(llvm::Module&) () from /home/eddy/Projects/rust-2/build/x86_64-unknown-linux-gnu/stage1/bin/../lib/../lib/../lib/librustc_llvm-2d59d9b96ed97eac.so #14 0x00007fffed515803 in LLVMRustThinLTOBufferCreate () from /home/eddy/Projects/rust-2/build/x86_64-unknown-linux-gnu/stage1/bin/../lib/../lib/../lib/librustc_llvm-2d59d9b96ed97eac.so #15 0x00007ffff4f2766c in rustc_trans::back::lto::ThinBuffer::new () at src/librustc_trans/back/lto.rs:555 #16 rustc_trans::back::write::codegen () at src/librustc_trans/back/write.rs:659 #17 0x00007ffff4f195e9 in rustc_trans::back::write::execute_work_item () at src/librustc_trans/back/write.rs:1303 ```
eddyb commented 6 years ago

If I change the crate type to staticlib then it compiles pretty quickly for me. EDIT: without changing the crate type, just disabling LTO and adding --emit=obj works for me.

kennytm commented 6 years ago

I'm marking it O-macos for now, as just disabling LTO and adding --emit=obj does not work for me.

Edit: Not an -alt build, just regular nightly.

eddyb commented 6 years ago

So there are multiple bugs here? Have you been trying the -altbuild?

kennytm commented 6 years ago

@eddyb I found one part which is highly relevant to #45225. In src/relay/tcprelay/mod.rs there is a constant

const BUFFER_SIZE: usize = 8 * 1024; // 8K buffer

which is used in several structures, e.g.

pub struct CopyTimeout<R, W>
where
    R: AsyncRead,
    W: AsyncWrite,
{
    r: Option<R>,
    w: Option<W>,
    timeout: Duration,
    amt: u64,
    timer: Option<Timeout>,
    buf: [u8; BUFFER_SIZE],   // <----
    pos: usize,
    cap: usize,
}

Reducing the BUFFER_SIZE from 8 KiB allows the compilation to finish (quoted is the timing for the "llvm module passes" pass):

Size Stable Beta Nightly
1 22s 20s 20s
1024 20s 21s 20s
2048 20s 24s 24s
3072 20s 30s 30s
4096 20s 42s 40s
5120 20s 61s 58s
6144 20s 84s 82s

Note that the time spent in stable is constant, but that for beta and nightly is superlinear.

I'm still reducing the program but this structure (together with some interactions with Futures) should be one contribution of the cause that hangs LLVM and eats up all the memory.

eddyb commented 6 years ago

Is it used with enums or directly in argument/return types? LLVM shouldn't be SROA-ing arrays, but I don't know the actual mechanisms involved :/.

kennytm commented 6 years ago

@eddyb Both.

As return type: https://github.com/shadowsocks/shadowsocks-rust/blob/5663623f59fb14f11d995b52f7a3fc1fc25dbd35/src/relay/tcprelay/crypto_io.rs#L40

As enum variant: https://github.com/shadowsocks/shadowsocks-rust/blob/5663623f59fb14f11d995b52f7a3fc1fc25dbd35/src/relay/tcprelay/utils.rs#L167-L171

eddyb commented 6 years ago

It's possible CopyTimeoutOpt (which would be represented like an union) triggers some edge case in LLVM - we used to use different filler types for unions but now it's all bytes.

ghost commented 6 years ago

Are you able to give us the output of the assembly itself for what you stated may be causing the problem. It seems that SROAing may happen for arrays or objects. The well-known scalar replacement of aggregates transformation. This transform breaks up alloca instructions of aggregate type (structure or array) into individual alloca instructions for each member if possible. Then, if possible, it transforms the individual alloca instructions into nice clean scalar SSA form.

kennytm commented 6 years ago

Half reduced:

EDIT: Disregard, I haven't compared this with stable branch. It maybe just inherent slowness irrelevant to the regression.

```rust #![forbid(warnings)] extern crate futures; extern crate tokio_core; extern crate tokio_io; mod config { use std::net::SocketAddr; pub struct ServerAddr; impl ServerAddr { pub fn listen_addr(&self) -> &SocketAddr { loop {} } } pub struct ServerConfig; impl ServerConfig { pub fn addr(&self) -> &ServerAddr { loop {} } } pub struct Config { pub server: Option, } } pub mod relay { use std::io; use config::Config; use futures::Future; use tokio_core::reactor::Handle; pub mod tcprelay { use std::io; use relay::{boxed_future, BoxIoFuture}; use futures::{Future}; pub mod server { use std::io; use relay::BoxIoFuture; use relay::Context; use futures::Future; use futures::stream::Stream; use tokio_core::net::{TcpListener}; use super::{tunnel, EncryptedHalfFut}; use super::utils::CopyTimeoutOpt; struct TcpRelayClientHandshake; impl TcpRelayClientHandshake { fn handshake(self) -> BoxIoFuture { loop {} } } struct TcpRelayClientPending; impl TcpRelayClientPending { fn connect(self) -> BoxIoFuture { loop {} } } struct TcpRelayClientConnected; fn copy_timeout_opt() -> CopyTimeoutOpt { loop {} } fn client() -> EncryptedHalfFut { loop {} } impl TcpRelayClientConnected { fn tunnel(self) -> BoxIoFuture<()> { tunnel(copy_timeout_opt(), client()) } } pub fn run() -> Box> { let mut fut: Option>> = None; Context::with(|ctx| { let config = ctx.config(); for svr_cfg in &config.server { let listener = { let addr = svr_cfg.addr(); let addr = addr.listen_addr(); let listener = TcpListener::bind(&addr, ctx.handle()).unwrap_or_else(|_| loop {}); listener }; let listening = listener.incoming().for_each(move |_| { let client = TcpRelayClientHandshake {}; let fut = client .handshake() .and_then(|c| c.connect()) .and_then(|c| c.tunnel()) .map_err(|_| ()); Context::with(|ctx| ctx.handle().spawn(fut)); Ok(()) }); fut = Some(Box::new(listening) as Box>) } loop {} }) } } mod utils { use std::io; use futures::{Future, Poll}; pub struct CopyTimeoutOpt { _buf: [u8; 8192], } impl Future for CopyTimeoutOpt { type Item = (u64, (), ()); type Error = io::Error; fn poll(&mut self) -> Poll { loop {} } } } struct EncryptedHalf; type EncryptedHalfFut = BoxIoFuture; fn tunnel(c2s: CF, s2c: SF) -> BoxIoFuture<()> where CF: Future + 'static, SF: Future + 'static, { let c2s = c2s.then(move |res| match res { Ok(..) => Ok(()), Err(err) => Err(err), }); let s2c = s2c.then(move |res| match res { Ok(..) => Ok(()), Err(err) => Err(err), }); let fut = c2s.select(s2c) .and_then(move |_| Ok(())) .map_err(|(err, _)| err); boxed_future(fut) } } type BoxIoFuture = Box>; fn boxed_future(f: F) -> Box> where F: Future + 'static, { Box::new(f) } thread_local!(static CONTEXT: Context = loop {}); struct Context; impl Context { fn with(f: F) -> R where F: FnOnce(&Context) -> R, { CONTEXT.with(f) } fn handle(&self) -> &Handle { loop {} } fn config(&self) -> &Config { loop {} } } } ``` Expected timing of the code above (replace the "8192" by a number below): | Size | Time | |-----:|-----:| | 1 | 1.3s | | 1024 | 1.6s | | 2048 | 1.6s | | 3072 | 2.0s | | 4096 | 3.0s | | 5120 | 5.0s | | 6144 | 7.1s | | 7168 | 9.9s | | 8192 | 14.0s | | 9216 | 21.0s | | 10240 | 29.2s | Looks like quadratic or cubic.
sbwtw commented 6 years ago

Same problem in Arch Linux 64bit.

rustc 1.24.0-nightly (ad3543db3 2017-12-08) LLVM 5.0.0-1

ghost commented 6 years ago

Someone should try under gcc if the build system supports it to use if the regression is caused by current versions of LLVM and not gcc.

kennytm commented 6 years ago

o_O rustc doesn’t support a gcc backend yet

ghost commented 6 years ago

That makes more sense than why that wasn't already tested. Is it possible to disassemble the running code to use what LLVM is doing internally as if so then it may be possible to prove that the issue is instead with SROA optimizations.

kennytm commented 6 years ago

Truly reduced (except the futures dependency), extremely fast on stable and very slow on beta/nightly. I've also verified this on playground, so it is indeed not platform-specific.

Source code ```rust extern crate futures; use futures::{Future, Poll}; pub struct Error(::std::io::Error); struct Dummy(T); impl Future for Dummy { type Item = T; type Error = Error; fn poll(&mut self) -> Poll { loop {} } } pub fn run() -> Box> { let c2s = Dummy([0u8; 8192]).then(move |_| Ok(0)); let s2c = Dummy(()).then(move |_| Ok(0)); let fut = c2s.select(s2c) .and_then(move |_| Ok(())) .map_err(|(err, _)| err); Box::new(fut) } ```
Time elapsed (Error = ::std::io::Error) | Size | Stable | Beta | Nightly | |---:|---:|---:|---:| | 1024 | 0.9s | 0.9s | 0.9s | | 2048 | 0.8s | 1.3s | 1.4s | | 3072 | 0.8s | 2.7s | 2.8s | | 4096 | 0.8s | 5.3s | 5.4s | | 5120 | 0.8s | 9.7s | 9.7s | | 6144 | 0.8s | 16.4s | 16.6s | | 7168 | 0.8s | 29.3s | (ignored) | | 8192 | 0.8s | 49.8s | (ignored) |

The timing of stable is constant while that of beta is clearly exponential.

Note that the timing is sensitive on the Error type as well. The following shows the timing for items with different Error types, sometimes beta is much better than stable, sometimes both of them are equally bad, probably due to how the fields are rearranged between the two versions.

We can't draw much conclusion before further eliminating the futures dependency.

Time elapsed (Error = u32) | Size | Stable | Beta | |---:|---:|---:| | 1024 | 0.7s | 0.7s | | 2048 | 7.4s | 0.6s | | 3072 | 21.0s | 0.6s |
Time elapsed (Error = u8) | Size | Stable | Beta | |---:|---:|---:| | 1024 | 0.7s | 0.7s | | 2048 | 7.0s | 0.6s | | 3072 | 20.2s | 0.6s |
Time elapsed (Error = ()) | Size | Stable | Beta | |---:|---:|---:| | 1024 | 0.7s | 0.7s | | 2048 | 6.3s | 7.9s | | 3072 | 20.2s | 26.6s |
Time elapsed (Error = &'static str) | Size | Stable | Beta | |---:|---:|---:| | 1024 | 1.4s | 1.8s | | 2048 | 2.0s | 1.5s | | 3072 | 3.0s | 1.5s | | 4096 | 5.8s | 3.1s | | 5120 | 11.5s | 4.5s | | 6144 | 22.3s | 7.8s |

Edit: Free of futures dependency.

```rust pub type Poll = Result, E>; pub enum Async { Ready(T), NotReady, } pub trait Future { type Item; type Error; fn poll(&mut self) -> Poll; } pub trait IntoFuture { type Future: Future; type Item; type Error; fn into_future(self) -> Self::Future; } impl IntoFuture for F { type Future = F; type Item = F::Item; type Error = F::Error; fn into_future(self) -> F { self } } impl IntoFuture for Result { type Future = FutureResult; type Item = T; type Error = E; fn into_future(self) -> FutureResult { FutureResult { inner: Some(self) } } } pub struct FutureResult { inner: Option>, } impl Future for FutureResult { type Item = T; type Error = E; fn poll(&mut self) -> Poll { self.inner.take().unwrap().map(Async::Ready) } } pub struct MapErr where A: Future { future: A, } impl Future for MapErr { type Item = A::Item; type Error = Error; fn poll(&mut self) -> Poll { let e = self.future.poll(); e.map_err(|_| Error(::std::io::Error::last_os_error())) } } pub struct Select where A: Future { inner: Option, } impl Future for Select where A: Future, { type Item = (A::Item, A); type Error = (A::Error, A); fn poll(&mut self) -> Poll { let mut a = self.inner.take().unwrap(); let ret = match a.poll() { Err(a) => Err(a), Ok(Async::Ready(a)) => Ok(a), Ok(Async::NotReady) => loop {}, }; let next = a; match ret { Ok(a) => Ok(Async::Ready((a, next))), Err(e) => Err((e, next)), } } } pub enum Chain { First(A), Second(B), } impl Future for Chain where A: Future, B: Future, { type Item = B::Item; type Error = B::Error; fn poll(&mut self) -> Poll { match *self { Chain::First(ref mut a) => { match a.poll() { Ok(Async::Ready(t)) => t, _ => loop {}, } } Chain::Second(ref mut b) => return b.poll(), }; loop {} } } pub struct Error(::std::io::Error); struct Dummy(T); impl Future for Dummy { type Item = T; type Error = Error; fn poll(&mut self) -> Poll { loop {} } } const LENGTH: usize = 6144; fn create() -> MapErr< Chain< Select< Chain< Dummy<[u8; LENGTH]>, FutureResult > >, FutureResult< (), ( Error, Chain< Dummy<[u8; LENGTH]>, FutureResult >, ) > > > { loop {} } pub fn run() -> Box> { Box::new(create()) } ```
eddyb commented 6 years ago

probably due to how the fields are rearranged between the two versions.

There's nothing that changed field order btw, if you're seeing a significant boost it's probably from getting some enums optimized in a way they couldn't before.

eddyb commented 6 years ago

@kennytm Thanks a lot for doing this, I'll try reproducing and if I can, I can start experimenting with bringing what we give LLVM more in line with what was before and see what helps.

EDIT: hunch seems to have been right, #46623 restores the alignment filling and SROA speed.

eddyb commented 6 years ago

~~While playing with reductions I ended up at https://play.rust-lang.org/?gist=f6991a7742eca275395ed34c7b29929f&version=stable - which... crashes(?), somehow, on stable? I really wish cargo would just print exit codes, especially when they correspond to a signal.~~

EDIT: looks like compilation timeout isn't nicely messaged in the playground. Got to single-crate: https://play.rust-lang.org/?gist=35f2ee1ea315576c80b8988538a94078&version=stable

eddyb commented 6 years ago

I have a testcase that's problematic on stable as well (I believe it amounts to an enum optimization happening on stable, as it's a simpler case), how should we proceed? AFAICT, this is a long-standing problem and the regression I caused only triggers it in more cases.

EDIT: still reducing, but I've updated with a version that is slow on stable, beta, and #46623.

EDIT2: I believe I have reached minimal reduction, with both safe enums and unsafe unions:

Safe (enum) ```rust const LEN: usize = 1024; type Array = [u8; LEN]; enum Either { // Swapping the order of the fields so that the Arrays // fit prevents LLVM spending a lot of time and memory. Left(u8, Array), Right(Array) } fn copy_array(_copy: Array) {} fn main() { let array = match Either::Left(0, [0; LEN]) { Either::Left(_, x) => x, Either::Right(e) => e, }; copy_array(array); } ```
Unsafe (union) ```rust const LEN: usize = 1024; type Array = [u8; LEN]; union Either { left: (u8, Array), right: Array } fn copy_array(_copy: Array) {} fn main() { unsafe { let either = Either { left: (0, [0; LEN]) }; let array = if either.left.0 == 0 { either.left.1 } else { either.right }; copy_array(array); } } ```

EDIT3: I've put the union testcase through bugpoint and that reproduces with opt -sroa.

eddyb commented 6 years ago

cc @rust-lang/compiler Should we untag as a regression from stable to beta given that this is a longstanding issue in LLVM? Either way we should separate the LLVM bug and me triggering it.

eddyb commented 6 years ago

@serge-sans-paille in LLVM IRC came up with this patch https://reviews.llvm.org/D41296, which solves at least the quadratic slowdown caused by SROA trying to generate fresh value names.

EDIT: it makes one testcase go from 128s and 9.8GB to 4.6s and 248MB.

EDIT2: the original crate finishes a full rebuild in 363.77s (for comparison, 1.21 does it in 209.66s).

eddyb commented 6 years ago

https://reviews.llvm.org/D41296 is still unreviewed. Does someone know who to poke? cc @alexcrichton Should we apply this patch to our LLVM on beta?

EDIT: The layout PR has been taken out of the current beta, for now, and the LLVM patch is now getting reviewed (and generalized beyond SROA).

joker-eph commented 6 years ago

If you don't need to debug the value names at the IR level, you can set a flag on the LLVMContext to discard them automatically, it would much improve the performance. For instance clang sets this flag by default in Release mode.

pnkfelix commented 6 years ago

I believe this should be fixed by #46925 .

Should we trigger a beta .3 release (presumably in a manner similar to that of #46580), so that people can actually test out all these various fixes via rustup?

nikomatsakis commented 6 years ago

triage: P-high

I'm bumping this up to P-high -- it affects the upcoming beta. @eddyb can you give us a status update of the LLVM bug?

nagisa commented 6 years ago

We will want to land the LLVM patch into our fork either way (we haven’t yet upgraded to our own LLVM to 5.0 yet, IIRC and this would land against 6.0 upstream).

That being said, disabling name generation in LLVM when --emit=llvm-ir is not requested, sounds like a great idea nevertheless.

nagisa commented 6 years ago

Using LLVM context configured to not retain any names brings the compilation time back to a fairly reasonable

``` Compiling num-traits v0.1.41 Compiling unicode-width v0.1.4 Compiling byte-tools v0.2.0 Compiling untrusted v0.5.1 Compiling vec_map v0.8.0 Compiling percent-encoding v1.0.1 Compiling ansi_term v0.10.2 Compiling pkg-config v0.3.9 Compiling rayon-core v1.3.0 Compiling arrayref v0.3.4 Compiling bitflags v1.0.1 Compiling itoa v0.3.4 Compiling utf8-ranges v1.0.0 Compiling scoped-tls v0.1.0 Compiling dtoa v0.4.2 Compiling matches v0.1.6 Running `/sb/d/rust/build/x86_64-unknown-linux-gnu/stage1/bin/rustc --crate-name num_traits /home/nagisa/.cargo/registry/src/github.com-1ecc6299db9ec823/num-traits-0.1.41/src/lib.rs --crate-type lib --emit=dep-info,link -C opt-level=3 -C metadata=84421a36ae353688 -C extra-filename=-84421a36ae353688 --out-dir /tmp/shadowsocks-rust/target/release/deps -L dependency=/tmp/shadowsocks-rust/target/release/deps --cap-lints allow` Running `/sb/d/rust/build/x86_64-unknown-linux-gnu/stage1/bin/rustc --crate-name unicode_width /home/nagisa/.cargo/registry/src/github.com-1ecc6299db9ec823/unicode-width-0.1.4/src/lib.rs --crate-type lib --emit=dep-info,link -C opt-level=3 --cfg 'feature="default"' -C metadata=ec82559bf62d2254 -C extra-filename=-ec82559bf62d2254 --out-dir /tmp/shadowsocks-rust/target/release/deps -L dependency=/tmp/shadowsocks-rust/target/release/deps --cap-lints allow` Running `/sb/d/rust/build/x86_64-unknown-linux-gnu/stage1/bin/rustc --crate-name byte_tools /home/nagisa/.cargo/registry/src/github.com-1ecc6299db9ec823/byte-tools-0.2.0/src/lib.rs --crate-type lib --emit=dep-info,link -C opt-level=3 -C metadata=10ffe0d41c495fdd -C extra-filename=-10ffe0d41c495fdd --out-dir /tmp/shadowsocks-rust/target/release/deps -L dependency=/tmp/shadowsocks-rust/target/release/deps --cap-lints allow` Running `/sb/d/rust/build/x86_64-unknown-linux-gnu/stage1/bin/rustc --crate-name untrusted /home/nagisa/.cargo/registry/src/github.com-1ecc6299db9ec823/untrusted-0.5.1/src/untrusted.rs --crate-type lib --emit=dep-info,link -C opt-level=3 -C metadata=2c41a5706a3a4816 -C extra-filename=-2c41a5706a3a4816 --out-dir /tmp/shadowsocks-rust/target/release/deps -L dependency=/tmp/shadowsocks-rust/target/release/deps --cap-lints allow` Running `/sb/d/rust/build/x86_64-unknown-linux-gnu/stage1/bin/rustc --crate-name vec_map /home/nagisa/.cargo/registry/src/github.com-1ecc6299db9ec823/vec_map-0.8.0/src/lib.rs --crate-type lib --emit=dep-info,link -C opt-level=3 -C metadata=e1b041af6ccdbed8 -C extra-filename=-e1b041af6ccdbed8 --out-dir /tmp/shadowsocks-rust/target/release/deps -L dependency=/tmp/shadowsocks-rust/target/release/deps --cap-lints allow` Running `/sb/d/rust/build/x86_64-unknown-linux-gnu/stage1/bin/rustc --crate-name percent_encoding /home/nagisa/.cargo/registry/src/github.com-1ecc6299db9ec823/percent-encoding-1.0.1/lib.rs --crate-type lib --emit=dep-info,link -C opt-level=3 -C metadata=8610131edee05741 -C extra-filename=-8610131edee05741 --out-dir /tmp/shadowsocks-rust/target/release/deps -L dependency=/tmp/shadowsocks-rust/target/release/deps --cap-lints allow` Running `/sb/d/rust/build/x86_64-unknown-linux-gnu/stage1/bin/rustc --crate-name ansi_term /home/nagisa/.cargo/registry/src/github.com-1ecc6299db9ec823/ansi_term-0.10.2/src/lib.rs --crate-type lib --emit=dep-info,link -C opt-level=3 -C metadata=7d5bb25a23944c7d -C extra-filename=-7d5bb25a23944c7d --out-dir /tmp/shadowsocks-rust/target/release/deps -L dependency=/tmp/shadowsocks-rust/target/release/deps --cap-lints allow` Running `/sb/d/rust/build/x86_64-unknown-linux-gnu/stage1/bin/rustc --crate-name build_script_build /home/nagisa/.cargo/registry/src/github.com-1ecc6299db9ec823/rayon-core-1.3.0/build.rs --crate-type bin --emit=dep-info,link -C opt-level=3 -C metadata=ff1b0ce26b2dd563 -C extra-filename=-ff1b0ce26b2dd563 --out-dir /tmp/shadowsocks-rust/target/release/build/rayon-core-ff1b0ce26b2dd563 -L dependency=/tmp/shadowsocks-rust/target/release/deps --cap-lints allow` Running `/sb/d/rust/build/x86_64-unknown-linux-gnu/stage1/bin/rustc --crate-name pkg_config /home/nagisa/.cargo/registry/src/github.com-1ecc6299db9ec823/pkg-config-0.3.9/src/lib.rs --crate-type lib --emit=dep-info,link -C opt-level=3 -C metadata=52ea74684a0ac56d -C extra-filename=-52ea74684a0ac56d --out-dir /tmp/shadowsocks-rust/target/release/deps -L dependency=/tmp/shadowsocks-rust/target/release/deps --cap-lints allow` Running `/sb/d/rust/build/x86_64-unknown-linux-gnu/stage1/bin/rustc --crate-name arrayref /home/nagisa/.cargo/registry/src/github.com-1ecc6299db9ec823/arrayref-0.3.4/src/lib.rs --crate-type lib --emit=dep-info,link -C opt-level=3 -C metadata=2d87a1a197925121 -C extra-filename=-2d87a1a197925121 --out-dir /tmp/shadowsocks-rust/target/release/deps -L dependency=/tmp/shadowsocks-rust/target/release/deps --cap-lints allow` Running `/sb/d/rust/build/x86_64-unknown-linux-gnu/stage1/bin/rustc --crate-name bitflags /home/nagisa/.cargo/registry/src/github.com-1ecc6299db9ec823/bitflags-1.0.1/src/lib.rs --crate-type lib --emit=dep-info,link -C opt-level=3 --cfg 'feature="default"' --cfg 'feature="example_generated"' -C metadata=9854d75d5eb5ba02 -C extra-filename=-9854d75d5eb5ba02 --out-dir /tmp/shadowsocks-rust/target/release/deps -L dependency=/tmp/shadowsocks-rust/target/release/deps --cap-lints allow` Running `/sb/d/rust/build/x86_64-unknown-linux-gnu/stage1/bin/rustc --crate-name itoa /home/nagisa/.cargo/registry/src/github.com-1ecc6299db9ec823/itoa-0.3.4/src/lib.rs --crate-type lib --emit=dep-info,link -C opt-level=3 -C metadata=6f04ce52c9820ae0 -C extra-filename=-6f04ce52c9820ae0 --out-dir /tmp/shadowsocks-rust/target/release/deps -L dependency=/tmp/shadowsocks-rust/target/release/deps --cap-lints allow` Running `/sb/d/rust/build/x86_64-unknown-linux-gnu/stage1/bin/rustc --crate-name scoped_tls /home/nagisa/.cargo/registry/src/github.com-1ecc6299db9ec823/scoped-tls-0.1.0/src/lib.rs --crate-type lib --emit=dep-info,link -C opt-level=3 -C metadata=901f4d19f6f7d2e4 -C extra-filename=-901f4d19f6f7d2e4 --out-dir /tmp/shadowsocks-rust/target/release/deps -L dependency=/tmp/shadowsocks-rust/target/release/deps --cap-lints allow` Running `/sb/d/rust/build/x86_64-unknown-linux-gnu/stage1/bin/rustc --crate-name utf8_ranges /home/nagisa/.cargo/registry/src/github.com-1ecc6299db9ec823/utf8-ranges-1.0.0/src/lib.rs --crate-type lib --emit=dep-info,link -C opt-level=3 -C metadata=26c0718e35f8bd30 -C extra-filename=-26c0718e35f8bd30 --out-dir /tmp/shadowsocks-rust/target/release/deps -L dependency=/tmp/shadowsocks-rust/target/release/deps --cap-lints allow` Running `/sb/d/rust/build/x86_64-unknown-linux-gnu/stage1/bin/rustc --crate-name dtoa /home/nagisa/.cargo/registry/src/github.com-1ecc6299db9ec823/dtoa-0.4.2/src/lib.rs --crate-type lib --emit=dep-info,link -C opt-level=3 -C metadata=afc7bb8a657c0c9c -C extra-filename=-afc7bb8a657c0c9c --out-dir /tmp/shadowsocks-rust/target/release/deps -L dependency=/tmp/shadowsocks-rust/target/release/deps --cap-lints allow` Running `/sb/d/rust/build/x86_64-unknown-linux-gnu/stage1/bin/rustc --crate-name matches /home/nagisa/.cargo/registry/src/github.com-1ecc6299db9ec823/matches-0.1.6/lib.rs --crate-type lib --emit=dep-info,link -C opt-level=3 -C metadata=7ab4c84bc15de2dc -C extra-filename=-7ab4c84bc15de2dc --out-dir /tmp/shadowsocks-rust/target/release/deps -L dependency=/tmp/shadowsocks-rust/target/release/deps --cap-lints allow` Compiling regex-syntax v0.4.1 Running `/sb/d/rust/build/x86_64-unknown-linux-gnu/stage1/bin/rustc --crate-name regex_syntax /home/nagisa/.cargo/registry/src/github.com-1ecc6299db9ec823/regex-syntax-0.4.1/src/lib.rs --crate-type lib --emit=dep-info,link -C opt-level=3 -C metadata=98d6a2e3311fd90d -C extra-filename=-98d6a2e3311fd90d --out-dir /tmp/shadowsocks-rust/target/release/deps -L dependency=/tmp/shadowsocks-rust/target/release/deps --cap-lints allow` Compiling openssl v0.9.22 Running `/sb/d/rust/build/x86_64-unknown-linux-gnu/stage1/bin/rustc --crate-name build_script_build /home/nagisa/.cargo/registry/src/github.com-1ecc6299db9ec823/openssl-0.9.22/build.rs --crate-type bin --emit=dep-info,link -C opt-level=3 -C metadata=acedba966281e9ad -C extra-filename=-acedba966281e9ad --out-dir /tmp/shadowsocks-rust/target/release/build/openssl-acedba966281e9ad -L dependency=/tmp/shadowsocks-rust/target/release/deps --cap-lints allow` Compiling byteorder v1.2.1 Running `/sb/d/rust/build/x86_64-unknown-linux-gnu/stage1/bin/rustc --crate-name byteorder /home/nagisa/.cargo/registry/src/github.com-1ecc6299db9ec823/byteorder-1.2.1/src/lib.rs --crate-type lib --emit=dep-info,link -C opt-level=3 --cfg 'feature="default"' --cfg 'feature="std"' -C metadata=e988d2f6a69b2f3c -C extra-filename=-e988d2f6a69b2f3c --out-dir /tmp/shadowsocks-rust/target/release/deps -L dependency=/tmp/shadowsocks-rust/target/release/deps --cap-lints allow` Compiling gcc v0.3.54 Running `/sb/d/rust/build/x86_64-unknown-linux-gnu/stage1/bin/rustc --crate-name gcc /home/nagisa/.cargo/registry/src/github.com-1ecc6299db9ec823/gcc-0.3.54/src/lib.rs --crate-type lib --emit=dep-info,link -C opt-level=3 -C metadata=d95417a1b856c3f4 -C extra-filename=-d95417a1b856c3f4 --out-dir /tmp/shadowsocks-rust/target/release/deps -L dependency=/tmp/shadowsocks-rust/target/release/deps --cap-lints allow` Compiling qrcode v0.4.0 Running `/sb/d/rust/build/x86_64-unknown-linux-gnu/stage1/bin/rustc --crate-name qrcode /home/nagisa/.cargo/registry/src/github.com-1ecc6299db9ec823/qrcode-0.4.0/src/lib.rs --crate-type lib --emit=dep-info,link -C opt-level=3 -C metadata=ecd2cb6be5f9d7b4 -C extra-filename=-ecd2cb6be5f9d7b4 --out-dir /tmp/shadowsocks-rust/target/release/deps -L dependency=/tmp/shadowsocks-rust/target/release/deps --cap-lints allow` Compiling libc v0.2.34 Running `/sb/d/rust/build/x86_64-unknown-linux-gnu/stage1/bin/rustc --crate-name libc /home/nagisa/.cargo/registry/src/github.com-1ecc6299db9ec823/libc-0.2.34/src/lib.rs --crate-type lib --emit=dep-info,link -C opt-level=3 --cfg 'feature="default"' --cfg 'feature="use_std"' -C metadata=c100df01d157afe5 -C extra-filename=-c100df01d157afe5 --out-dir /tmp/shadowsocks-rust/target/release/deps -L dependency=/tmp/shadowsocks-rust/target/release/deps --cap-lints allow` Compiling void v1.0.2 Running `/sb/d/rust/build/x86_64-unknown-linux-gnu/stage1/bin/rustc --crate-name void /home/nagisa/.cargo/registry/src/github.com-1ecc6299db9ec823/void-1.0.2/src/lib.rs --crate-type lib --emit=dep-info,link -C opt-level=3 -C metadata=6cb666e0572a664f -C extra-filename=-6cb666e0572a664f --out-dir /tmp/shadowsocks-rust/target/release/deps -L dependency=/tmp/shadowsocks-rust/target/release/deps --cap-lints allow` Compiling either v1.4.0 Running `/sb/d/rust/build/x86_64-unknown-linux-gnu/stage1/bin/rustc --crate-name either /home/nagisa/.cargo/registry/src/github.com-1ecc6299db9ec823/either-1.4.0/src/lib.rs --crate-type lib --emit=dep-info,link -C opt-level=3 --cfg 'feature="default"' --cfg 'feature="use_std"' -C metadata=92183bf109565bea -C extra-filename=-92183bf109565bea --out-dir /tmp/shadowsocks-rust/target/release/deps -L dependency=/tmp/shadowsocks-rust/target/release/deps --cap-lints allow` Compiling cfg-if v0.1.2 Running `/sb/d/rust/build/x86_64-unknown-linux-gnu/stage1/bin/rustc --crate-name cfg_if /home/nagisa/.cargo/registry/src/github.com-1ecc6299db9ec823/cfg-if-0.1.2/src/lib.rs --crate-type lib --emit=dep-info,link -C opt-level=3 -C metadata=599f22a8a1c04a4a -C extra-filename=-599f22a8a1c04a4a --out-dir /tmp/shadowsocks-rust/target/release/deps -L dependency=/tmp/shadowsocks-rust/target/release/deps --cap-lints allow` Compiling futures v0.1.17 Running `/sb/d/rust/build/x86_64-unknown-linux-gnu/stage1/bin/rustc --crate-name futures /home/nagisa/.cargo/registry/src/github.com-1ecc6299db9ec823/futures-0.1.17/src/lib.rs --crate-type lib --emit=dep-info,link -C opt-level=3 --cfg 'feature="default"' --cfg 'feature="use_std"' --cfg 'feature="with-deprecated"' -C metadata=887a78df9937843a -C extra-filename=-887a78df9937843a --out-dir /tmp/shadowsocks-rust/target/release/deps -L dependency=/tmp/shadowsocks-rust/target/release/deps --cap-lints allow` Compiling typenum v1.9.0 Running `/sb/d/rust/build/x86_64-unknown-linux-gnu/stage1/bin/rustc --crate-name build_script_main /home/nagisa/.cargo/registry/src/github.com-1ecc6299db9ec823/typenum-1.9.0/build/main.rs --crate-type bin --emit=dep-info,link -C opt-level=3 -C metadata=67bad57930c74d5b -C extra-filename=-67bad57930c74d5b --out-dir /tmp/shadowsocks-rust/target/release/build/typenum-67bad57930c74d5b -L dependency=/tmp/shadowsocks-rust/target/release/deps --cap-lints allow` Compiling foreign-types-shared v0.1.1 Running `/sb/d/rust/build/x86_64-unknown-linux-gnu/stage1/bin/rustc --crate-name foreign_types_shared /home/nagisa/.cargo/registry/src/github.com-1ecc6299db9ec823/foreign-types-shared-0.1.1/src/lib.rs --crate-type lib --emit=dep-info,link -C opt-level=3 -C metadata=28e57635316923ef -C extra-filename=-28e57635316923ef --out-dir /tmp/shadowsocks-rust/target/release/deps -L dependency=/tmp/shadowsocks-rust/target/release/deps --cap-lints allow` Compiling scopeguard v0.3.3 Running `/sb/d/rust/build/x86_64-unknown-linux-gnu/stage1/bin/rustc --crate-name scopeguard /home/nagisa/.cargo/registry/src/github.com-1ecc6299db9ec823/scopeguard-0.3.3/src/lib.rs --crate-type lib --emit=dep-info,link -C opt-level=3 --cfg 'feature="default"' --cfg 'feature="use_std"' -C metadata=e5971820c9484b79 -C extra-filename=-e5971820c9484b79 --out-dir /tmp/shadowsocks-rust/target/release/deps -L dependency=/tmp/shadowsocks-rust/target/release/deps --cap-lints allow` Compiling byte_string v1.0.0 Compiling slab v0.3.0 Running `/sb/d/rust/build/x86_64-unknown-linux-gnu/stage1/bin/rustc --crate-name slab /home/nagisa/.cargo/registry/src/github.com-1ecc6299db9ec823/slab-0.3.0/src/lib.rs --crate-type lib --emit=dep-info,link -C opt-level=3 -C metadata=2261768919d73df1 -C extra-filename=-2261768919d73df1 --out-dir /tmp/shadowsocks-rust/target/release/deps -L dependency=/tmp/shadowsocks-rust/target/release/deps --cap-lints allow` Compiling strsim v0.6.0 Running `/sb/d/rust/build/x86_64-unknown-linux-gnu/stage1/bin/rustc --crate-name byte_string /home/nagisa/.cargo/registry/src/github.com-1ecc6299db9ec823/byte_string-1.0.0/src/lib.rs --crate-type lib --emit=dep-info,link -C opt-level=3 -C metadata=6dd1e5b5cde0b4c8 -C extra-filename=-6dd1e5b5cde0b4c8 --out-dir /tmp/shadowsocks-rust/target/release/deps -L dependency=/tmp/shadowsocks-rust/target/release/deps --cap-lints allow` Running `/sb/d/rust/build/x86_64-unknown-linux-gnu/stage1/bin/rustc --crate-name strsim /home/nagisa/.cargo/registry/src/github.com-1ecc6299db9ec823/strsim-0.6.0/src/lib.rs --crate-type lib --emit=dep-info,link -C opt-level=3 -C metadata=92775543e4a7f2ff -C extra-filename=-92775543e4a7f2ff --out-dir /tmp/shadowsocks-rust/target/release/deps -L dependency=/tmp/shadowsocks-rust/target/release/deps --cap-lints allow` Compiling unicode-normalization v0.1.5 Running `/sb/d/rust/build/x86_64-unknown-linux-gnu/stage1/bin/rustc --crate-name unicode_normalization /home/nagisa/.cargo/registry/src/github.com-1ecc6299db9ec823/unicode-normalization-0.1.5/src/lib.rs --crate-type lib --emit=dep-info,link -C opt-level=3 -C metadata=389b46939f9e931e -C extra-filename=-389b46939f9e931e --out-dir /tmp/shadowsocks-rust/target/release/deps -L dependency=/tmp/shadowsocks-rust/target/release/deps --cap-lints allow` Compiling cc v1.0.3 Running `/sb/d/rust/build/x86_64-unknown-linux-gnu/stage1/bin/rustc --crate-name cc /home/nagisa/.cargo/registry/src/github.com-1ecc6299db9ec823/cc-1.0.3/src/lib.rs --crate-type lib --emit=dep-info,link -C opt-level=3 -C metadata=31b14a17f45b6bc2 -C extra-filename=-31b14a17f45b6bc2 --out-dir /tmp/shadowsocks-rust/target/release/deps -L dependency=/tmp/shadowsocks-rust/target/release/deps --cap-lints allow` Compiling nodrop v0.1.12 Running `/sb/d/rust/build/x86_64-unknown-linux-gnu/stage1/bin/rustc --crate-name nodrop /home/nagisa/.cargo/registry/src/github.com-1ecc6299db9ec823/nodrop-0.1.12/src/lib.rs --crate-type lib --emit=dep-info,link -C opt-level=3 -C metadata=50d3a0269a0363ad -C extra-filename=-50d3a0269a0363ad --out-dir /tmp/shadowsocks-rust/target/release/deps -L dependency=/tmp/shadowsocks-rust/target/release/deps --cap-lints allow` Compiling lazy_static v0.2.11 Running `/sb/d/rust/build/x86_64-unknown-linux-gnu/stage1/bin/rustc --crate-name lazy_static /home/nagisa/.cargo/registry/src/github.com-1ecc6299db9ec823/lazy_static-0.2.11/src/lib.rs --crate-type lib --emit=dep-info,link -C opt-level=3 -C metadata=21e987f4be5bdaf7 -C extra-filename=-21e987f4be5bdaf7 --out-dir /tmp/shadowsocks-rust/target/release/deps -L dependency=/tmp/shadowsocks-rust/target/release/deps --cap-lints allow` Compiling safemem v0.2.0 Running `/sb/d/rust/build/x86_64-unknown-linux-gnu/stage1/bin/rustc --crate-name safemem /home/nagisa/.cargo/registry/src/github.com-1ecc6299db9ec823/safemem-0.2.0/src/lib.rs --crate-type lib --emit=dep-info,link -C opt-level=3 -C metadata=90e8673d01eb8bef -C extra-filename=-90e8673d01eb8bef --out-dir /tmp/shadowsocks-rust/target/release/deps -L dependency=/tmp/shadowsocks-rust/target/release/deps --cap-lints allow` Compiling bitflags v0.9.1 Running `/sb/d/rust/build/x86_64-unknown-linux-gnu/stage1/bin/rustc --crate-name bitflags /home/nagisa/.cargo/registry/src/github.com-1ecc6299db9ec823/bitflags-0.9.1/src/lib.rs --crate-type lib --emit=dep-info,link -C opt-level=3 --cfg 'feature="default"' --cfg 'feature="example_generated"' -C metadata=8630009f8fa93f4f -C extra-filename=-8630009f8fa93f4f --out-dir /tmp/shadowsocks-rust/target/release/deps -L dependency=/tmp/shadowsocks-rust/target/release/deps --cap-lints allow` Compiling serde v1.0.23 Running `/sb/d/rust/build/x86_64-unknown-linux-gnu/stage1/bin/rustc --crate-name serde /home/nagisa/.cargo/registry/src/github.com-1ecc6299db9ec823/serde-1.0.23/src/lib.rs --crate-type lib --emit=dep-info,link -C opt-level=3 --cfg 'feature="default"' --cfg 'feature="std"' -C metadata=90be96b9f7b7bd25 -C extra-filename=-90be96b9f7b7bd25 --out-dir /tmp/shadowsocks-rust/target/release/deps -L dependency=/tmp/shadowsocks-rust/target/release/deps --cap-lints allow` Compiling log v0.3.8 Running `/sb/d/rust/build/x86_64-unknown-linux-gnu/stage1/bin/rustc --crate-name log /home/nagisa/.cargo/registry/src/github.com-1ecc6299db9ec823/log-0.3.8/src/lib.rs --crate-type lib --emit=dep-info,link -C opt-level=3 --cfg 'feature="default"' --cfg 'feature="use_std"' -C metadata=135a6fd754b72b2c -C extra-filename=-135a6fd754b72b2c --out-dir /tmp/shadowsocks-rust/target/release/deps -L dependency=/tmp/shadowsocks-rust/target/release/deps --cap-lints allow` Compiling lazycell v0.5.1 Running `/sb/d/rust/build/x86_64-unknown-linux-gnu/stage1/bin/rustc --crate-name lazycell /home/nagisa/.cargo/registry/src/github.com-1ecc6299db9ec823/lazycell-0.5.1/src/lib.rs --crate-type lib --emit=dep-info,link -C opt-level=3 -C metadata=61fe073dba480197 -C extra-filename=-61fe073dba480197 --out-dir /tmp/shadowsocks-rust/target/release/deps -L dependency=/tmp/shadowsocks-rust/target/release/deps --cap-lints allow` Compiling slab v0.4.0 Running `/sb/d/rust/build/x86_64-unknown-linux-gnu/stage1/bin/rustc --crate-name slab /home/nagisa/.cargo/registry/src/github.com-1ecc6299db9ec823/slab-0.4.0/src/lib.rs --crate-type lib --emit=dep-info,link -C opt-level=3 -C metadata=1287dd479a35c0e1 -C extra-filename=-1287dd479a35c0e1 --out-dir /tmp/shadowsocks-rust/target/release/deps -L dependency=/tmp/shadowsocks-rust/target/release/deps --cap-lints allow` Compiling textwrap v0.9.0 Running `/sb/d/rust/build/x86_64-unknown-linux-gnu/stage1/bin/rustc --crate-name textwrap /home/nagisa/.cargo/registry/src/github.com-1ecc6299db9ec823/textwrap-0.9.0/src/lib.rs --crate-type lib --emit=dep-info,link -C opt-level=3 -C metadata=0c8cb2f769864bb2 -C extra-filename=-0c8cb2f769864bb2 --out-dir /tmp/shadowsocks-rust/target/release/deps -L dependency=/tmp/shadowsocks-rust/target/release/deps --extern unicode_width=/tmp/shadowsocks-rust/target/release/deps/libunicode_width-ec82559bf62d2254.rlib --cap-lints allow` Compiling unicode-bidi v0.3.4 Running `/sb/d/rust/build/x86_64-unknown-linux-gnu/stage1/bin/rustc --crate-name unicode_bidi /home/nagisa/.cargo/registry/src/github.com-1ecc6299db9ec823/unicode-bidi-0.3.4/src/lib.rs --crate-type lib --emit=dep-info,link -C opt-level=3 --cfg 'feature="default"' -C metadata=41190b487ea24b2f -C extra-filename=-41190b487ea24b2f --out-dir /tmp/shadowsocks-rust/target/release/deps -L dependency=/tmp/shadowsocks-rust/target/release/deps --extern matches=/tmp/shadowsocks-rust/target/release/deps/libmatches-7ab4c84bc15de2dc.rlib --cap-lints allow` Compiling block-buffer v0.3.3 Running `/sb/d/rust/build/x86_64-unknown-linux-gnu/stage1/bin/rustc --crate-name block_buffer /home/nagisa/.cargo/registry/src/github.com-1ecc6299db9ec823/block-buffer-0.3.3/src/lib.rs --crate-type lib --emit=dep-info,link -C opt-level=3 -C metadata=3447b6e531634135 -C extra-filename=-3447b6e531634135 --out-dir /tmp/shadowsocks-rust/target/release/deps -L dependency=/tmp/shadowsocks-rust/target/release/deps --extern byte_tools=/tmp/shadowsocks-rust/target/release/deps/libbyte_tools-10ffe0d41c495fdd.rlib --extern arrayref=/tmp/shadowsocks-rust/target/release/deps/libarrayref-2d87a1a197925121.rlib --cap-lints allow` Compiling unreachable v1.0.0 Running `/sb/d/rust/build/x86_64-unknown-linux-gnu/stage1/bin/rustc --crate-name unreachable /home/nagisa/.cargo/registry/src/github.com-1ecc6299db9ec823/unreachable-1.0.0/src/lib.rs --crate-type lib --emit=dep-info,link -C opt-level=3 -C metadata=8a510302b29541a7 -C extra-filename=-8a510302b29541a7 --out-dir /tmp/shadowsocks-rust/target/release/deps -L dependency=/tmp/shadowsocks-rust/target/release/deps --extern void=/tmp/shadowsocks-rust/target/release/deps/libvoid-6cb666e0572a664f.rlib --cap-lints allow` Running `/tmp/shadowsocks-rust/target/release/build/rayon-core-ff1b0ce26b2dd563/build-script-build` Compiling foreign-types v0.3.2 Running `/sb/d/rust/build/x86_64-unknown-linux-gnu/stage1/bin/rustc --crate-name foreign_types /home/nagisa/.cargo/registry/src/github.com-1ecc6299db9ec823/foreign-types-0.3.2/src/lib.rs --crate-type lib --emit=dep-info,link -C opt-level=3 -C metadata=fd6eac128f2178ca -C extra-filename=-fd6eac128f2178ca --out-dir /tmp/shadowsocks-rust/target/release/deps -L dependency=/tmp/shadowsocks-rust/target/release/deps --extern foreign_types_shared=/tmp/shadowsocks-rust/target/release/deps/libforeign_types_shared-28e57635316923ef.rlib --cap-lints allow` Compiling coco v0.1.1 Compiling net2 v0.2.31 Running `/sb/d/rust/build/x86_64-unknown-linux-gnu/stage1/bin/rustc --crate-name coco /home/nagisa/.cargo/registry/src/github.com-1ecc6299db9ec823/coco-0.1.1/src/lib.rs --crate-type lib --emit=dep-info,link -C opt-level=3 -C metadata=cb22e69695a1d6a5 -C extra-filename=-cb22e69695a1d6a5 --out-dir /tmp/shadowsocks-rust/target/release/deps -L dependency=/tmp/shadowsocks-rust/target/release/deps --extern either=/tmp/shadowsocks-rust/target/release/deps/libeither-92183bf109565bea.rlib --extern scopeguard=/tmp/shadowsocks-rust/target/release/deps/libscopeguard-e5971820c9484b79.rlib --cap-lints allow` Running `/sb/d/rust/build/x86_64-unknown-linux-gnu/stage1/bin/rustc --crate-name net2 /home/nagisa/.cargo/registry/src/github.com-1ecc6299db9ec823/net2-0.2.31/src/lib.rs --crate-type lib --emit=dep-info,link -C opt-level=3 --cfg 'feature="default"' --cfg 'feature="duration"' -C metadata=47145c16f72184b3 -C extra-filename=-47145c16f72184b3 --out-dir /tmp/shadowsocks-rust/target/release/deps -L dependency=/tmp/shadowsocks-rust/target/release/deps --extern cfg_if=/tmp/shadowsocks-rust/target/release/deps/libcfg_if-599f22a8a1c04a4a.rlib --extern libc=/tmp/shadowsocks-rust/target/release/deps/liblibc-c100df01d157afe5.rlib --cap-lints allow` Compiling rand v0.3.18 Running `/sb/d/rust/build/x86_64-unknown-linux-gnu/stage1/bin/rustc --crate-name rand /home/nagisa/.cargo/registry/src/github.com-1ecc6299db9ec823/rand-0.3.18/src/lib.rs --crate-type lib --emit=dep-info,link -C opt-level=3 -C metadata=c6c254e397d5d7fe -C extra-filename=-c6c254e397d5d7fe --out-dir /tmp/shadowsocks-rust/target/release/deps -L dependency=/tmp/shadowsocks-rust/target/release/deps --extern libc=/tmp/shadowsocks-rust/target/release/deps/liblibc-c100df01d157afe5.rlib --cap-lints allow` Compiling subprocess v0.1.12 Running `/sb/d/rust/build/x86_64-unknown-linux-gnu/stage1/bin/rustc --crate-name subprocess /home/nagisa/.cargo/registry/src/github.com-1ecc6299db9ec823/subprocess-0.1.12/src/lib.rs --crate-type lib --emit=dep-info,link -C opt-level=3 -C metadata=b108bc229820c3c7 -C extra-filename=-b108bc229820c3c7 --out-dir /tmp/shadowsocks-rust/target/release/deps -L dependency=/tmp/shadowsocks-rust/target/release/deps --extern libc=/tmp/shadowsocks-rust/target/release/deps/liblibc-c100df01d157afe5.rlib --cap-lints allow` Compiling atty v0.2.3 Running `/sb/d/rust/build/x86_64-unknown-linux-gnu/stage1/bin/rustc --crate-name atty /home/nagisa/.cargo/registry/src/github.com-1ecc6299db9ec823/atty-0.2.3/src/lib.rs --crate-type lib --emit=dep-info,link -C opt-level=3 -C metadata=043bbbee967c1ee1 -C extra-filename=-043bbbee967c1ee1 --out-dir /tmp/shadowsocks-rust/target/release/deps -L dependency=/tmp/shadowsocks-rust/target/release/deps --extern libc=/tmp/shadowsocks-rust/target/release/deps/liblibc-c100df01d157afe5.rlib --cap-lints allow` Compiling num_cpus v1.7.0 Running `/sb/d/rust/build/x86_64-unknown-linux-gnu/stage1/bin/rustc --crate-name num_cpus /home/nagisa/.cargo/registry/src/github.com-1ecc6299db9ec823/num_cpus-1.7.0/src/lib.rs --crate-type lib --emit=dep-info,link -C opt-level=3 -C metadata=ed8a1ea85d3d7a13 -C extra-filename=-ed8a1ea85d3d7a13 --out-dir /tmp/shadowsocks-rust/target/release/deps -L dependency=/tmp/shadowsocks-rust/target/release/deps --extern libc=/tmp/shadowsocks-rust/target/release/deps/liblibc-c100df01d157afe5.rlib --cap-lints allow` Compiling iovec v0.1.1 Running `/sb/d/rust/build/x86_64-unknown-linux-gnu/stage1/bin/rustc --crate-name iovec /home/nagisa/.cargo/registry/src/github.com-1ecc6299db9ec823/iovec-0.1.1/src/lib.rs --crate-type lib --emit=dep-info,link -C opt-level=3 -C metadata=3f138f227c97e540 -C extra-filename=-3f138f227c97e540 --out-dir /tmp/shadowsocks-rust/target/release/deps -L dependency=/tmp/shadowsocks-rust/target/release/deps --extern libc=/tmp/shadowsocks-rust/target/release/deps/liblibc-c100df01d157afe5.rlib --cap-lints allow` Compiling time v0.1.38 Running `/sb/d/rust/build/x86_64-unknown-linux-gnu/stage1/bin/rustc --crate-name time /home/nagisa/.cargo/registry/src/github.com-1ecc6299db9ec823/time-0.1.38/src/lib.rs --crate-type lib --emit=dep-info,link -C opt-level=3 -C metadata=b597a16ea20d29a6 -C extra-filename=-b597a16ea20d29a6 --out-dir /tmp/shadowsocks-rust/target/release/deps -L dependency=/tmp/shadowsocks-rust/target/release/deps --extern libc=/tmp/shadowsocks-rust/target/release/deps/liblibc-c100df01d157afe5.rlib --cap-lints allow` Compiling memchr v2.0.1 Running `/sb/d/rust/build/x86_64-unknown-linux-gnu/stage1/bin/rustc --crate-name memchr /home/nagisa/.cargo/registry/src/github.com-1ecc6299db9ec823/memchr-2.0.1/src/lib.rs --crate-type lib --emit=dep-info,link -C opt-level=3 --cfg 'feature="default"' --cfg 'feature="libc"' --cfg 'feature="use_std"' -C metadata=975b5e366434ede6 -C extra-filename=-975b5e366434ede6 --out-dir /tmp/shadowsocks-rust/target/release/deps -L dependency=/tmp/shadowsocks-rust/target/release/deps --extern libc=/tmp/shadowsocks-rust/target/release/deps/liblibc-c100df01d157afe5.rlib --cap-lints allow` Compiling base64 v0.6.0 Running `/sb/d/rust/build/x86_64-unknown-linux-gnu/stage1/bin/rustc --crate-name base64 /home/nagisa/.cargo/registry/src/github.com-1ecc6299db9ec823/base64-0.6.0/src/lib.rs --crate-type lib --emit=dep-info,link -C opt-level=3 -C metadata=e6b70ef6c11a69f2 -C extra-filename=-e6b70ef6c11a69f2 --out-dir /tmp/shadowsocks-rust/target/release/deps -L dependency=/tmp/shadowsocks-rust/target/release/deps --extern safemem=/tmp/shadowsocks-rust/target/release/deps/libsafemem-90e8673d01eb8bef.rlib --extern byteorder=/tmp/shadowsocks-rust/target/release/deps/libbyteorder-e988d2f6a69b2f3c.rlib --cap-lints allow` Compiling libsodium-ffi v0.1.9 Running `/sb/d/rust/build/x86_64-unknown-linux-gnu/stage1/bin/rustc --crate-name build_script_build /home/nagisa/.cargo/registry/src/github.com-1ecc6299db9ec823/libsodium-ffi-0.1.9/build.rs --crate-type bin --emit=dep-info,link -C opt-level=3 -C metadata=c252bf4b8e79de13 -C extra-filename=-c252bf4b8e79de13 --out-dir /tmp/shadowsocks-rust/target/release/build/libsodium-ffi-c252bf4b8e79de13 -L dependency=/tmp/shadowsocks-rust/target/release/deps --extern pkg_config=/tmp/shadowsocks-rust/target/release/deps/libpkg_config-52ea74684a0ac56d.rlib --cap-lints allow` Compiling thread_local v0.3.4 Running `/sb/d/rust/build/x86_64-unknown-linux-gnu/stage1/bin/rustc --crate-name thread_local /home/nagisa/.cargo/registry/src/github.com-1ecc6299db9ec823/thread_local-0.3.4/src/lib.rs --crate-type lib --emit=dep-info,link -C opt-level=3 -C metadata=893232cdacabed12 -C extra-filename=-893232cdacabed12 --out-dir /tmp/shadowsocks-rust/target/release/deps -L dependency=/tmp/shadowsocks-rust/target/release/deps --extern unreachable=/tmp/shadowsocks-rust/target/release/deps/libunreachable-8a510302b29541a7.rlib --extern lazy_static=/tmp/shadowsocks-rust/target/release/deps/liblazy_static-21e987f4be5bdaf7.rlib --cap-lints allow` Compiling clap v2.28.0 Running `/sb/d/rust/build/x86_64-unknown-linux-gnu/stage1/bin/rustc --crate-name clap /home/nagisa/.cargo/registry/src/github.com-1ecc6299db9ec823/clap-2.28.0/src/lib.rs --crate-type lib --emit=dep-info,link -C opt-level=3 --cfg 'feature="ansi_term"' --cfg 'feature="atty"' --cfg 'feature="color"' --cfg 'feature="default"' --cfg 'feature="strsim"' --cfg 'feature="suggestions"' --cfg 'feature="vec_map"' -C metadata=235aad276dabfc9b -C extra-filename=-235aad276dabfc9b --out-dir /tmp/shadowsocks-rust/target/release/deps -L dependency=/tmp/shadowsocks-rust/target/release/deps --extern ansi_term=/tmp/shadowsocks-rust/target/release/deps/libansi_term-7d5bb25a23944c7d.rlib --extern bitflags=/tmp/shadowsocks-rust/target/release/deps/libbitflags-9854d75d5eb5ba02.rlib --extern atty=/tmp/shadowsocks-rust/target/release/deps/libatty-043bbbee967c1ee1.rlib --extern textwrap=/tmp/shadowsocks-rust/target/release/deps/libtextwrap-0c8cb2f769864bb2.rlib --extern strsim=/tmp/shadowsocks-rust/target/release/deps/libstrsim-92775543e4a7f2ff.rlib --extern vec_map=/tmp/shadowsocks-rust/target/release/deps/libvec_map-e1b041af6ccdbed8.rlib --extern unicode_width=/tmp/shadowsocks-rust/target/release/deps/libunicode_width-ec82559bf62d2254.rlib --cap-lints allow` Running `/tmp/shadowsocks-rust/target/release/build/typenum-67bad57930c74d5b/build-script-main` Compiling mio v0.6.11 Running `/sb/d/rust/build/x86_64-unknown-linux-gnu/stage1/bin/rustc --crate-name mio /home/nagisa/.cargo/registry/src/github.com-1ecc6299db9ec823/mio-0.6.11/src/lib.rs --crate-type lib --emit=dep-info,link -C opt-level=3 --cfg 'feature="default"' --cfg 'feature="with-deprecated"' -C metadata=e09763bcbede75c1 -C extra-filename=-e09763bcbede75c1 --out-dir /tmp/shadowsocks-rust/target/release/deps -L dependency=/tmp/shadowsocks-rust/target/release/deps --extern libc=/tmp/shadowsocks-rust/target/release/deps/liblibc-c100df01d157afe5.rlib --extern lazycell=/tmp/shadowsocks-rust/target/release/deps/liblazycell-61fe073dba480197.rlib --extern slab=/tmp/shadowsocks-rust/target/release/deps/libslab-2261768919d73df1.rlib --extern net2=/tmp/shadowsocks-rust/target/release/deps/libnet2-47145c16f72184b3.rlib --extern iovec=/tmp/shadowsocks-rust/target/release/deps/libiovec-3f138f227c97e540.rlib --extern log=/tmp/shadowsocks-rust/target/release/deps/liblog-135a6fd754b72b2c.rlib --cap-lints allow` Compiling bytes v0.4.5 Running `/sb/d/rust/build/x86_64-unknown-linux-gnu/stage1/bin/rustc --crate-name bytes /home/nagisa/.cargo/registry/src/github.com-1ecc6299db9ec823/bytes-0.4.5/src/lib.rs --crate-type lib --emit=dep-info,link -C opt-level=3 -C metadata=bacf04505d555b88 -C extra-filename=-bacf04505d555b88 --out-dir /tmp/shadowsocks-rust/target/release/deps -L dependency=/tmp/shadowsocks-rust/target/release/deps --extern byteorder=/tmp/shadowsocks-rust/target/release/deps/libbyteorder-e988d2f6a69b2f3c.rlib --extern iovec=/tmp/shadowsocks-rust/target/release/deps/libiovec-3f138f227c97e540.rlib --cap-lints allow` Compiling futures-cpupool v0.1.7 Running `/sb/d/rust/build/x86_64-unknown-linux-gnu/stage1/bin/rustc --crate-name futures_cpupool /home/nagisa/.cargo/registry/src/github.com-1ecc6299db9ec823/futures-cpupool-0.1.7/src/lib.rs --crate-type lib --emit=dep-info,link -C opt-level=3 --cfg 'feature="default"' --cfg 'feature="futures"' --cfg 'feature="with-deprecated"' -C metadata=08df12b5058f40f0 -C extra-filename=-08df12b5058f40f0 --out-dir /tmp/shadowsocks-rust/target/release/deps -L dependency=/tmp/shadowsocks-rust/target/release/deps --extern num_cpus=/tmp/shadowsocks-rust/target/release/deps/libnum_cpus-ed8a1ea85d3d7a13.rlib --extern futures=/tmp/shadowsocks-rust/target/release/deps/libfutures-887a78df9937843a.rlib --cap-lints allow` Compiling idna v0.1.4 Running `/sb/d/rust/build/x86_64-unknown-linux-gnu/stage1/bin/rustc --crate-name idna /home/nagisa/.cargo/registry/src/github.com-1ecc6299db9ec823/idna-0.1.4/src/lib.rs --crate-type lib --emit=dep-info,link -C opt-level=3 -C metadata=305ec7b976e74223 -C extra-filename=-305ec7b976e74223 --out-dir /tmp/shadowsocks-rust/target/release/deps -L dependency=/tmp/shadowsocks-rust/target/release/deps --extern matches=/tmp/shadowsocks-rust/target/release/deps/libmatches-7ab4c84bc15de2dc.rlib --extern unicode_bidi=/tmp/shadowsocks-rust/target/release/deps/libunicode_bidi-41190b487ea24b2f.rlib --extern unicode_normalization=/tmp/shadowsocks-rust/target/release/deps/libunicode_normalization-389b46939f9e931e.rlib --cap-lints allow` Running `/sb/d/rust/build/x86_64-unknown-linux-gnu/stage1/bin/rustc --crate-name rayon_core /home/nagisa/.cargo/registry/src/github.com-1ecc6299db9ec823/rayon-core-1.3.0/src/lib.rs --crate-type lib --emit=dep-info,link -C opt-level=3 -C metadata=9571198b3b95ee6a -C extra-filename=-9571198b3b95ee6a --out-dir /tmp/shadowsocks-rust/target/release/deps -L dependency=/tmp/shadowsocks-rust/target/release/deps --extern num_cpus=/tmp/shadowsocks-rust/target/release/deps/libnum_cpus-ed8a1ea85d3d7a13.rlib --extern libc=/tmp/shadowsocks-rust/target/release/deps/liblibc-c100df01d157afe5.rlib --extern coco=/tmp/shadowsocks-rust/target/release/deps/libcoco-cb22e69695a1d6a5.rlib --extern lazy_static=/tmp/shadowsocks-rust/target/release/deps/liblazy_static-21e987f4be5bdaf7.rlib --extern rand=/tmp/shadowsocks-rust/target/release/deps/librand-c6c254e397d5d7fe.rlib --cap-lints allow` Running `/sb/d/rust/build/x86_64-unknown-linux-gnu/stage1/bin/rustc --crate-name typenum /home/nagisa/.cargo/registry/src/github.com-1ecc6299db9ec823/typenum-1.9.0/src/lib.rs --crate-type lib --emit=dep-info,link -C opt-level=3 -C metadata=8a9986b23f8c2e7b -C extra-filename=-8a9986b23f8c2e7b --out-dir /tmp/shadowsocks-rust/target/release/deps -L dependency=/tmp/shadowsocks-rust/target/release/deps --cap-lints allow` Compiling aho-corasick v0.6.4 Running `/sb/d/rust/build/x86_64-unknown-linux-gnu/stage1/bin/rustc --crate-name aho_corasick /home/nagisa/.cargo/registry/src/github.com-1ecc6299db9ec823/aho-corasick-0.6.4/src/lib.rs --crate-type lib --emit=dep-info,link -C opt-level=3 -C metadata=211a0a12920fa620 -C extra-filename=-211a0a12920fa620 --out-dir /tmp/shadowsocks-rust/target/release/deps -L dependency=/tmp/shadowsocks-rust/target/release/deps --extern memchr=/tmp/shadowsocks-rust/target/release/deps/libmemchr-975b5e366434ede6.rlib --cap-lints allow` Compiling openssl-sys v0.9.22 Running `/sb/d/rust/build/x86_64-unknown-linux-gnu/stage1/bin/rustc --crate-name build_script_build /home/nagisa/.cargo/registry/src/github.com-1ecc6299db9ec823/openssl-sys-0.9.22/build.rs --crate-type bin --emit=dep-info,link -C opt-level=3 -C metadata=c0cdc3f23448badc -C extra-filename=-c0cdc3f23448badc --out-dir /tmp/shadowsocks-rust/target/release/build/openssl-sys-c0cdc3f23448badc -L dependency=/tmp/shadowsocks-rust/target/release/deps --extern pkg_config=/tmp/shadowsocks-rust/target/release/deps/libpkg_config-52ea74684a0ac56d.rlib --extern cc=/tmp/shadowsocks-rust/target/release/deps/libcc-31b14a17f45b6bc2.rlib --cap-lints allow` Running `/tmp/shadowsocks-rust/target/release/build/libsodium-ffi-c252bf4b8e79de13/build-script-build` Compiling tokio-io v0.1.4 Running `/sb/d/rust/build/x86_64-unknown-linux-gnu/stage1/bin/rustc --crate-name tokio_io /home/nagisa/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-io-0.1.4/src/lib.rs --crate-type lib --emit=dep-info,link -C opt-level=3 -C metadata=a35b62340658ca6e -C extra-filename=-a35b62340658ca6e --out-dir /tmp/shadowsocks-rust/target/release/deps -L dependency=/tmp/shadowsocks-rust/target/release/deps --extern futures=/tmp/shadowsocks-rust/target/release/deps/libfutures-887a78df9937843a.rlib --extern bytes=/tmp/shadowsocks-rust/target/release/deps/libbytes-bacf04505d555b88.rlib --extern log=/tmp/shadowsocks-rust/target/release/deps/liblog-135a6fd754b72b2c.rlib --cap-lints allow` Compiling generic-array v0.8.3 Running `/sb/d/rust/build/x86_64-unknown-linux-gnu/stage1/bin/rustc --crate-name generic_array /home/nagisa/.cargo/registry/src/github.com-1ecc6299db9ec823/generic-array-0.8.3/src/lib.rs --crate-type lib --emit=dep-info,link -C opt-level=3 -C metadata=f7480d032fcf5c7e -C extra-filename=-f7480d032fcf5c7e --out-dir /tmp/shadowsocks-rust/target/release/deps -L dependency=/tmp/shadowsocks-rust/target/release/deps --extern typenum=/tmp/shadowsocks-rust/target/release/deps/libtypenum-8a9986b23f8c2e7b.rlib --extern nodrop=/tmp/shadowsocks-rust/target/release/deps/libnodrop-50d3a0269a0363ad.rlib --cap-lints allow` Compiling regex v0.2.3 Running `/sb/d/rust/build/x86_64-unknown-linux-gnu/stage1/bin/rustc --crate-name regex /home/nagisa/.cargo/registry/src/github.com-1ecc6299db9ec823/regex-0.2.3/src/lib.rs --crate-type lib --emit=dep-info,link -C opt-level=3 -C metadata=07d20f1ad5509f7b -C extra-filename=-07d20f1ad5509f7b --out-dir /tmp/shadowsocks-rust/target/release/deps -L dependency=/tmp/shadowsocks-rust/target/release/deps --extern regex_syntax=/tmp/shadowsocks-rust/target/release/deps/libregex_syntax-98d6a2e3311fd90d.rlib --extern memchr=/tmp/shadowsocks-rust/target/release/deps/libmemchr-975b5e366434ede6.rlib --extern aho_corasick=/tmp/shadowsocks-rust/target/release/deps/libaho_corasick-211a0a12920fa620.rlib --extern thread_local=/tmp/shadowsocks-rust/target/release/deps/libthread_local-893232cdacabed12.rlib --extern utf8_ranges=/tmp/shadowsocks-rust/target/release/deps/libutf8_ranges-26c0718e35f8bd30.rlib --cap-lints allow` Compiling rayon v0.7.1 Running `/sb/d/rust/build/x86_64-unknown-linux-gnu/stage1/bin/rustc --crate-name rayon /home/nagisa/.cargo/registry/src/github.com-1ecc6299db9ec823/rayon-0.7.1/src/lib.rs --crate-type lib --emit=dep-info,link -C opt-level=3 -C metadata=781c009f33f8aa2e -C extra-filename=-781c009f33f8aa2e --out-dir /tmp/shadowsocks-rust/target/release/deps -L dependency=/tmp/shadowsocks-rust/target/release/deps --extern rayon_core=/tmp/shadowsocks-rust/target/release/deps/librayon_core-9571198b3b95ee6a.rlib --cap-lints allow` Compiling digest v0.6.2 Running `/sb/d/rust/build/x86_64-unknown-linux-gnu/stage1/bin/rustc --crate-name digest /home/nagisa/.cargo/registry/src/github.com-1ecc6299db9ec823/digest-0.6.2/src/lib.rs --crate-type lib --emit=dep-info,link -C opt-level=3 -C metadata=367cf326e7ab4857 -C extra-filename=-367cf326e7ab4857 --out-dir /tmp/shadowsocks-rust/target/release/deps -L dependency=/tmp/shadowsocks-rust/target/release/deps --extern generic_array=/tmp/shadowsocks-rust/target/release/deps/libgeneric_array-f7480d032fcf5c7e.rlib --cap-lints allow` Compiling mio-uds v0.6.4 Running `/sb/d/rust/build/x86_64-unknown-linux-gnu/stage1/bin/rustc --crate-name mio_uds /home/nagisa/.cargo/registry/src/github.com-1ecc6299db9ec823/mio-uds-0.6.4/src/lib.rs --crate-type lib --emit=dep-info,link -C opt-level=3 -C metadata=5365a05f13ffafcb -C extra-filename=-5365a05f13ffafcb --out-dir /tmp/shadowsocks-rust/target/release/deps -L dependency=/tmp/shadowsocks-rust/target/release/deps --extern libc=/tmp/shadowsocks-rust/target/release/deps/liblibc-c100df01d157afe5.rlib --extern mio=/tmp/shadowsocks-rust/target/release/deps/libmio-e09763bcbede75c1.rlib --cap-lints allow` Compiling tokio-core v0.1.10 Running `/sb/d/rust/build/x86_64-unknown-linux-gnu/stage1/bin/rustc --crate-name tokio_core /home/nagisa/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-core-0.1.10/src/lib.rs --crate-type lib --emit=dep-info,link -C opt-level=3 -C metadata=556bf573bd895382 -C extra-filename=-556bf573bd895382 --out-dir /tmp/shadowsocks-rust/target/release/deps -L dependency=/tmp/shadowsocks-rust/target/release/deps --extern iovec=/tmp/shadowsocks-rust/target/release/deps/libiovec-3f138f227c97e540.rlib --extern slab=/tmp/shadowsocks-rust/target/release/deps/libslab-1287dd479a35c0e1.rlib --extern bytes=/tmp/shadowsocks-rust/target/release/deps/libbytes-bacf04505d555b88.rlib --extern mio=/tmp/shadowsocks-rust/target/release/deps/libmio-e09763bcbede75c1.rlib --extern log=/tmp/shadowsocks-rust/target/release/deps/liblog-135a6fd754b72b2c.rlib --extern futures=/tmp/shadowsocks-rust/target/release/deps/libfutures-887a78df9937843a.rlib --extern scoped_tls=/tmp/shadowsocks-rust/target/release/deps/libscoped_tls-901f4d19f6f7d2e4.rlib --extern tokio_io=/tmp/shadowsocks-rust/target/release/deps/libtokio_io-a35b62340658ca6e.rlib --cap-lints allow` Compiling md-5 v0.5.2 Running `/sb/d/rust/build/x86_64-unknown-linux-gnu/stage1/bin/rustc --crate-name md_5 /home/nagisa/.cargo/registry/src/github.com-1ecc6299db9ec823/md-5-0.5.2/src/lib.rs --crate-type lib --emit=dep-info,link -C opt-level=3 --cfg 'feature="default"' --cfg 'feature="digest"' --cfg 'feature="generic"' --cfg 'feature="generic-array"' -C metadata=4e9ba4fe21c2bf6d -C extra-filename=-4e9ba4fe21c2bf6d --out-dir /tmp/shadowsocks-rust/target/release/deps -L dependency=/tmp/shadowsocks-rust/target/release/deps --extern byte_tools=/tmp/shadowsocks-rust/target/release/deps/libbyte_tools-10ffe0d41c495fdd.rlib --extern block_buffer=/tmp/shadowsocks-rust/target/release/deps/libblock_buffer-3447b6e531634135.rlib --extern digest=/tmp/shadowsocks-rust/target/release/deps/libdigest-367cf326e7ab4857.rlib --extern generic_array=/tmp/shadowsocks-rust/target/release/deps/libgeneric_array-f7480d032fcf5c7e.rlib --cap-lints allow` Running `/tmp/shadowsocks-rust/target/release/build/openssl-sys-c0cdc3f23448badc/build-script-build` Running `/tmp/shadowsocks-rust/target/release/build/openssl-acedba966281e9ad/build-script-build` Running `/sb/d/rust/build/x86_64-unknown-linux-gnu/stage1/bin/rustc --crate-name openssl_sys /home/nagisa/.cargo/registry/src/github.com-1ecc6299db9ec823/openssl-sys-0.9.22/src/lib.rs --crate-type lib --emit=dep-info,link -C opt-level=3 -C metadata=d365556419a7e646 -C extra-filename=-d365556419a7e646 --out-dir /tmp/shadowsocks-rust/target/release/deps -L dependency=/tmp/shadowsocks-rust/target/release/deps --extern libc=/tmp/shadowsocks-rust/target/release/deps/liblibc-c100df01d157afe5.rlib --cap-lints allow -L native=/nix/store/v8z56hjwli0yxqczzajg5fhi4n6vm65f-openssl-1.0.2n/lib --cfg 'osslconf="OPENSSL_NO_KRB5"' --cfg 'osslconf="OPENSSL_NO_RFC3779"' --cfg ossl102 -l ssl -l crypto` Compiling url v1.6.0 Running `/sb/d/rust/build/x86_64-unknown-linux-gnu/stage1/bin/rustc --crate-name url /home/nagisa/.cargo/registry/src/github.com-1ecc6299db9ec823/url-1.6.0/src/lib.rs --crate-type lib --emit=dep-info,link -C opt-level=3 -C metadata=d8f1b99106747c73 -C extra-filename=-d8f1b99106747c73 --out-dir /tmp/shadowsocks-rust/target/release/deps -L dependency=/tmp/shadowsocks-rust/target/release/deps --extern matches=/tmp/shadowsocks-rust/target/release/deps/libmatches-7ab4c84bc15de2dc.rlib --extern idna=/tmp/shadowsocks-rust/target/release/deps/libidna-305ec7b976e74223.rlib --extern percent_encoding=/tmp/shadowsocks-rust/target/release/deps/libpercent_encoding-8610131edee05741.rlib --cap-lints allow` Running `/sb/d/rust/build/x86_64-unknown-linux-gnu/stage1/bin/rustc --crate-name openssl /home/nagisa/.cargo/registry/src/github.com-1ecc6299db9ec823/openssl-0.9.22/src/lib.rs --crate-type lib --emit=dep-info,link -C opt-level=3 -C metadata=f6b18609e0059bf2 -C extra-filename=-f6b18609e0059bf2 --out-dir /tmp/shadowsocks-rust/target/release/deps -L dependency=/tmp/shadowsocks-rust/target/release/deps --extern libc=/tmp/shadowsocks-rust/target/release/deps/liblibc-c100df01d157afe5.rlib --extern bitflags=/tmp/shadowsocks-rust/target/release/deps/libbitflags-8630009f8fa93f4f.rlib --extern foreign_types=/tmp/shadowsocks-rust/target/release/deps/libforeign_types-fd6eac128f2178ca.rlib --extern lazy_static=/tmp/shadowsocks-rust/target/release/deps/liblazy_static-21e987f4be5bdaf7.rlib --extern openssl_sys=/tmp/shadowsocks-rust/target/release/deps/libopenssl_sys-d365556419a7e646.rlib --cap-lints allow --cfg ossl102 --cfg ossl10x --cfg 'osslconf="OPENSSL_NO_KRB5"' --cfg 'osslconf="OPENSSL_NO_RFC3779"' -L native=/nix/store/v8z56hjwli0yxqczzajg5fhi4n6vm65f-openssl-1.0.2n/lib` Compiling ring v0.11.0 Running `/sb/d/rust/build/x86_64-unknown-linux-gnu/stage1/bin/rustc --crate-name build_script_build /home/nagisa/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.11.0/build.rs --crate-type bin --emit=dep-info,link -C opt-level=3 --cfg 'feature="default"' --cfg 'feature="dev_urandom_fallback"' --cfg 'feature="use_heap"' -C metadata=f0bf955265734099 -C extra-filename=-f0bf955265734099 --out-dir /tmp/shadowsocks-rust/target/release/build/ring-f0bf955265734099 -L dependency=/tmp/shadowsocks-rust/target/release/deps --extern gcc=/tmp/shadowsocks-rust/target/release/deps/libgcc-d95417a1b856c3f4.rlib --extern rayon=/tmp/shadowsocks-rust/target/release/deps/librayon-781c009f33f8aa2e.rlib --cap-lints allow` Compiling tokio-signal v0.1.2 Running `/sb/d/rust/build/x86_64-unknown-linux-gnu/stage1/bin/rustc --crate-name tokio_signal /home/nagisa/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-signal-0.1.2/src/lib.rs --crate-type lib --emit=dep-info,link -C opt-level=3 -C metadata=67c1635271f4796a -C extra-filename=-67c1635271f4796a --out-dir /tmp/shadowsocks-rust/target/release/deps -L dependency=/tmp/shadowsocks-rust/target/release/deps --extern tokio_core=/tmp/shadowsocks-rust/target/release/deps/libtokio_core-556bf573bd895382.rlib --extern futures=/tmp/shadowsocks-rust/target/release/deps/libfutures-887a78df9937843a.rlib --extern libc=/tmp/shadowsocks-rust/target/release/deps/liblibc-c100df01d157afe5.rlib --extern mio_uds=/tmp/shadowsocks-rust/target/release/deps/libmio_uds-5365a05f13ffafcb.rlib --extern mio=/tmp/shadowsocks-rust/target/release/deps/libmio-e09763bcbede75c1.rlib --cap-lints allow` Compiling serde_json v1.0.7 Running `/sb/d/rust/build/x86_64-unknown-linux-gnu/stage1/bin/rustc --crate-name serde_json /home/nagisa/.cargo/registry/src/github.com-1ecc6299db9ec823/serde_json-1.0.7/src/lib.rs --crate-type lib --emit=dep-info,link -C opt-level=3 --cfg 'feature="default"' -C metadata=19e060a5d064c702 -C extra-filename=-19e060a5d064c702 --out-dir /tmp/shadowsocks-rust/target/release/deps -L dependency=/tmp/shadowsocks-rust/target/release/deps --extern num_traits=/tmp/shadowsocks-rust/target/release/deps/libnum_traits-84421a36ae353688.rlib --extern dtoa=/tmp/shadowsocks-rust/target/release/deps/libdtoa-afc7bb8a657c0c9c.rlib --extern itoa=/tmp/shadowsocks-rust/target/release/deps/libitoa-6f04ce52c9820ae0.rlib --extern serde=/tmp/shadowsocks-rust/target/release/deps/libserde-90be96b9f7b7bd25.rlib --cap-lints allow` Compiling serde_urlencoded v0.5.1 Running `/sb/d/rust/build/x86_64-unknown-linux-gnu/stage1/bin/rustc --crate-name serde_urlencoded /home/nagisa/.cargo/registry/src/github.com-1ecc6299db9ec823/serde_urlencoded-0.5.1/src/lib.rs --crate-type lib --emit=dep-info,link -C opt-level=3 -C metadata=4080467101b06ca8 -C extra-filename=-4080467101b06ca8 --out-dir /tmp/shadowsocks-rust/target/release/deps -L dependency=/tmp/shadowsocks-rust/target/release/deps --extern itoa=/tmp/shadowsocks-rust/target/release/deps/libitoa-6f04ce52c9820ae0.rlib --extern dtoa=/tmp/shadowsocks-rust/target/release/deps/libdtoa-afc7bb8a657c0c9c.rlib --extern url=/tmp/shadowsocks-rust/target/release/deps/liburl-d8f1b99106747c73.rlib --extern serde=/tmp/shadowsocks-rust/target/release/deps/libserde-90be96b9f7b7bd25.rlib --cap-lints allow` Running `/tmp/shadowsocks-rust/target/release/build/ring-f0bf955265734099/build-script-build` Running `/sb/d/rust/build/x86_64-unknown-linux-gnu/stage1/bin/rustc --crate-name ring /home/nagisa/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.11.0/src/lib.rs --crate-type lib --emit=dep-info,link -C opt-level=3 --cfg 'feature="default"' --cfg 'feature="dev_urandom_fallback"' --cfg 'feature="use_heap"' -C metadata=098825fced7600f2 -C extra-filename=-098825fced7600f2 --out-dir /tmp/shadowsocks-rust/target/release/deps -L dependency=/tmp/shadowsocks-rust/target/release/deps --extern lazy_static=/tmp/shadowsocks-rust/target/release/deps/liblazy_static-21e987f4be5bdaf7.rlib --extern untrusted=/tmp/shadowsocks-rust/target/release/deps/libuntrusted-2c41a5706a3a4816.rlib --extern libc=/tmp/shadowsocks-rust/target/release/deps/liblibc-c100df01d157afe5.rlib --cap-lints allow -L native=/tmp/shadowsocks-rust/target/release/build/ring-653cbe20462d59d4/out -l static=ring-test -l static=ring-core` Compiling env_logger v0.4.3 Running `/sb/d/rust/build/x86_64-unknown-linux-gnu/stage1/bin/rustc --crate-name env_logger /home/nagisa/.cargo/registry/src/github.com-1ecc6299db9ec823/env_logger-0.4.3/src/lib.rs --crate-type lib --emit=dep-info,link -C opt-level=3 --cfg 'feature="default"' --cfg 'feature="regex"' -C metadata=78fcf7aec9923da0 -C extra-filename=-78fcf7aec9923da0 --out-dir /tmp/shadowsocks-rust/target/release/deps -L dependency=/tmp/shadowsocks-rust/target/release/deps --extern log=/tmp/shadowsocks-rust/target/release/deps/liblog-135a6fd754b72b2c.rlib --extern regex=/tmp/shadowsocks-rust/target/release/deps/libregex-07d20f1ad5509f7b.rlib --cap-lints allow` Running `/sb/d/rust/build/x86_64-unknown-linux-gnu/stage1/bin/rustc --crate-name libsodium_ffi /home/nagisa/.cargo/registry/src/github.com-1ecc6299db9ec823/libsodium-ffi-0.1.9/src/lib.rs --crate-type lib --emit=dep-info,link -C opt-level=3 -C metadata=cebc764bfdf09243 -C extra-filename=-cebc764bfdf09243 --out-dir /tmp/shadowsocks-rust/target/release/deps -L dependency=/tmp/shadowsocks-rust/target/release/deps --extern libc=/tmp/shadowsocks-rust/target/release/deps/liblibc-c100df01d157afe5.rlib --cap-lints allow -L native=/tmp/shadowsocks-rust/target/release/build/libsodium-ffi-563214c5b5467f13/out/lib -l static=sodium` Compiling shadowsocks-rust v1.6.10 (file:///tmp/shadowsocks-rust) Running `/sb/d/rust/build/x86_64-unknown-linux-gnu/stage1/bin/rustc --crate-name shadowsocks src/lib.rs --crate-type lib --emit=dep-info,link -C opt-level=3 --cfg 'feature="default"' --cfg 'feature="libsodium-ffi"' --cfg 'feature="sodium"' -C metadata=fbcb65dffa741a49 -C extra-filename=-fbcb65dffa741a49 --out-dir /tmp/shadowsocks-rust/target/release/deps -L dependency=/tmp/shadowsocks-rust/target/release/deps --extern rand=/tmp/shadowsocks-rust/target/release/deps/librand-c6c254e397d5d7fe.rlib --extern serde_json=/tmp/shadowsocks-rust/target/release/deps/libserde_json-19e060a5d064c702.rlib --extern bytes=/tmp/shadowsocks-rust/target/release/deps/libbytes-bacf04505d555b88.rlib --extern byteorder=/tmp/shadowsocks-rust/target/release/deps/libbyteorder-e988d2f6a69b2f3c.rlib --extern ring=/tmp/shadowsocks-rust/target/release/deps/libring-098825fced7600f2.rlib --extern digest=/tmp/shadowsocks-rust/target/release/deps/libdigest-367cf326e7ab4857.rlib --extern md_5=/tmp/shadowsocks-rust/target/release/deps/libmd_5-4e9ba4fe21c2bf6d.rlib --extern base64=/tmp/shadowsocks-rust/target/release/deps/libbase64-e6b70ef6c11a69f2.rlib --extern env_logger=/tmp/shadowsocks-rust/target/release/deps/libenv_logger-78fcf7aec9923da0.rlib --extern tokio_signal=/tmp/shadowsocks-rust/target/release/deps/libtokio_signal-67c1635271f4796a.rlib --extern typenum=/tmp/shadowsocks-rust/target/release/deps/libtypenum-8a9986b23f8c2e7b.rlib --extern tokio_core=/tmp/shadowsocks-rust/target/release/deps/libtokio_core-556bf573bd895382.rlib --extern lazy_static=/tmp/shadowsocks-rust/target/release/deps/liblazy_static-21e987f4be5bdaf7.rlib --extern url=/tmp/shadowsocks-rust/target/release/deps/liburl-d8f1b99106747c73.rlib --extern serde_urlencoded=/tmp/shadowsocks-rust/target/release/deps/libserde_urlencoded-4080467101b06ca8.rlib --extern libc=/tmp/shadowsocks-rust/target/release/deps/liblibc-c100df01d157afe5.rlib --extern futures=/tmp/shadowsocks-rust/target/release/deps/libfutures-887a78df9937843a.rlib --extern log=/tmp/shadowsocks-rust/target/release/deps/liblog-135a6fd754b72b2c.rlib --extern libsodium_ffi=/tmp/shadowsocks-rust/target/release/deps/liblibsodium_ffi-cebc764bfdf09243.rlib --extern scoped_tls=/tmp/shadowsocks-rust/target/release/deps/libscoped_tls-901f4d19f6f7d2e4.rlib --extern subprocess=/tmp/shadowsocks-rust/target/release/deps/libsubprocess-b108bc229820c3c7.rlib --extern time=/tmp/shadowsocks-rust/target/release/deps/libtime-b597a16ea20d29a6.rlib --extern clap=/tmp/shadowsocks-rust/target/release/deps/libclap-235aad276dabfc9b.rlib --extern futures_cpupool=/tmp/shadowsocks-rust/target/release/deps/libfutures_cpupool-08df12b5058f40f0.rlib --extern byte_string=/tmp/shadowsocks-rust/target/release/deps/libbyte_string-6dd1e5b5cde0b4c8.rlib --extern openssl=/tmp/shadowsocks-rust/target/release/deps/libopenssl-f6b18609e0059bf2.rlib --extern qrcode=/tmp/shadowsocks-rust/target/release/deps/libqrcode-ecd2cb6be5f9d7b4.rlib --extern tokio_io=/tmp/shadowsocks-rust/target/release/deps/libtokio_io-a35b62340658ca6e.rlib -L native=/tmp/shadowsocks-rust/target/release/build/libsodium-ffi-563214c5b5467f13/out/lib -L native=/nix/store/v8z56hjwli0yxqczzajg5fhi4n6vm65f-openssl-1.0.2n/lib -L native=/tmp/shadowsocks-rust/target/release/build/ring-653cbe20462d59d4/out` Running `/sb/d/rust/build/x86_64-unknown-linux-gnu/stage1/bin/rustc --crate-name ssurl src/bin/ssurl.rs --crate-type bin --emit=dep-info,link -C opt-level=3 -C lto --cfg 'feature="default"' --cfg 'feature="libsodium-ffi"' --cfg 'feature="sodium"' -C metadata=c9f62e56589b9eaf -C extra-filename=-c9f62e56589b9eaf --out-dir /tmp/shadowsocks-rust/target/release/deps -L dependency=/tmp/shadowsocks-rust/target/release/deps --extern rand=/tmp/shadowsocks-rust/target/release/deps/librand-c6c254e397d5d7fe.rlib --extern serde_json=/tmp/shadowsocks-rust/target/release/deps/libserde_json-19e060a5d064c702.rlib --extern bytes=/tmp/shadowsocks-rust/target/release/deps/libbytes-bacf04505d555b88.rlib --extern byteorder=/tmp/shadowsocks-rust/target/release/deps/libbyteorder-e988d2f6a69b2f3c.rlib --extern ring=/tmp/shadowsocks-rust/target/release/deps/libring-098825fced7600f2.rlib --extern digest=/tmp/shadowsocks-rust/target/release/deps/libdigest-367cf326e7ab4857.rlib --extern md_5=/tmp/shadowsocks-rust/target/release/deps/libmd_5-4e9ba4fe21c2bf6d.rlib --extern base64=/tmp/shadowsocks-rust/target/release/deps/libbase64-e6b70ef6c11a69f2.rlib --extern env_logger=/tmp/shadowsocks-rust/target/release/deps/libenv_logger-78fcf7aec9923da0.rlib --extern tokio_signal=/tmp/shadowsocks-rust/target/release/deps/libtokio_signal-67c1635271f4796a.rlib --extern typenum=/tmp/shadowsocks-rust/target/release/deps/libtypenum-8a9986b23f8c2e7b.rlib --extern tokio_core=/tmp/shadowsocks-rust/target/release/deps/libtokio_core-556bf573bd895382.rlib --extern lazy_static=/tmp/shadowsocks-rust/target/release/deps/liblazy_static-21e987f4be5bdaf7.rlib --extern url=/tmp/shadowsocks-rust/target/release/deps/liburl-d8f1b99106747c73.rlib --extern serde_urlencoded=/tmp/shadowsocks-rust/target/release/deps/libserde_urlencoded-4080467101b06ca8.rlib --extern libc=/tmp/shadowsocks-rust/target/release/deps/liblibc-c100df01d157afe5.rlib --extern futures=/tmp/shadowsocks-rust/target/release/deps/libfutures-887a78df9937843a.rlib --extern log=/tmp/shadowsocks-rust/target/release/deps/liblog-135a6fd754b72b2c.rlib --extern libsodium_ffi=/tmp/shadowsocks-rust/target/release/deps/liblibsodium_ffi-cebc764bfdf09243.rlib --extern scoped_tls=/tmp/shadowsocks-rust/target/release/deps/libscoped_tls-901f4d19f6f7d2e4.rlib --extern subprocess=/tmp/shadowsocks-rust/target/release/deps/libsubprocess-b108bc229820c3c7.rlib --extern time=/tmp/shadowsocks-rust/target/release/deps/libtime-b597a16ea20d29a6.rlib --extern clap=/tmp/shadowsocks-rust/target/release/deps/libclap-235aad276dabfc9b.rlib --extern futures_cpupool=/tmp/shadowsocks-rust/target/release/deps/libfutures_cpupool-08df12b5058f40f0.rlib --extern byte_string=/tmp/shadowsocks-rust/target/release/deps/libbyte_string-6dd1e5b5cde0b4c8.rlib --extern openssl=/tmp/shadowsocks-rust/target/release/deps/libopenssl-f6b18609e0059bf2.rlib --extern qrcode=/tmp/shadowsocks-rust/target/release/deps/libqrcode-ecd2cb6be5f9d7b4.rlib --extern tokio_io=/tmp/shadowsocks-rust/target/release/deps/libtokio_io-a35b62340658ca6e.rlib --extern shadowsocks=/tmp/shadowsocks-rust/target/release/deps/libshadowsocks-fbcb65dffa741a49.rlib -L native=/tmp/shadowsocks-rust/target/release/build/libsodium-ffi-563214c5b5467f13/out/lib -L native=/nix/store/v8z56hjwli0yxqczzajg5fhi4n6vm65f-openssl-1.0.2n/lib -L native=/tmp/shadowsocks-rust/target/release/build/ring-653cbe20462d59d4/out` Running `/sb/d/rust/build/x86_64-unknown-linux-gnu/stage1/bin/rustc --crate-name ssserver src/bin/server.rs --crate-type bin --emit=dep-info,link -C opt-level=3 -C lto --cfg 'feature="default"' --cfg 'feature="libsodium-ffi"' --cfg 'feature="sodium"' -C metadata=28739d76958d3314 -C extra-filename=-28739d76958d3314 --out-dir /tmp/shadowsocks-rust/target/release/deps -L dependency=/tmp/shadowsocks-rust/target/release/deps --extern rand=/tmp/shadowsocks-rust/target/release/deps/librand-c6c254e397d5d7fe.rlib --extern serde_json=/tmp/shadowsocks-rust/target/release/deps/libserde_json-19e060a5d064c702.rlib --extern bytes=/tmp/shadowsocks-rust/target/release/deps/libbytes-bacf04505d555b88.rlib --extern byteorder=/tmp/shadowsocks-rust/target/release/deps/libbyteorder-e988d2f6a69b2f3c.rlib --extern ring=/tmp/shadowsocks-rust/target/release/deps/libring-098825fced7600f2.rlib --extern digest=/tmp/shadowsocks-rust/target/release/deps/libdigest-367cf326e7ab4857.rlib --extern md_5=/tmp/shadowsocks-rust/target/release/deps/libmd_5-4e9ba4fe21c2bf6d.rlib --extern base64=/tmp/shadowsocks-rust/target/release/deps/libbase64-e6b70ef6c11a69f2.rlib --extern env_logger=/tmp/shadowsocks-rust/target/release/deps/libenv_logger-78fcf7aec9923da0.rlib --extern tokio_signal=/tmp/shadowsocks-rust/target/release/deps/libtokio_signal-67c1635271f4796a.rlib --extern typenum=/tmp/shadowsocks-rust/target/release/deps/libtypenum-8a9986b23f8c2e7b.rlib --extern tokio_core=/tmp/shadowsocks-rust/target/release/deps/libtokio_core-556bf573bd895382.rlib --extern lazy_static=/tmp/shadowsocks-rust/target/release/deps/liblazy_static-21e987f4be5bdaf7.rlib --extern url=/tmp/shadowsocks-rust/target/release/deps/liburl-d8f1b99106747c73.rlib --extern serde_urlencoded=/tmp/shadowsocks-rust/target/release/deps/libserde_urlencoded-4080467101b06ca8.rlib --extern libc=/tmp/shadowsocks-rust/target/release/deps/liblibc-c100df01d157afe5.rlib --extern futures=/tmp/shadowsocks-rust/target/release/deps/libfutures-887a78df9937843a.rlib --extern log=/tmp/shadowsocks-rust/target/release/deps/liblog-135a6fd754b72b2c.rlib --extern libsodium_ffi=/tmp/shadowsocks-rust/target/release/deps/liblibsodium_ffi-cebc764bfdf09243.rlib --extern scoped_tls=/tmp/shadowsocks-rust/target/release/deps/libscoped_tls-901f4d19f6f7d2e4.rlib --extern subprocess=/tmp/shadowsocks-rust/target/release/deps/libsubprocess-b108bc229820c3c7.rlib --extern time=/tmp/shadowsocks-rust/target/release/deps/libtime-b597a16ea20d29a6.rlib --extern clap=/tmp/shadowsocks-rust/target/release/deps/libclap-235aad276dabfc9b.rlib --extern futures_cpupool=/tmp/shadowsocks-rust/target/release/deps/libfutures_cpupool-08df12b5058f40f0.rlib --extern byte_string=/tmp/shadowsocks-rust/target/release/deps/libbyte_string-6dd1e5b5cde0b4c8.rlib --extern openssl=/tmp/shadowsocks-rust/target/release/deps/libopenssl-f6b18609e0059bf2.rlib --extern qrcode=/tmp/shadowsocks-rust/target/release/deps/libqrcode-ecd2cb6be5f9d7b4.rlib --extern tokio_io=/tmp/shadowsocks-rust/target/release/deps/libtokio_io-a35b62340658ca6e.rlib --extern shadowsocks=/tmp/shadowsocks-rust/target/release/deps/libshadowsocks-fbcb65dffa741a49.rlib -L native=/tmp/shadowsocks-rust/target/release/build/libsodium-ffi-563214c5b5467f13/out/lib -L native=/nix/store/v8z56hjwli0yxqczzajg5fhi4n6vm65f-openssl-1.0.2n/lib -L native=/tmp/shadowsocks-rust/target/release/build/ring-653cbe20462d59d4/out` Running `/sb/d/rust/build/x86_64-unknown-linux-gnu/stage1/bin/rustc --crate-name sslocal src/bin/local.rs --crate-type bin --emit=dep-info,link -C opt-level=3 -C lto --cfg 'feature="default"' --cfg 'feature="libsodium-ffi"' --cfg 'feature="sodium"' -C metadata=3093b9dc13adad90 -C extra-filename=-3093b9dc13adad90 --out-dir /tmp/shadowsocks-rust/target/release/deps -L dependency=/tmp/shadowsocks-rust/target/release/deps --extern rand=/tmp/shadowsocks-rust/target/release/deps/librand-c6c254e397d5d7fe.rlib --extern serde_json=/tmp/shadowsocks-rust/target/release/deps/libserde_json-19e060a5d064c702.rlib --extern bytes=/tmp/shadowsocks-rust/target/release/deps/libbytes-bacf04505d555b88.rlib --extern byteorder=/tmp/shadowsocks-rust/target/release/deps/libbyteorder-e988d2f6a69b2f3c.rlib --extern ring=/tmp/shadowsocks-rust/target/release/deps/libring-098825fced7600f2.rlib --extern digest=/tmp/shadowsocks-rust/target/release/deps/libdigest-367cf326e7ab4857.rlib --extern md_5=/tmp/shadowsocks-rust/target/release/deps/libmd_5-4e9ba4fe21c2bf6d.rlib --extern base64=/tmp/shadowsocks-rust/target/release/deps/libbase64-e6b70ef6c11a69f2.rlib --extern env_logger=/tmp/shadowsocks-rust/target/release/deps/libenv_logger-78fcf7aec9923da0.rlib --extern tokio_signal=/tmp/shadowsocks-rust/target/release/deps/libtokio_signal-67c1635271f4796a.rlib --extern typenum=/tmp/shadowsocks-rust/target/release/deps/libtypenum-8a9986b23f8c2e7b.rlib --extern tokio_core=/tmp/shadowsocks-rust/target/release/deps/libtokio_core-556bf573bd895382.rlib --extern lazy_static=/tmp/shadowsocks-rust/target/release/deps/liblazy_static-21e987f4be5bdaf7.rlib --extern url=/tmp/shadowsocks-rust/target/release/deps/liburl-d8f1b99106747c73.rlib --extern serde_urlencoded=/tmp/shadowsocks-rust/target/release/deps/libserde_urlencoded-4080467101b06ca8.rlib --extern libc=/tmp/shadowsocks-rust/target/release/deps/liblibc-c100df01d157afe5.rlib --extern futures=/tmp/shadowsocks-rust/target/release/deps/libfutures-887a78df9937843a.rlib --extern log=/tmp/shadowsocks-rust/target/release/deps/liblog-135a6fd754b72b2c.rlib --extern libsodium_ffi=/tmp/shadowsocks-rust/target/release/deps/liblibsodium_ffi-cebc764bfdf09243.rlib --extern scoped_tls=/tmp/shadowsocks-rust/target/release/deps/libscoped_tls-901f4d19f6f7d2e4.rlib --extern subprocess=/tmp/shadowsocks-rust/target/release/deps/libsubprocess-b108bc229820c3c7.rlib --extern time=/tmp/shadowsocks-rust/target/release/deps/libtime-b597a16ea20d29a6.rlib --extern clap=/tmp/shadowsocks-rust/target/release/deps/libclap-235aad276dabfc9b.rlib --extern futures_cpupool=/tmp/shadowsocks-rust/target/release/deps/libfutures_cpupool-08df12b5058f40f0.rlib --extern byte_string=/tmp/shadowsocks-rust/target/release/deps/libbyte_string-6dd1e5b5cde0b4c8.rlib --extern openssl=/tmp/shadowsocks-rust/target/release/deps/libopenssl-f6b18609e0059bf2.rlib --extern qrcode=/tmp/shadowsocks-rust/target/release/deps/libqrcode-ecd2cb6be5f9d7b4.rlib --extern tokio_io=/tmp/shadowsocks-rust/target/release/deps/libtokio_io-a35b62340658ca6e.rlib --extern shadowsocks=/tmp/shadowsocks-rust/target/release/deps/libshadowsocks-fbcb65dffa741a49.rlib -L native=/tmp/shadowsocks-rust/target/release/build/libsodium-ffi-563214c5b5467f13/out/lib -L native=/nix/store/v8z56hjwli0yxqczzajg5fhi4n6vm65f-openssl-1.0.2n/lib -L native=/tmp/shadowsocks-rust/target/release/build/ring-653cbe20462d59d4/out` Finished release [optimized] target(s) in 98.65 secs ```
    Finished release [optimized] target(s) in 98.65 secs

compared to

``` Compiling percent-encoding v1.0.1 Compiling ansi_term v0.10.2 Compiling utf8-ranges v1.0.0 Compiling safemem v0.2.0 Compiling byte-tools v0.2.0 Compiling matches v0.1.6 Compiling typenum v1.9.0 Compiling void v1.0.2 Compiling lazy_static v0.2.11 Compiling log v0.3.8 Compiling nodrop v0.1.12 Compiling gcc v0.3.54 Compiling dtoa v0.4.2 Compiling itoa v0.3.4 Compiling qrcode v0.4.0 Compiling slab v0.3.0 Running `rustc --crate-name percent_encoding /home/nagisa/.cargo/registry/src/github.com-1ecc6299db9ec823/percent-encoding-1.0.1/lib.rs --crate-type lib --emit=dep-info,link -C opt-level=3 -C metadata=1286984d4c3162b4 -C extra-filename=-1286984d4c3162b4 --out-dir /tmp/shadowsocks-rust/target/release/deps -L dependency=/tmp/shadowsocks-rust/target/release/deps --cap-lints allow` Running `rustc --crate-name ansi_term /home/nagisa/.cargo/registry/src/github.com-1ecc6299db9ec823/ansi_term-0.10.2/src/lib.rs --crate-type lib --emit=dep-info,link -C opt-level=3 -C metadata=bc45a867939ff1ad -C extra-filename=-bc45a867939ff1ad --out-dir /tmp/shadowsocks-rust/target/release/deps -L dependency=/tmp/shadowsocks-rust/target/release/deps --cap-lints allow` Running `rustc --crate-name utf8_ranges /home/nagisa/.cargo/registry/src/github.com-1ecc6299db9ec823/utf8-ranges-1.0.0/src/lib.rs --crate-type lib --emit=dep-info,link -C opt-level=3 -C metadata=c05e1b01760bf895 -C extra-filename=-c05e1b01760bf895 --out-dir /tmp/shadowsocks-rust/target/release/deps -L dependency=/tmp/shadowsocks-rust/target/release/deps --cap-lints allow` Running `rustc --crate-name safemem /home/nagisa/.cargo/registry/src/github.com-1ecc6299db9ec823/safemem-0.2.0/src/lib.rs --crate-type lib --emit=dep-info,link -C opt-level=3 -C metadata=c7fb685d55aca36a -C extra-filename=-c7fb685d55aca36a --out-dir /tmp/shadowsocks-rust/target/release/deps -L dependency=/tmp/shadowsocks-rust/target/release/deps --cap-lints allow` Running `rustc --crate-name byte_tools /home/nagisa/.cargo/registry/src/github.com-1ecc6299db9ec823/byte-tools-0.2.0/src/lib.rs --crate-type lib --emit=dep-info,link -C opt-level=3 -C metadata=c8aea36519a917f0 -C extra-filename=-c8aea36519a917f0 --out-dir /tmp/shadowsocks-rust/target/release/deps -L dependency=/tmp/shadowsocks-rust/target/release/deps --cap-lints allow` Running `rustc --crate-name matches /home/nagisa/.cargo/registry/src/github.com-1ecc6299db9ec823/matches-0.1.6/lib.rs --crate-type lib --emit=dep-info,link -C opt-level=3 -C metadata=5256cc5069546f1c -C extra-filename=-5256cc5069546f1c --out-dir /tmp/shadowsocks-rust/target/release/deps -L dependency=/tmp/shadowsocks-rust/target/release/deps --cap-lints allow` Running `rustc --crate-name build_script_main /home/nagisa/.cargo/registry/src/github.com-1ecc6299db9ec823/typenum-1.9.0/build/main.rs --crate-type bin --emit=dep-info,link -C opt-level=3 -C metadata=d49348d85a3e9cc4 -C extra-filename=-d49348d85a3e9cc4 --out-dir /tmp/shadowsocks-rust/target/release/build/typenum-d49348d85a3e9cc4 -L dependency=/tmp/shadowsocks-rust/target/release/deps --cap-lints allow` Running `rustc --crate-name void /home/nagisa/.cargo/registry/src/github.com-1ecc6299db9ec823/void-1.0.2/src/lib.rs --crate-type lib --emit=dep-info,link -C opt-level=3 -C metadata=03cb4c1c6e234677 -C extra-filename=-03cb4c1c6e234677 --out-dir /tmp/shadowsocks-rust/target/release/deps -L dependency=/tmp/shadowsocks-rust/target/release/deps --cap-lints allow` Running `rustc --crate-name lazy_static /home/nagisa/.cargo/registry/src/github.com-1ecc6299db9ec823/lazy_static-0.2.11/src/lib.rs --crate-type lib --emit=dep-info,link -C opt-level=3 -C metadata=46d4f8b8e3c032e1 -C extra-filename=-46d4f8b8e3c032e1 --out-dir /tmp/shadowsocks-rust/target/release/deps -L dependency=/tmp/shadowsocks-rust/target/release/deps --cap-lints allow` Running `rustc --crate-name log /home/nagisa/.cargo/registry/src/github.com-1ecc6299db9ec823/log-0.3.8/src/lib.rs --crate-type lib --emit=dep-info,link -C opt-level=3 --cfg 'feature="default"' --cfg 'feature="use_std"' -C metadata=e1645c2cacfb5151 -C extra-filename=-e1645c2cacfb5151 --out-dir /tmp/shadowsocks-rust/target/release/deps -L dependency=/tmp/shadowsocks-rust/target/release/deps --cap-lints allow` Running `rustc --crate-name nodrop /home/nagisa/.cargo/registry/src/github.com-1ecc6299db9ec823/nodrop-0.1.12/src/lib.rs --crate-type lib --emit=dep-info,link -C opt-level=3 -C metadata=22bb987d4d3a2979 -C extra-filename=-22bb987d4d3a2979 --out-dir /tmp/shadowsocks-rust/target/release/deps -L dependency=/tmp/shadowsocks-rust/target/release/deps --cap-lints allow` Running `rustc --crate-name gcc /home/nagisa/.cargo/registry/src/github.com-1ecc6299db9ec823/gcc-0.3.54/src/lib.rs --crate-type lib --emit=dep-info,link -C opt-level=3 -C metadata=82cad37d2e3a0d27 -C extra-filename=-82cad37d2e3a0d27 --out-dir /tmp/shadowsocks-rust/target/release/deps -L dependency=/tmp/shadowsocks-rust/target/release/deps --cap-lints allow` Running `rustc --crate-name itoa /home/nagisa/.cargo/registry/src/github.com-1ecc6299db9ec823/itoa-0.3.4/src/lib.rs --crate-type lib --emit=dep-info,link -C opt-level=3 -C metadata=395082b30328b1c6 -C extra-filename=-395082b30328b1c6 --out-dir /tmp/shadowsocks-rust/target/release/deps -L dependency=/tmp/shadowsocks-rust/target/release/deps --cap-lints allow` Running `rustc --crate-name qrcode /home/nagisa/.cargo/registry/src/github.com-1ecc6299db9ec823/qrcode-0.4.0/src/lib.rs --crate-type lib --emit=dep-info,link -C opt-level=3 -C metadata=d8583b36270e520d -C extra-filename=-d8583b36270e520d --out-dir /tmp/shadowsocks-rust/target/release/deps -L dependency=/tmp/shadowsocks-rust/target/release/deps --cap-lints allow` Running `rustc --crate-name dtoa /home/nagisa/.cargo/registry/src/github.com-1ecc6299db9ec823/dtoa-0.4.2/src/lib.rs --crate-type lib --emit=dep-info,link -C opt-level=3 -C metadata=8a28b1cd3c0ace11 -C extra-filename=-8a28b1cd3c0ace11 --out-dir /tmp/shadowsocks-rust/target/release/deps -L dependency=/tmp/shadowsocks-rust/target/release/deps --cap-lints allow` Running `rustc --crate-name slab /home/nagisa/.cargo/registry/src/github.com-1ecc6299db9ec823/slab-0.3.0/src/lib.rs --crate-type lib --emit=dep-info,link -C opt-level=3 -C metadata=3dc680c5bc737239 -C extra-filename=-3dc680c5bc737239 --out-dir /tmp/shadowsocks-rust/target/release/deps -L dependency=/tmp/shadowsocks-rust/target/release/deps --cap-lints allow` Compiling num-traits v0.1.41 Running `rustc --crate-name num_traits /home/nagisa/.cargo/registry/src/github.com-1ecc6299db9ec823/num-traits-0.1.41/src/lib.rs --crate-type lib --emit=dep-info,link -C opt-level=3 -C metadata=887282983f0b1b4f -C extra-filename=-887282983f0b1b4f --out-dir /tmp/shadowsocks-rust/target/release/deps -L dependency=/tmp/shadowsocks-rust/target/release/deps --cap-lints allow` Compiling cfg-if v0.1.2 Running `rustc --crate-name cfg_if /home/nagisa/.cargo/registry/src/github.com-1ecc6299db9ec823/cfg-if-0.1.2/src/lib.rs --crate-type lib --emit=dep-info,link -C opt-level=3 -C metadata=7a2cd09612af1e76 -C extra-filename=-7a2cd09612af1e76 --out-dir /tmp/shadowsocks-rust/target/release/deps -L dependency=/tmp/shadowsocks-rust/target/release/deps --cap-lints allow` Compiling unicode-normalization v0.1.5 Running `rustc --crate-name unicode_normalization /home/nagisa/.cargo/registry/src/github.com-1ecc6299db9ec823/unicode-normalization-0.1.5/src/lib.rs --crate-type lib --emit=dep-info,link -C opt-level=3 -C metadata=44f787513531369e -C extra-filename=-44f787513531369e --out-dir /tmp/shadowsocks-rust/target/release/deps -L dependency=/tmp/shadowsocks-rust/target/release/deps --cap-lints allow` Compiling byteorder v1.2.1 Running `rustc --crate-name byteorder /home/nagisa/.cargo/registry/src/github.com-1ecc6299db9ec823/byteorder-1.2.1/src/lib.rs --crate-type lib --emit=dep-info,link -C opt-level=3 --cfg 'feature="default"' --cfg 'feature="std"' -C metadata=74c0a1bfca1d6641 -C extra-filename=-74c0a1bfca1d6641 --out-dir /tmp/shadowsocks-rust/target/release/deps -L dependency=/tmp/shadowsocks-rust/target/release/deps --cap-lints allow` Compiling regex-syntax v0.4.1 Running `rustc --crate-name regex_syntax /home/nagisa/.cargo/registry/src/github.com-1ecc6299db9ec823/regex-syntax-0.4.1/src/lib.rs --crate-type lib --emit=dep-info,link -C opt-level=3 -C metadata=7c0a0c86444dc0e2 -C extra-filename=-7c0a0c86444dc0e2 --out-dir /tmp/shadowsocks-rust/target/release/deps -L dependency=/tmp/shadowsocks-rust/target/release/deps --cap-lints allow` Compiling bitflags v0.9.1 Running `rustc --crate-name bitflags /home/nagisa/.cargo/registry/src/github.com-1ecc6299db9ec823/bitflags-0.9.1/src/lib.rs --crate-type lib --emit=dep-info,link -C opt-level=3 --cfg 'feature="default"' --cfg 'feature="example_generated"' -C metadata=44e1d4fa284b6fbb -C extra-filename=-44e1d4fa284b6fbb --out-dir /tmp/shadowsocks-rust/target/release/deps -L dependency=/tmp/shadowsocks-rust/target/release/deps --cap-lints allow` Compiling unicode-width v0.1.4 Running `rustc --crate-name unicode_width /home/nagisa/.cargo/registry/src/github.com-1ecc6299db9ec823/unicode-width-0.1.4/src/lib.rs --crate-type lib --emit=dep-info,link -C opt-level=3 --cfg 'feature="default"' -C metadata=c470f143be15aa45 -C extra-filename=-c470f143be15aa45 --out-dir /tmp/shadowsocks-rust/target/release/deps -L dependency=/tmp/shadowsocks-rust/target/release/deps --cap-lints allow` Compiling byte_string v1.0.0 Running `rustc --crate-name byte_string /home/nagisa/.cargo/registry/src/github.com-1ecc6299db9ec823/byte_string-1.0.0/src/lib.rs --crate-type lib --emit=dep-info,link -C opt-level=3 -C metadata=99c3e4903d3f5cf4 -C extra-filename=-99c3e4903d3f5cf4 --out-dir /tmp/shadowsocks-rust/target/release/deps -L dependency=/tmp/shadowsocks-rust/target/release/deps --cap-lints allow` Compiling bitflags v1.0.1 Running `rustc --crate-name bitflags /home/nagisa/.cargo/registry/src/github.com-1ecc6299db9ec823/bitflags-1.0.1/src/lib.rs --crate-type lib --emit=dep-info,link -C opt-level=3 --cfg 'feature="default"' --cfg 'feature="example_generated"' -C metadata=a13f1ffac440f1ec -C extra-filename=-a13f1ffac440f1ec --out-dir /tmp/shadowsocks-rust/target/release/deps -L dependency=/tmp/shadowsocks-rust/target/release/deps --cap-lints allow` Compiling libc v0.2.34 Running `rustc --crate-name libc /home/nagisa/.cargo/registry/src/github.com-1ecc6299db9ec823/libc-0.2.34/src/lib.rs --crate-type lib --emit=dep-info,link -C opt-level=3 --cfg 'feature="default"' --cfg 'feature="use_std"' -C metadata=ba5f7ea6f1f21b48 -C extra-filename=-ba5f7ea6f1f21b48 --out-dir /tmp/shadowsocks-rust/target/release/deps -L dependency=/tmp/shadowsocks-rust/target/release/deps --cap-lints allow` Compiling scopeguard v0.3.3 Running `rustc --crate-name scopeguard /home/nagisa/.cargo/registry/src/github.com-1ecc6299db9ec823/scopeguard-0.3.3/src/lib.rs --crate-type lib --emit=dep-info,link -C opt-level=3 --cfg 'feature="default"' --cfg 'feature="use_std"' -C metadata=8cca9db2433cf089 -C extra-filename=-8cca9db2433cf089 --out-dir /tmp/shadowsocks-rust/target/release/deps -L dependency=/tmp/shadowsocks-rust/target/release/deps --cap-lints allow` Compiling futures v0.1.17 Running `rustc --crate-name futures /home/nagisa/.cargo/registry/src/github.com-1ecc6299db9ec823/futures-0.1.17/src/lib.rs --crate-type lib --emit=dep-info,link -C opt-level=3 --cfg 'feature="default"' --cfg 'feature="use_std"' --cfg 'feature="with-deprecated"' -C metadata=05f07acfff7847a7 -C extra-filename=-05f07acfff7847a7 --out-dir /tmp/shadowsocks-rust/target/release/deps -L dependency=/tmp/shadowsocks-rust/target/release/deps --cap-lints allow` Compiling vec_map v0.8.0 Running `rustc --crate-name vec_map /home/nagisa/.cargo/registry/src/github.com-1ecc6299db9ec823/vec_map-0.8.0/src/lib.rs --crate-type lib --emit=dep-info,link -C opt-level=3 -C metadata=0da17cfd5da9a343 -C extra-filename=-0da17cfd5da9a343 --out-dir /tmp/shadowsocks-rust/target/release/deps -L dependency=/tmp/shadowsocks-rust/target/release/deps --cap-lints allow` Compiling slab v0.4.0 Running `rustc --crate-name slab /home/nagisa/.cargo/registry/src/github.com-1ecc6299db9ec823/slab-0.4.0/src/lib.rs --crate-type lib --emit=dep-info,link -C opt-level=3 -C metadata=51d59ce5f08308bd -C extra-filename=-51d59ce5f08308bd --out-dir /tmp/shadowsocks-rust/target/release/deps -L dependency=/tmp/shadowsocks-rust/target/release/deps --cap-lints allow` Compiling rayon-core v1.3.0 Running `rustc --crate-name build_script_build /home/nagisa/.cargo/registry/src/github.com-1ecc6299db9ec823/rayon-core-1.3.0/build.rs --crate-type bin --emit=dep-info,link -C opt-level=3 -C metadata=ed588c03a5e84ca6 -C extra-filename=-ed588c03a5e84ca6 --out-dir /tmp/shadowsocks-rust/target/release/build/rayon-core-ed588c03a5e84ca6 -L dependency=/tmp/shadowsocks-rust/target/release/deps --cap-lints allow` Compiling arrayref v0.3.4 Running `rustc --crate-name arrayref /home/nagisa/.cargo/registry/src/github.com-1ecc6299db9ec823/arrayref-0.3.4/src/lib.rs --crate-type lib --emit=dep-info,link -C opt-level=3 -C metadata=db0c1222ed878673 -C extra-filename=-db0c1222ed878673 --out-dir /tmp/shadowsocks-rust/target/release/deps -L dependency=/tmp/shadowsocks-rust/target/release/deps --cap-lints allow` Compiling foreign-types-shared v0.1.1 Running `rustc --crate-name foreign_types_shared /home/nagisa/.cargo/registry/src/github.com-1ecc6299db9ec823/foreign-types-shared-0.1.1/src/lib.rs --crate-type lib --emit=dep-info,link -C opt-level=3 -C metadata=cbd025bb21c6dc2a -C extra-filename=-cbd025bb21c6dc2a --out-dir /tmp/shadowsocks-rust/target/release/deps -L dependency=/tmp/shadowsocks-rust/target/release/deps --cap-lints allow` Compiling untrusted v0.5.1 Running `rustc --crate-name untrusted /home/nagisa/.cargo/registry/src/github.com-1ecc6299db9ec823/untrusted-0.5.1/src/untrusted.rs --crate-type lib --emit=dep-info,link -C opt-level=3 -C metadata=96ca1fbb565440e6 -C extra-filename=-96ca1fbb565440e6 --out-dir /tmp/shadowsocks-rust/target/release/deps -L dependency=/tmp/shadowsocks-rust/target/release/deps --cap-lints allow` Compiling cc v1.0.3 Running `rustc --crate-name cc /home/nagisa/.cargo/registry/src/github.com-1ecc6299db9ec823/cc-1.0.3/src/lib.rs --crate-type lib --emit=dep-info,link -C opt-level=3 -C metadata=d40825882e3e0ae2 -C extra-filename=-d40825882e3e0ae2 --out-dir /tmp/shadowsocks-rust/target/release/deps -L dependency=/tmp/shadowsocks-rust/target/release/deps --cap-lints allow` Compiling either v1.4.0 Compiling serde v1.0.23 Running `rustc --crate-name either /home/nagisa/.cargo/registry/src/github.com-1ecc6299db9ec823/either-1.4.0/src/lib.rs --crate-type lib --emit=dep-info,link -C opt-level=3 --cfg 'feature="default"' --cfg 'feature="use_std"' -C metadata=3ee8697cc3634786 -C extra-filename=-3ee8697cc3634786 --out-dir /tmp/shadowsocks-rust/target/release/deps -L dependency=/tmp/shadowsocks-rust/target/release/deps --cap-lints allow` Running `rustc --crate-name serde /home/nagisa/.cargo/registry/src/github.com-1ecc6299db9ec823/serde-1.0.23/src/lib.rs --crate-type lib --emit=dep-info,link -C opt-level=3 --cfg 'feature="default"' --cfg 'feature="std"' -C metadata=88117e67d7a67da2 -C extra-filename=-88117e67d7a67da2 --out-dir /tmp/shadowsocks-rust/target/release/deps -L dependency=/tmp/shadowsocks-rust/target/release/deps --cap-lints allow` Compiling openssl v0.9.22 Running `rustc --crate-name build_script_build /home/nagisa/.cargo/registry/src/github.com-1ecc6299db9ec823/openssl-0.9.22/build.rs --crate-type bin --emit=dep-info,link -C opt-level=3 -C metadata=2e102065f13c215f -C extra-filename=-2e102065f13c215f --out-dir /tmp/shadowsocks-rust/target/release/build/openssl-2e102065f13c215f -L dependency=/tmp/shadowsocks-rust/target/release/deps --cap-lints allow` Compiling strsim v0.6.0 Running `rustc --crate-name strsim /home/nagisa/.cargo/registry/src/github.com-1ecc6299db9ec823/strsim-0.6.0/src/lib.rs --crate-type lib --emit=dep-info,link -C opt-level=3 -C metadata=33327a59552cfe58 -C extra-filename=-33327a59552cfe58 --out-dir /tmp/shadowsocks-rust/target/release/deps -L dependency=/tmp/shadowsocks-rust/target/release/deps --cap-lints allow` Compiling lazycell v0.5.1 Running `rustc --crate-name lazycell /home/nagisa/.cargo/registry/src/github.com-1ecc6299db9ec823/lazycell-0.5.1/src/lib.rs --crate-type lib --emit=dep-info,link -C opt-level=3 -C metadata=5b4619b4c51ad2a7 -C extra-filename=-5b4619b4c51ad2a7 --out-dir /tmp/shadowsocks-rust/target/release/deps -L dependency=/tmp/shadowsocks-rust/target/release/deps --cap-lints allow` Compiling pkg-config v0.3.9 Running `rustc --crate-name pkg_config /home/nagisa/.cargo/registry/src/github.com-1ecc6299db9ec823/pkg-config-0.3.9/src/lib.rs --crate-type lib --emit=dep-info,link -C opt-level=3 -C metadata=6c4e2ffab3eed3f3 -C extra-filename=-6c4e2ffab3eed3f3 --out-dir /tmp/shadowsocks-rust/target/release/deps -L dependency=/tmp/shadowsocks-rust/target/release/deps --cap-lints allow` Compiling scoped-tls v0.1.0 Running `rustc --crate-name scoped_tls /home/nagisa/.cargo/registry/src/github.com-1ecc6299db9ec823/scoped-tls-0.1.0/src/lib.rs --crate-type lib --emit=dep-info,link -C opt-level=3 -C metadata=94cf1c46eaf7da14 -C extra-filename=-94cf1c46eaf7da14 --out-dir /tmp/shadowsocks-rust/target/release/deps -L dependency=/tmp/shadowsocks-rust/target/release/deps --cap-lints allow` Compiling unreachable v1.0.0 Running `rustc --crate-name unreachable /home/nagisa/.cargo/registry/src/github.com-1ecc6299db9ec823/unreachable-1.0.0/src/lib.rs --crate-type lib --emit=dep-info,link -C opt-level=3 -C metadata=198c19e8b0932238 -C extra-filename=-198c19e8b0932238 --out-dir /tmp/shadowsocks-rust/target/release/deps -L dependency=/tmp/shadowsocks-rust/target/release/deps --extern void=/tmp/shadowsocks-rust/target/release/deps/libvoid-03cb4c1c6e234677.rlib --cap-lints allow` Compiling unicode-bidi v0.3.4 Running `rustc --crate-name unicode_bidi /home/nagisa/.cargo/registry/src/github.com-1ecc6299db9ec823/unicode-bidi-0.3.4/src/lib.rs --crate-type lib --emit=dep-info,link -C opt-level=3 --cfg 'feature="default"' -C metadata=600f13fe5217b25d -C extra-filename=-600f13fe5217b25d --out-dir /tmp/shadowsocks-rust/target/release/deps -L dependency=/tmp/shadowsocks-rust/target/release/deps --extern matches=/tmp/shadowsocks-rust/target/release/deps/libmatches-5256cc5069546f1c.rlib --cap-lints allow` Compiling textwrap v0.9.0 Running `rustc --crate-name textwrap /home/nagisa/.cargo/registry/src/github.com-1ecc6299db9ec823/textwrap-0.9.0/src/lib.rs --crate-type lib --emit=dep-info,link -C opt-level=3 -C metadata=10ee8d3a9bf5c250 -C extra-filename=-10ee8d3a9bf5c250 --out-dir /tmp/shadowsocks-rust/target/release/deps -L dependency=/tmp/shadowsocks-rust/target/release/deps --extern unicode_width=/tmp/shadowsocks-rust/target/release/deps/libunicode_width-c470f143be15aa45.rlib --cap-lints allow` Compiling block-buffer v0.3.3 Running `rustc --crate-name block_buffer /home/nagisa/.cargo/registry/src/github.com-1ecc6299db9ec823/block-buffer-0.3.3/src/lib.rs --crate-type lib --emit=dep-info,link -C opt-level=3 -C metadata=8bea06083179620b -C extra-filename=-8bea06083179620b --out-dir /tmp/shadowsocks-rust/target/release/deps -L dependency=/tmp/shadowsocks-rust/target/release/deps --extern byte_tools=/tmp/shadowsocks-rust/target/release/deps/libbyte_tools-c8aea36519a917f0.rlib --extern arrayref=/tmp/shadowsocks-rust/target/release/deps/libarrayref-db0c1222ed878673.rlib --cap-lints allow` Compiling foreign-types v0.3.2 Running `rustc --crate-name foreign_types /home/nagisa/.cargo/registry/src/github.com-1ecc6299db9ec823/foreign-types-0.3.2/src/lib.rs --crate-type lib --emit=dep-info,link -C opt-level=3 -C metadata=6abc578034ff989b -C extra-filename=-6abc578034ff989b --out-dir /tmp/shadowsocks-rust/target/release/deps -L dependency=/tmp/shadowsocks-rust/target/release/deps --extern foreign_types_shared=/tmp/shadowsocks-rust/target/release/deps/libforeign_types_shared-cbd025bb21c6dc2a.rlib --cap-lints allow` Compiling base64 v0.6.0 Running `rustc --crate-name base64 /home/nagisa/.cargo/registry/src/github.com-1ecc6299db9ec823/base64-0.6.0/src/lib.rs --crate-type lib --emit=dep-info,link -C opt-level=3 -C metadata=035681d24c7b6147 -C extra-filename=-035681d24c7b6147 --out-dir /tmp/shadowsocks-rust/target/release/deps -L dependency=/tmp/shadowsocks-rust/target/release/deps --extern safemem=/tmp/shadowsocks-rust/target/release/deps/libsafemem-c7fb685d55aca36a.rlib --extern byteorder=/tmp/shadowsocks-rust/target/release/deps/libbyteorder-74c0a1bfca1d6641.rlib --cap-lints allow` Running `/tmp/shadowsocks-rust/target/release/build/rayon-core-ed588c03a5e84ca6/build-script-build` Compiling coco v0.1.1 Running `rustc --crate-name coco /home/nagisa/.cargo/registry/src/github.com-1ecc6299db9ec823/coco-0.1.1/src/lib.rs --crate-type lib --emit=dep-info,link -C opt-level=3 -C metadata=b3eb3fa05b136fe8 -C extra-filename=-b3eb3fa05b136fe8 --out-dir /tmp/shadowsocks-rust/target/release/deps -L dependency=/tmp/shadowsocks-rust/target/release/deps --extern either=/tmp/shadowsocks-rust/target/release/deps/libeither-3ee8697cc3634786.rlib --extern scopeguard=/tmp/shadowsocks-rust/target/release/deps/libscopeguard-8cca9db2433cf089.rlib --cap-lints allow` Compiling thread_local v0.3.4 Running `rustc --crate-name thread_local /home/nagisa/.cargo/registry/src/github.com-1ecc6299db9ec823/thread_local-0.3.4/src/lib.rs --crate-type lib --emit=dep-info,link -C opt-level=3 -C metadata=23cce0a56fca3ca7 -C extra-filename=-23cce0a56fca3ca7 --out-dir /tmp/shadowsocks-rust/target/release/deps -L dependency=/tmp/shadowsocks-rust/target/release/deps --extern lazy_static=/tmp/shadowsocks-rust/target/release/deps/liblazy_static-46d4f8b8e3c032e1.rlib --extern unreachable=/tmp/shadowsocks-rust/target/release/deps/libunreachable-198c19e8b0932238.rlib --cap-lints allow` Compiling rand v0.3.18 Running `rustc --crate-name rand /home/nagisa/.cargo/registry/src/github.com-1ecc6299db9ec823/rand-0.3.18/src/lib.rs --crate-type lib --emit=dep-info,link -C opt-level=3 -C metadata=8db649e4fe2cdce4 -C extra-filename=-8db649e4fe2cdce4 --out-dir /tmp/shadowsocks-rust/target/release/deps -L dependency=/tmp/shadowsocks-rust/target/release/deps --extern libc=/tmp/shadowsocks-rust/target/release/deps/liblibc-ba5f7ea6f1f21b48.rlib --cap-lints allow` Compiling net2 v0.2.31 Running `rustc --crate-name net2 /home/nagisa/.cargo/registry/src/github.com-1ecc6299db9ec823/net2-0.2.31/src/lib.rs --crate-type lib --emit=dep-info,link -C opt-level=3 --cfg 'feature="default"' --cfg 'feature="duration"' -C metadata=4c74690252799344 -C extra-filename=-4c74690252799344 --out-dir /tmp/shadowsocks-rust/target/release/deps -L dependency=/tmp/shadowsocks-rust/target/release/deps --extern libc=/tmp/shadowsocks-rust/target/release/deps/liblibc-ba5f7ea6f1f21b48.rlib --extern cfg_if=/tmp/shadowsocks-rust/target/release/deps/libcfg_if-7a2cd09612af1e76.rlib --cap-lints allow` Compiling iovec v0.1.1 Running `rustc --crate-name iovec /home/nagisa/.cargo/registry/src/github.com-1ecc6299db9ec823/iovec-0.1.1/src/lib.rs --crate-type lib --emit=dep-info,link -C opt-level=3 -C metadata=09f6fbc68478c317 -C extra-filename=-09f6fbc68478c317 --out-dir /tmp/shadowsocks-rust/target/release/deps -L dependency=/tmp/shadowsocks-rust/target/release/deps --extern libc=/tmp/shadowsocks-rust/target/release/deps/liblibc-ba5f7ea6f1f21b48.rlib --cap-lints allow` Compiling time v0.1.38 Running `rustc --crate-name time /home/nagisa/.cargo/registry/src/github.com-1ecc6299db9ec823/time-0.1.38/src/lib.rs --crate-type lib --emit=dep-info,link -C opt-level=3 -C metadata=cc591e3e742b34d4 -C extra-filename=-cc591e3e742b34d4 --out-dir /tmp/shadowsocks-rust/target/release/deps -L dependency=/tmp/shadowsocks-rust/target/release/deps --extern libc=/tmp/shadowsocks-rust/target/release/deps/liblibc-ba5f7ea6f1f21b48.rlib --cap-lints allow` Compiling subprocess v0.1.12 Running `rustc --crate-name subprocess /home/nagisa/.cargo/registry/src/github.com-1ecc6299db9ec823/subprocess-0.1.12/src/lib.rs --crate-type lib --emit=dep-info,link -C opt-level=3 -C metadata=34509b54499fe5e6 -C extra-filename=-34509b54499fe5e6 --out-dir /tmp/shadowsocks-rust/target/release/deps -L dependency=/tmp/shadowsocks-rust/target/release/deps --extern libc=/tmp/shadowsocks-rust/target/release/deps/liblibc-ba5f7ea6f1f21b48.rlib --cap-lints allow` Compiling memchr v2.0.1 Running `rustc --crate-name memchr /home/nagisa/.cargo/registry/src/github.com-1ecc6299db9ec823/memchr-2.0.1/src/lib.rs --crate-type lib --emit=dep-info,link -C opt-level=3 --cfg 'feature="default"' --cfg 'feature="libc"' --cfg 'feature="use_std"' -C metadata=a240f74213aad3d2 -C extra-filename=-a240f74213aad3d2 --out-dir /tmp/shadowsocks-rust/target/release/deps -L dependency=/tmp/shadowsocks-rust/target/release/deps --extern libc=/tmp/shadowsocks-rust/target/release/deps/liblibc-ba5f7ea6f1f21b48.rlib --cap-lints allow` Compiling num_cpus v1.7.0 Running `rustc --crate-name num_cpus /home/nagisa/.cargo/registry/src/github.com-1ecc6299db9ec823/num_cpus-1.7.0/src/lib.rs --crate-type lib --emit=dep-info,link -C opt-level=3 -C metadata=999752cd0fb27668 -C extra-filename=-999752cd0fb27668 --out-dir /tmp/shadowsocks-rust/target/release/deps -L dependency=/tmp/shadowsocks-rust/target/release/deps --extern libc=/tmp/shadowsocks-rust/target/release/deps/liblibc-ba5f7ea6f1f21b48.rlib --cap-lints allow` Compiling atty v0.2.3 Running `rustc --crate-name atty /home/nagisa/.cargo/registry/src/github.com-1ecc6299db9ec823/atty-0.2.3/src/lib.rs --crate-type lib --emit=dep-info,link -C opt-level=3 -C metadata=dea69ccecaed101d -C extra-filename=-dea69ccecaed101d --out-dir /tmp/shadowsocks-rust/target/release/deps -L dependency=/tmp/shadowsocks-rust/target/release/deps --extern libc=/tmp/shadowsocks-rust/target/release/deps/liblibc-ba5f7ea6f1f21b48.rlib --cap-lints allow` Compiling bytes v0.4.5 Running `rustc --crate-name bytes /home/nagisa/.cargo/registry/src/github.com-1ecc6299db9ec823/bytes-0.4.5/src/lib.rs --crate-type lib --emit=dep-info,link -C opt-level=3 -C metadata=4c0577d8394c2104 -C extra-filename=-4c0577d8394c2104 --out-dir /tmp/shadowsocks-rust/target/release/deps -L dependency=/tmp/shadowsocks-rust/target/release/deps --extern byteorder=/tmp/shadowsocks-rust/target/release/deps/libbyteorder-74c0a1bfca1d6641.rlib --extern iovec=/tmp/shadowsocks-rust/target/release/deps/libiovec-09f6fbc68478c317.rlib --cap-lints allow` Compiling aho-corasick v0.6.4 Running `rustc --crate-name aho_corasick /home/nagisa/.cargo/registry/src/github.com-1ecc6299db9ec823/aho-corasick-0.6.4/src/lib.rs --crate-type lib --emit=dep-info,link -C opt-level=3 -C metadata=6ef8a8c860398a30 -C extra-filename=-6ef8a8c860398a30 --out-dir /tmp/shadowsocks-rust/target/release/deps -L dependency=/tmp/shadowsocks-rust/target/release/deps --extern memchr=/tmp/shadowsocks-rust/target/release/deps/libmemchr-a240f74213aad3d2.rlib --cap-lints allow` Compiling clap v2.28.0 Running `rustc --crate-name clap /home/nagisa/.cargo/registry/src/github.com-1ecc6299db9ec823/clap-2.28.0/src/lib.rs --crate-type lib --emit=dep-info,link -C opt-level=3 --cfg 'feature="ansi_term"' --cfg 'feature="atty"' --cfg 'feature="color"' --cfg 'feature="default"' --cfg 'feature="strsim"' --cfg 'feature="suggestions"' --cfg 'feature="vec_map"' -C metadata=65b8076b3c0dd8ee -C extra-filename=-65b8076b3c0dd8ee --out-dir /tmp/shadowsocks-rust/target/release/deps -L dependency=/tmp/shadowsocks-rust/target/release/deps --extern textwrap=/tmp/shadowsocks-rust/target/release/deps/libtextwrap-10ee8d3a9bf5c250.rlib --extern bitflags=/tmp/shadowsocks-rust/target/release/deps/libbitflags-a13f1ffac440f1ec.rlib --extern atty=/tmp/shadowsocks-rust/target/release/deps/libatty-dea69ccecaed101d.rlib --extern vec_map=/tmp/shadowsocks-rust/target/release/deps/libvec_map-0da17cfd5da9a343.rlib --extern strsim=/tmp/shadowsocks-rust/target/release/deps/libstrsim-33327a59552cfe58.rlib --extern unicode_width=/tmp/shadowsocks-rust/target/release/deps/libunicode_width-c470f143be15aa45.rlib --extern ansi_term=/tmp/shadowsocks-rust/target/release/deps/libansi_term-bc45a867939ff1ad.rlib --cap-lints allow` Compiling libsodium-ffi v0.1.9 Running `rustc --crate-name build_script_build /home/nagisa/.cargo/registry/src/github.com-1ecc6299db9ec823/libsodium-ffi-0.1.9/build.rs --crate-type bin --emit=dep-info,link -C opt-level=3 -C metadata=d5b7c980a86ccf38 -C extra-filename=-d5b7c980a86ccf38 --out-dir /tmp/shadowsocks-rust/target/release/build/libsodium-ffi-d5b7c980a86ccf38 -L dependency=/tmp/shadowsocks-rust/target/release/deps --extern pkg_config=/tmp/shadowsocks-rust/target/release/deps/libpkg_config-6c4e2ffab3eed3f3.rlib --cap-lints allow` Compiling mio v0.6.11 Running `rustc --crate-name mio /home/nagisa/.cargo/registry/src/github.com-1ecc6299db9ec823/mio-0.6.11/src/lib.rs --crate-type lib --emit=dep-info,link -C opt-level=3 --cfg 'feature="default"' --cfg 'feature="with-deprecated"' -C metadata=5e9aa10ea1f78f9f -C extra-filename=-5e9aa10ea1f78f9f --out-dir /tmp/shadowsocks-rust/target/release/deps -L dependency=/tmp/shadowsocks-rust/target/release/deps --extern libc=/tmp/shadowsocks-rust/target/release/deps/liblibc-ba5f7ea6f1f21b48.rlib --extern slab=/tmp/shadowsocks-rust/target/release/deps/libslab-3dc680c5bc737239.rlib --extern iovec=/tmp/shadowsocks-rust/target/release/deps/libiovec-09f6fbc68478c317.rlib --extern lazycell=/tmp/shadowsocks-rust/target/release/deps/liblazycell-5b4619b4c51ad2a7.rlib --extern net2=/tmp/shadowsocks-rust/target/release/deps/libnet2-4c74690252799344.rlib --extern log=/tmp/shadowsocks-rust/target/release/deps/liblog-e1645c2cacfb5151.rlib --cap-lints allow` Running `/tmp/shadowsocks-rust/target/release/build/typenum-d49348d85a3e9cc4/build-script-main` Running `rustc --crate-name typenum /home/nagisa/.cargo/registry/src/github.com-1ecc6299db9ec823/typenum-1.9.0/src/lib.rs --crate-type lib --emit=dep-info,link -C opt-level=3 -C metadata=951eae4f439ce149 -C extra-filename=-951eae4f439ce149 --out-dir /tmp/shadowsocks-rust/target/release/deps -L dependency=/tmp/shadowsocks-rust/target/release/deps --cap-lints allow` Compiling idna v0.1.4 Running `rustc --crate-name idna /home/nagisa/.cargo/registry/src/github.com-1ecc6299db9ec823/idna-0.1.4/src/lib.rs --crate-type lib --emit=dep-info,link -C opt-level=3 -C metadata=110745cdccf13654 -C extra-filename=-110745cdccf13654 --out-dir /tmp/shadowsocks-rust/target/release/deps -L dependency=/tmp/shadowsocks-rust/target/release/deps --extern matches=/tmp/shadowsocks-rust/target/release/deps/libmatches-5256cc5069546f1c.rlib --extern unicode_bidi=/tmp/shadowsocks-rust/target/release/deps/libunicode_bidi-600f13fe5217b25d.rlib --extern unicode_normalization=/tmp/shadowsocks-rust/target/release/deps/libunicode_normalization-44f787513531369e.rlib --cap-lints allow` Compiling tokio-io v0.1.4 Running `rustc --crate-name tokio_io /home/nagisa/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-io-0.1.4/src/lib.rs --crate-type lib --emit=dep-info,link -C opt-level=3 -C metadata=c830d0fb9976f3c4 -C extra-filename=-c830d0fb9976f3c4 --out-dir /tmp/shadowsocks-rust/target/release/deps -L dependency=/tmp/shadowsocks-rust/target/release/deps --extern log=/tmp/shadowsocks-rust/target/release/deps/liblog-e1645c2cacfb5151.rlib --extern futures=/tmp/shadowsocks-rust/target/release/deps/libfutures-05f07acfff7847a7.rlib --extern bytes=/tmp/shadowsocks-rust/target/release/deps/libbytes-4c0577d8394c2104.rlib --cap-lints allow` Compiling futures-cpupool v0.1.7 Running `rustc --crate-name futures_cpupool /home/nagisa/.cargo/registry/src/github.com-1ecc6299db9ec823/futures-cpupool-0.1.7/src/lib.rs --crate-type lib --emit=dep-info,link -C opt-level=3 --cfg 'feature="default"' --cfg 'feature="futures"' --cfg 'feature="with-deprecated"' -C metadata=d2d37391f76a95d3 -C extra-filename=-d2d37391f76a95d3 --out-dir /tmp/shadowsocks-rust/target/release/deps -L dependency=/tmp/shadowsocks-rust/target/release/deps --extern futures=/tmp/shadowsocks-rust/target/release/deps/libfutures-05f07acfff7847a7.rlib --extern num_cpus=/tmp/shadowsocks-rust/target/release/deps/libnum_cpus-999752cd0fb27668.rlib --cap-lints allow` Running `rustc --crate-name rayon_core /home/nagisa/.cargo/registry/src/github.com-1ecc6299db9ec823/rayon-core-1.3.0/src/lib.rs --crate-type lib --emit=dep-info,link -C opt-level=3 -C metadata=1d3e0eb7ab6a87dc -C extra-filename=-1d3e0eb7ab6a87dc --out-dir /tmp/shadowsocks-rust/target/release/deps -L dependency=/tmp/shadowsocks-rust/target/release/deps --extern lazy_static=/tmp/shadowsocks-rust/target/release/deps/liblazy_static-46d4f8b8e3c032e1.rlib --extern coco=/tmp/shadowsocks-rust/target/release/deps/libcoco-b3eb3fa05b136fe8.rlib --extern rand=/tmp/shadowsocks-rust/target/release/deps/librand-8db649e4fe2cdce4.rlib --extern libc=/tmp/shadowsocks-rust/target/release/deps/liblibc-ba5f7ea6f1f21b48.rlib --extern num_cpus=/tmp/shadowsocks-rust/target/release/deps/libnum_cpus-999752cd0fb27668.rlib --cap-lints allow` Running `/tmp/shadowsocks-rust/target/release/build/libsodium-ffi-d5b7c980a86ccf38/build-script-build` Compiling generic-array v0.8.3 Running `rustc --crate-name generic_array /home/nagisa/.cargo/registry/src/github.com-1ecc6299db9ec823/generic-array-0.8.3/src/lib.rs --crate-type lib --emit=dep-info,link -C opt-level=3 -C metadata=d88a3c4d73376547 -C extra-filename=-d88a3c4d73376547 --out-dir /tmp/shadowsocks-rust/target/release/deps -L dependency=/tmp/shadowsocks-rust/target/release/deps --extern typenum=/tmp/shadowsocks-rust/target/release/deps/libtypenum-951eae4f439ce149.rlib --extern nodrop=/tmp/shadowsocks-rust/target/release/deps/libnodrop-22bb987d4d3a2979.rlib --cap-lints allow` Compiling digest v0.6.2 Running `rustc --crate-name digest /home/nagisa/.cargo/registry/src/github.com-1ecc6299db9ec823/digest-0.6.2/src/lib.rs --crate-type lib --emit=dep-info,link -C opt-level=3 -C metadata=f28bff71660ebe2a -C extra-filename=-f28bff71660ebe2a --out-dir /tmp/shadowsocks-rust/target/release/deps -L dependency=/tmp/shadowsocks-rust/target/release/deps --extern generic_array=/tmp/shadowsocks-rust/target/release/deps/libgeneric_array-d88a3c4d73376547.rlib --cap-lints allow` Compiling md-5 v0.5.2 Running `rustc --crate-name md_5 /home/nagisa/.cargo/registry/src/github.com-1ecc6299db9ec823/md-5-0.5.2/src/lib.rs --crate-type lib --emit=dep-info,link -C opt-level=3 --cfg 'feature="default"' --cfg 'feature="digest"' --cfg 'feature="generic"' --cfg 'feature="generic-array"' -C metadata=81f633839830a61d -C extra-filename=-81f633839830a61d --out-dir /tmp/shadowsocks-rust/target/release/deps -L dependency=/tmp/shadowsocks-rust/target/release/deps --extern generic_array=/tmp/shadowsocks-rust/target/release/deps/libgeneric_array-d88a3c4d73376547.rlib --extern block_buffer=/tmp/shadowsocks-rust/target/release/deps/libblock_buffer-8bea06083179620b.rlib --extern digest=/tmp/shadowsocks-rust/target/release/deps/libdigest-f28bff71660ebe2a.rlib --extern byte_tools=/tmp/shadowsocks-rust/target/release/deps/libbyte_tools-c8aea36519a917f0.rlib --cap-lints allow` Compiling rayon v0.7.1 Running `rustc --crate-name rayon /home/nagisa/.cargo/registry/src/github.com-1ecc6299db9ec823/rayon-0.7.1/src/lib.rs --crate-type lib --emit=dep-info,link -C opt-level=3 -C metadata=e27343e835c30f38 -C extra-filename=-e27343e835c30f38 --out-dir /tmp/shadowsocks-rust/target/release/deps -L dependency=/tmp/shadowsocks-rust/target/release/deps --extern rayon_core=/tmp/shadowsocks-rust/target/release/deps/librayon_core-1d3e0eb7ab6a87dc.rlib --cap-lints allow` Compiling openssl-sys v0.9.22 Running `rustc --crate-name build_script_build /home/nagisa/.cargo/registry/src/github.com-1ecc6299db9ec823/openssl-sys-0.9.22/build.rs --crate-type bin --emit=dep-info,link -C opt-level=3 -C metadata=7efe94898ccc7a70 -C extra-filename=-7efe94898ccc7a70 --out-dir /tmp/shadowsocks-rust/target/release/build/openssl-sys-7efe94898ccc7a70 -L dependency=/tmp/shadowsocks-rust/target/release/deps --extern cc=/tmp/shadowsocks-rust/target/release/deps/libcc-d40825882e3e0ae2.rlib --extern pkg_config=/tmp/shadowsocks-rust/target/release/deps/libpkg_config-6c4e2ffab3eed3f3.rlib --cap-lints allow` Compiling mio-uds v0.6.4 Compiling tokio-core v0.1.10 Running `rustc --crate-name mio_uds /home/nagisa/.cargo/registry/src/github.com-1ecc6299db9ec823/mio-uds-0.6.4/src/lib.rs --crate-type lib --emit=dep-info,link -C opt-level=3 -C metadata=c045e4559d5cfa98 -C extra-filename=-c045e4559d5cfa98 --out-dir /tmp/shadowsocks-rust/target/release/deps -L dependency=/tmp/shadowsocks-rust/target/release/deps --extern mio=/tmp/shadowsocks-rust/target/release/deps/libmio-5e9aa10ea1f78f9f.rlib --extern libc=/tmp/shadowsocks-rust/target/release/deps/liblibc-ba5f7ea6f1f21b48.rlib --cap-lints allow` Running `rustc --crate-name tokio_core /home/nagisa/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-core-0.1.10/src/lib.rs --crate-type lib --emit=dep-info,link -C opt-level=3 -C metadata=43c309e098f06667 -C extra-filename=-43c309e098f06667 --out-dir /tmp/shadowsocks-rust/target/release/deps -L dependency=/tmp/shadowsocks-rust/target/release/deps --extern scoped_tls=/tmp/shadowsocks-rust/target/release/deps/libscoped_tls-94cf1c46eaf7da14.rlib --extern log=/tmp/shadowsocks-rust/target/release/deps/liblog-e1645c2cacfb5151.rlib --extern futures=/tmp/shadowsocks-rust/target/release/deps/libfutures-05f07acfff7847a7.rlib --extern slab=/tmp/shadowsocks-rust/target/release/deps/libslab-51d59ce5f08308bd.rlib --extern bytes=/tmp/shadowsocks-rust/target/release/deps/libbytes-4c0577d8394c2104.rlib --extern iovec=/tmp/shadowsocks-rust/target/release/deps/libiovec-09f6fbc68478c317.rlib --extern tokio_io=/tmp/shadowsocks-rust/target/release/deps/libtokio_io-c830d0fb9976f3c4.rlib --extern mio=/tmp/shadowsocks-rust/target/release/deps/libmio-5e9aa10ea1f78f9f.rlib --cap-lints allow` Compiling url v1.6.0 Running `rustc --crate-name url /home/nagisa/.cargo/registry/src/github.com-1ecc6299db9ec823/url-1.6.0/src/lib.rs --crate-type lib --emit=dep-info,link -C opt-level=3 -C metadata=d47169341bb39f34 -C extra-filename=-d47169341bb39f34 --out-dir /tmp/shadowsocks-rust/target/release/deps -L dependency=/tmp/shadowsocks-rust/target/release/deps --extern percent_encoding=/tmp/shadowsocks-rust/target/release/deps/libpercent_encoding-1286984d4c3162b4.rlib --extern idna=/tmp/shadowsocks-rust/target/release/deps/libidna-110745cdccf13654.rlib --extern matches=/tmp/shadowsocks-rust/target/release/deps/libmatches-5256cc5069546f1c.rlib --cap-lints allow` Compiling ring v0.11.0 Running `rustc --crate-name build_script_build /home/nagisa/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.11.0/build.rs --crate-type bin --emit=dep-info,link -C opt-level=3 --cfg 'feature="default"' --cfg 'feature="dev_urandom_fallback"' --cfg 'feature="use_heap"' -C metadata=8d71ee40451a6243 -C extra-filename=-8d71ee40451a6243 --out-dir /tmp/shadowsocks-rust/target/release/build/ring-8d71ee40451a6243 -L dependency=/tmp/shadowsocks-rust/target/release/deps --extern rayon=/tmp/shadowsocks-rust/target/release/deps/librayon-e27343e835c30f38.rlib --extern gcc=/tmp/shadowsocks-rust/target/release/deps/libgcc-82cad37d2e3a0d27.rlib --cap-lints allow` Compiling serde_json v1.0.7 Running `rustc --crate-name serde_json /home/nagisa/.cargo/registry/src/github.com-1ecc6299db9ec823/serde_json-1.0.7/src/lib.rs --crate-type lib --emit=dep-info,link -C opt-level=3 --cfg 'feature="default"' -C metadata=349bc73f3571259b -C extra-filename=-349bc73f3571259b --out-dir /tmp/shadowsocks-rust/target/release/deps -L dependency=/tmp/shadowsocks-rust/target/release/deps --extern itoa=/tmp/shadowsocks-rust/target/release/deps/libitoa-395082b30328b1c6.rlib --extern num_traits=/tmp/shadowsocks-rust/target/release/deps/libnum_traits-887282983f0b1b4f.rlib --extern dtoa=/tmp/shadowsocks-rust/target/release/deps/libdtoa-8a28b1cd3c0ace11.rlib --extern serde=/tmp/shadowsocks-rust/target/release/deps/libserde-88117e67d7a67da2.rlib --cap-lints allow` Running `/tmp/shadowsocks-rust/target/release/build/openssl-sys-7efe94898ccc7a70/build-script-build` Running `rustc --crate-name openssl_sys /home/nagisa/.cargo/registry/src/github.com-1ecc6299db9ec823/openssl-sys-0.9.22/src/lib.rs --crate-type lib --emit=dep-info,link -C opt-level=3 -C metadata=1117b3b2d33143f2 -C extra-filename=-1117b3b2d33143f2 --out-dir /tmp/shadowsocks-rust/target/release/deps -L dependency=/tmp/shadowsocks-rust/target/release/deps --extern libc=/tmp/shadowsocks-rust/target/release/deps/liblibc-ba5f7ea6f1f21b48.rlib --cap-lints allow -L native=/nix/store/v8z56hjwli0yxqczzajg5fhi4n6vm65f-openssl-1.0.2n/lib --cfg 'osslconf="OPENSSL_NO_KRB5"' --cfg 'osslconf="OPENSSL_NO_RFC3779"' --cfg ossl102 -l ssl -l crypto` Running `/tmp/shadowsocks-rust/target/release/build/openssl-2e102065f13c215f/build-script-build` Running `rustc --crate-name openssl /home/nagisa/.cargo/registry/src/github.com-1ecc6299db9ec823/openssl-0.9.22/src/lib.rs --crate-type lib --emit=dep-info,link -C opt-level=3 -C metadata=9b48c27ce0b4e08e -C extra-filename=-9b48c27ce0b4e08e --out-dir /tmp/shadowsocks-rust/target/release/deps -L dependency=/tmp/shadowsocks-rust/target/release/deps --extern openssl_sys=/tmp/shadowsocks-rust/target/release/deps/libopenssl_sys-1117b3b2d33143f2.rlib --extern lazy_static=/tmp/shadowsocks-rust/target/release/deps/liblazy_static-46d4f8b8e3c032e1.rlib --extern foreign_types=/tmp/shadowsocks-rust/target/release/deps/libforeign_types-6abc578034ff989b.rlib --extern libc=/tmp/shadowsocks-rust/target/release/deps/liblibc-ba5f7ea6f1f21b48.rlib --extern bitflags=/tmp/shadowsocks-rust/target/release/deps/libbitflags-44e1d4fa284b6fbb.rlib --cap-lints allow --cfg ossl102 --cfg ossl10x --cfg 'osslconf="OPENSSL_NO_KRB5"' --cfg 'osslconf="OPENSSL_NO_RFC3779"' -L native=/nix/store/v8z56hjwli0yxqczzajg5fhi4n6vm65f-openssl-1.0.2n/lib` Compiling tokio-signal v0.1.2 Running `rustc --crate-name tokio_signal /home/nagisa/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-signal-0.1.2/src/lib.rs --crate-type lib --emit=dep-info,link -C opt-level=3 -C metadata=1192f70cd1345b40 -C extra-filename=-1192f70cd1345b40 --out-dir /tmp/shadowsocks-rust/target/release/deps -L dependency=/tmp/shadowsocks-rust/target/release/deps --extern libc=/tmp/shadowsocks-rust/target/release/deps/liblibc-ba5f7ea6f1f21b48.rlib --extern tokio_core=/tmp/shadowsocks-rust/target/release/deps/libtokio_core-43c309e098f06667.rlib --extern mio=/tmp/shadowsocks-rust/target/release/deps/libmio-5e9aa10ea1f78f9f.rlib --extern futures=/tmp/shadowsocks-rust/target/release/deps/libfutures-05f07acfff7847a7.rlib --extern mio_uds=/tmp/shadowsocks-rust/target/release/deps/libmio_uds-c045e4559d5cfa98.rlib --cap-lints allow` Compiling regex v0.2.3 Running `rustc --crate-name regex /home/nagisa/.cargo/registry/src/github.com-1ecc6299db9ec823/regex-0.2.3/src/lib.rs --crate-type lib --emit=dep-info,link -C opt-level=3 -C metadata=bd57d6e6d06359fc -C extra-filename=-bd57d6e6d06359fc --out-dir /tmp/shadowsocks-rust/target/release/deps -L dependency=/tmp/shadowsocks-rust/target/release/deps --extern thread_local=/tmp/shadowsocks-rust/target/release/deps/libthread_local-23cce0a56fca3ca7.rlib --extern regex_syntax=/tmp/shadowsocks-rust/target/release/deps/libregex_syntax-7c0a0c86444dc0e2.rlib --extern memchr=/tmp/shadowsocks-rust/target/release/deps/libmemchr-a240f74213aad3d2.rlib --extern aho_corasick=/tmp/shadowsocks-rust/target/release/deps/libaho_corasick-6ef8a8c860398a30.rlib --extern utf8_ranges=/tmp/shadowsocks-rust/target/release/deps/libutf8_ranges-c05e1b01760bf895.rlib --cap-lints allow` Compiling serde_urlencoded v0.5.1 Running `rustc --crate-name serde_urlencoded /home/nagisa/.cargo/registry/src/github.com-1ecc6299db9ec823/serde_urlencoded-0.5.1/src/lib.rs --crate-type lib --emit=dep-info,link -C opt-level=3 -C metadata=848fab6ec6b1ca88 -C extra-filename=-848fab6ec6b1ca88 --out-dir /tmp/shadowsocks-rust/target/release/deps -L dependency=/tmp/shadowsocks-rust/target/release/deps --extern dtoa=/tmp/shadowsocks-rust/target/release/deps/libdtoa-8a28b1cd3c0ace11.rlib --extern url=/tmp/shadowsocks-rust/target/release/deps/liburl-d47169341bb39f34.rlib --extern itoa=/tmp/shadowsocks-rust/target/release/deps/libitoa-395082b30328b1c6.rlib --extern serde=/tmp/shadowsocks-rust/target/release/deps/libserde-88117e67d7a67da2.rlib --cap-lints allow` Running `/tmp/shadowsocks-rust/target/release/build/ring-8d71ee40451a6243/build-script-build` Running `rustc --crate-name ring /home/nagisa/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.11.0/src/lib.rs --crate-type lib --emit=dep-info,link -C opt-level=3 --cfg 'feature="default"' --cfg 'feature="dev_urandom_fallback"' --cfg 'feature="use_heap"' -C metadata=84ba46c3b8455b46 -C extra-filename=-84ba46c3b8455b46 --out-dir /tmp/shadowsocks-rust/target/release/deps -L dependency=/tmp/shadowsocks-rust/target/release/deps --extern lazy_static=/tmp/shadowsocks-rust/target/release/deps/liblazy_static-46d4f8b8e3c032e1.rlib --extern libc=/tmp/shadowsocks-rust/target/release/deps/liblibc-ba5f7ea6f1f21b48.rlib --extern untrusted=/tmp/shadowsocks-rust/target/release/deps/libuntrusted-96ca1fbb565440e6.rlib --cap-lints allow -L native=/tmp/shadowsocks-rust/target/release/build/ring-c207e832565fa168/out -l static=ring-test -l static=ring-core` Running `rustc --crate-name libsodium_ffi /home/nagisa/.cargo/registry/src/github.com-1ecc6299db9ec823/libsodium-ffi-0.1.9/src/lib.rs --crate-type lib --emit=dep-info,link -C opt-level=3 -C metadata=91edec72045c08be -C extra-filename=-91edec72045c08be --out-dir /tmp/shadowsocks-rust/target/release/deps -L dependency=/tmp/shadowsocks-rust/target/release/deps --extern libc=/tmp/shadowsocks-rust/target/release/deps/liblibc-ba5f7ea6f1f21b48.rlib --cap-lints allow -L native=/tmp/shadowsocks-rust/target/release/build/libsodium-ffi-ea4da76e46ce86d3/out/lib -l static=sodium` Compiling env_logger v0.4.3 Running `rustc --crate-name env_logger /home/nagisa/.cargo/registry/src/github.com-1ecc6299db9ec823/env_logger-0.4.3/src/lib.rs --crate-type lib --emit=dep-info,link -C opt-level=3 --cfg 'feature="default"' --cfg 'feature="regex"' -C metadata=466857587eef4afe -C extra-filename=-466857587eef4afe --out-dir /tmp/shadowsocks-rust/target/release/deps -L dependency=/tmp/shadowsocks-rust/target/release/deps --extern log=/tmp/shadowsocks-rust/target/release/deps/liblog-e1645c2cacfb5151.rlib --extern regex=/tmp/shadowsocks-rust/target/release/deps/libregex-bd57d6e6d06359fc.rlib --cap-lints allow` Compiling shadowsocks-rust v1.6.10 (file:///tmp/shadowsocks-rust) Running `rustc --crate-name shadowsocks src/lib.rs --crate-type lib --emit=dep-info,link -C opt-level=3 --cfg 'feature="default"' --cfg 'feature="libsodium-ffi"' --cfg 'feature="sodium"' -C metadata=f3c22cc1195254ef -C extra-filename=-f3c22cc1195254ef --out-dir /tmp/shadowsocks-rust/target/release/deps -L dependency=/tmp/shadowsocks-rust/target/release/deps --extern ring=/tmp/shadowsocks-rust/target/release/deps/libring-84ba46c3b8455b46.rlib --extern tokio_signal=/tmp/shadowsocks-rust/target/release/deps/libtokio_signal-1192f70cd1345b40.rlib --extern libsodium_ffi=/tmp/shadowsocks-rust/target/release/deps/liblibsodium_ffi-91edec72045c08be.rlib --extern md_5=/tmp/shadowsocks-rust/target/release/deps/libmd_5-81f633839830a61d.rlib --extern futures=/tmp/shadowsocks-rust/target/release/deps/libfutures-05f07acfff7847a7.rlib --extern byteorder=/tmp/shadowsocks-rust/target/release/deps/libbyteorder-74c0a1bfca1d6641.rlib --extern libc=/tmp/shadowsocks-rust/target/release/deps/liblibc-ba5f7ea6f1f21b48.rlib --extern log=/tmp/shadowsocks-rust/target/release/deps/liblog-e1645c2cacfb5151.rlib --extern scoped_tls=/tmp/shadowsocks-rust/target/release/deps/libscoped_tls-94cf1c46eaf7da14.rlib --extern typenum=/tmp/shadowsocks-rust/target/release/deps/libtypenum-951eae4f439ce149.rlib --extern base64=/tmp/shadowsocks-rust/target/release/deps/libbase64-035681d24c7b6147.rlib --extern clap=/tmp/shadowsocks-rust/target/release/deps/libclap-65b8076b3c0dd8ee.rlib --extern byte_string=/tmp/shadowsocks-rust/target/release/deps/libbyte_string-99c3e4903d3f5cf4.rlib --extern futures_cpupool=/tmp/shadowsocks-rust/target/release/deps/libfutures_cpupool-d2d37391f76a95d3.rlib --extern rand=/tmp/shadowsocks-rust/target/release/deps/librand-8db649e4fe2cdce4.rlib --extern tokio_core=/tmp/shadowsocks-rust/target/release/deps/libtokio_core-43c309e098f06667.rlib --extern time=/tmp/shadowsocks-rust/target/release/deps/libtime-cc591e3e742b34d4.rlib --extern url=/tmp/shadowsocks-rust/target/release/deps/liburl-d47169341bb39f34.rlib --extern lazy_static=/tmp/shadowsocks-rust/target/release/deps/liblazy_static-46d4f8b8e3c032e1.rlib --extern serde_urlencoded=/tmp/shadowsocks-rust/target/release/deps/libserde_urlencoded-848fab6ec6b1ca88.rlib --extern openssl=/tmp/shadowsocks-rust/target/release/deps/libopenssl-9b48c27ce0b4e08e.rlib --extern env_logger=/tmp/shadowsocks-rust/target/release/deps/libenv_logger-466857587eef4afe.rlib --extern tokio_io=/tmp/shadowsocks-rust/target/release/deps/libtokio_io-c830d0fb9976f3c4.rlib --extern subprocess=/tmp/shadowsocks-rust/target/release/deps/libsubprocess-34509b54499fe5e6.rlib --extern bytes=/tmp/shadowsocks-rust/target/release/deps/libbytes-4c0577d8394c2104.rlib --extern qrcode=/tmp/shadowsocks-rust/target/release/deps/libqrcode-d8583b36270e520d.rlib --extern digest=/tmp/shadowsocks-rust/target/release/deps/libdigest-f28bff71660ebe2a.rlib --extern serde_json=/tmp/shadowsocks-rust/target/release/deps/libserde_json-349bc73f3571259b.rlib -L native=/tmp/shadowsocks-rust/target/release/build/libsodium-ffi-ea4da76e46ce86d3/out/lib -L native=/nix/store/v8z56hjwli0yxqczzajg5fhi4n6vm65f-openssl-1.0.2n/lib -L native=/tmp/shadowsocks-rust/target/release/build/ring-c207e832565fa168/out` Running `rustc --crate-name sslocal src/bin/local.rs --crate-type bin --emit=dep-info,link -C opt-level=3 -C lto --cfg 'feature="default"' --cfg 'feature="libsodium-ffi"' --cfg 'feature="sodium"' -C metadata=a4eaebba15957a2f -C extra-filename=-a4eaebba15957a2f --out-dir /tmp/shadowsocks-rust/target/release/deps -L dependency=/tmp/shadowsocks-rust/target/release/deps --extern ring=/tmp/shadowsocks-rust/target/release/deps/libring-84ba46c3b8455b46.rlib --extern tokio_signal=/tmp/shadowsocks-rust/target/release/deps/libtokio_signal-1192f70cd1345b40.rlib --extern libsodium_ffi=/tmp/shadowsocks-rust/target/release/deps/liblibsodium_ffi-91edec72045c08be.rlib --extern md_5=/tmp/shadowsocks-rust/target/release/deps/libmd_5-81f633839830a61d.rlib --extern futures=/tmp/shadowsocks-rust/target/release/deps/libfutures-05f07acfff7847a7.rlib --extern byteorder=/tmp/shadowsocks-rust/target/release/deps/libbyteorder-74c0a1bfca1d6641.rlib --extern libc=/tmp/shadowsocks-rust/target/release/deps/liblibc-ba5f7ea6f1f21b48.rlib --extern log=/tmp/shadowsocks-rust/target/release/deps/liblog-e1645c2cacfb5151.rlib --extern scoped_tls=/tmp/shadowsocks-rust/target/release/deps/libscoped_tls-94cf1c46eaf7da14.rlib --extern typenum=/tmp/shadowsocks-rust/target/release/deps/libtypenum-951eae4f439ce149.rlib --extern base64=/tmp/shadowsocks-rust/target/release/deps/libbase64-035681d24c7b6147.rlib --extern clap=/tmp/shadowsocks-rust/target/release/deps/libclap-65b8076b3c0dd8ee.rlib --extern byte_string=/tmp/shadowsocks-rust/target/release/deps/libbyte_string-99c3e4903d3f5cf4.rlib --extern futures_cpupool=/tmp/shadowsocks-rust/target/release/deps/libfutures_cpupool-d2d37391f76a95d3.rlib --extern rand=/tmp/shadowsocks-rust/target/release/deps/librand-8db649e4fe2cdce4.rlib --extern tokio_core=/tmp/shadowsocks-rust/target/release/deps/libtokio_core-43c309e098f06667.rlib --extern time=/tmp/shadowsocks-rust/target/release/deps/libtime-cc591e3e742b34d4.rlib --extern url=/tmp/shadowsocks-rust/target/release/deps/liburl-d47169341bb39f34.rlib --extern lazy_static=/tmp/shadowsocks-rust/target/release/deps/liblazy_static-46d4f8b8e3c032e1.rlib --extern serde_urlencoded=/tmp/shadowsocks-rust/target/release/deps/libserde_urlencoded-848fab6ec6b1ca88.rlib --extern openssl=/tmp/shadowsocks-rust/target/release/deps/libopenssl-9b48c27ce0b4e08e.rlib --extern env_logger=/tmp/shadowsocks-rust/target/release/deps/libenv_logger-466857587eef4afe.rlib --extern tokio_io=/tmp/shadowsocks-rust/target/release/deps/libtokio_io-c830d0fb9976f3c4.rlib --extern subprocess=/tmp/shadowsocks-rust/target/release/deps/libsubprocess-34509b54499fe5e6.rlib --extern bytes=/tmp/shadowsocks-rust/target/release/deps/libbytes-4c0577d8394c2104.rlib --extern qrcode=/tmp/shadowsocks-rust/target/release/deps/libqrcode-d8583b36270e520d.rlib --extern digest=/tmp/shadowsocks-rust/target/release/deps/libdigest-f28bff71660ebe2a.rlib --extern serde_json=/tmp/shadowsocks-rust/target/release/deps/libserde_json-349bc73f3571259b.rlib --extern shadowsocks=/tmp/shadowsocks-rust/target/release/deps/libshadowsocks-f3c22cc1195254ef.rlib -L native=/tmp/shadowsocks-rust/target/release/build/libsodium-ffi-ea4da76e46ce86d3/out/lib -L native=/nix/store/v8z56hjwli0yxqczzajg5fhi4n6vm65f-openssl-1.0.2n/lib -L native=/tmp/shadowsocks-rust/target/release/build/ring-c207e832565fa168/out` Running `rustc --crate-name ssserver src/bin/server.rs --crate-type bin --emit=dep-info,link -C opt-level=3 -C lto --cfg 'feature="default"' --cfg 'feature="libsodium-ffi"' --cfg 'feature="sodium"' -C metadata=6eed3beefc1f68c9 -C extra-filename=-6eed3beefc1f68c9 --out-dir /tmp/shadowsocks-rust/target/release/deps -L dependency=/tmp/shadowsocks-rust/target/release/deps --extern ring=/tmp/shadowsocks-rust/target/release/deps/libring-84ba46c3b8455b46.rlib --extern tokio_signal=/tmp/shadowsocks-rust/target/release/deps/libtokio_signal-1192f70cd1345b40.rlib --extern libsodium_ffi=/tmp/shadowsocks-rust/target/release/deps/liblibsodium_ffi-91edec72045c08be.rlib --extern md_5=/tmp/shadowsocks-rust/target/release/deps/libmd_5-81f633839830a61d.rlib --extern futures=/tmp/shadowsocks-rust/target/release/deps/libfutures-05f07acfff7847a7.rlib --extern byteorder=/tmp/shadowsocks-rust/target/release/deps/libbyteorder-74c0a1bfca1d6641.rlib --extern libc=/tmp/shadowsocks-rust/target/release/deps/liblibc-ba5f7ea6f1f21b48.rlib --extern log=/tmp/shadowsocks-rust/target/release/deps/liblog-e1645c2cacfb5151.rlib --extern scoped_tls=/tmp/shadowsocks-rust/target/release/deps/libscoped_tls-94cf1c46eaf7da14.rlib --extern typenum=/tmp/shadowsocks-rust/target/release/deps/libtypenum-951eae4f439ce149.rlib --extern base64=/tmp/shadowsocks-rust/target/release/deps/libbase64-035681d24c7b6147.rlib --extern clap=/tmp/shadowsocks-rust/target/release/deps/libclap-65b8076b3c0dd8ee.rlib --extern byte_string=/tmp/shadowsocks-rust/target/release/deps/libbyte_string-99c3e4903d3f5cf4.rlib --extern futures_cpupool=/tmp/shadowsocks-rust/target/release/deps/libfutures_cpupool-d2d37391f76a95d3.rlib --extern rand=/tmp/shadowsocks-rust/target/release/deps/librand-8db649e4fe2cdce4.rlib --extern tokio_core=/tmp/shadowsocks-rust/target/release/deps/libtokio_core-43c309e098f06667.rlib --extern time=/tmp/shadowsocks-rust/target/release/deps/libtime-cc591e3e742b34d4.rlib --extern url=/tmp/shadowsocks-rust/target/release/deps/liburl-d47169341bb39f34.rlib --extern lazy_static=/tmp/shadowsocks-rust/target/release/deps/liblazy_static-46d4f8b8e3c032e1.rlib --extern serde_urlencoded=/tmp/shadowsocks-rust/target/release/deps/libserde_urlencoded-848fab6ec6b1ca88.rlib --extern openssl=/tmp/shadowsocks-rust/target/release/deps/libopenssl-9b48c27ce0b4e08e.rlib --extern env_logger=/tmp/shadowsocks-rust/target/release/deps/libenv_logger-466857587eef4afe.rlib --extern tokio_io=/tmp/shadowsocks-rust/target/release/deps/libtokio_io-c830d0fb9976f3c4.rlib --extern subprocess=/tmp/shadowsocks-rust/target/release/deps/libsubprocess-34509b54499fe5e6.rlib --extern bytes=/tmp/shadowsocks-rust/target/release/deps/libbytes-4c0577d8394c2104.rlib --extern qrcode=/tmp/shadowsocks-rust/target/release/deps/libqrcode-d8583b36270e520d.rlib --extern digest=/tmp/shadowsocks-rust/target/release/deps/libdigest-f28bff71660ebe2a.rlib --extern serde_json=/tmp/shadowsocks-rust/target/release/deps/libserde_json-349bc73f3571259b.rlib --extern shadowsocks=/tmp/shadowsocks-rust/target/release/deps/libshadowsocks-f3c22cc1195254ef.rlib -L native=/tmp/shadowsocks-rust/target/release/build/libsodium-ffi-ea4da76e46ce86d3/out/lib -L native=/nix/store/v8z56hjwli0yxqczzajg5fhi4n6vm65f-openssl-1.0.2n/lib -L native=/tmp/shadowsocks-rust/target/release/build/ring-c207e832565fa168/out` Running `rustc --crate-name ssurl src/bin/ssurl.rs --crate-type bin --emit=dep-info,link -C opt-level=3 -C lto --cfg 'feature="default"' --cfg 'feature="libsodium-ffi"' --cfg 'feature="sodium"' -C metadata=67668b0be2ab0fec -C extra-filename=-67668b0be2ab0fec --out-dir /tmp/shadowsocks-rust/target/release/deps -L dependency=/tmp/shadowsocks-rust/target/release/deps --extern ring=/tmp/shadowsocks-rust/target/release/deps/libring-84ba46c3b8455b46.rlib --extern tokio_signal=/tmp/shadowsocks-rust/target/release/deps/libtokio_signal-1192f70cd1345b40.rlib --extern libsodium_ffi=/tmp/shadowsocks-rust/target/release/deps/liblibsodium_ffi-91edec72045c08be.rlib --extern md_5=/tmp/shadowsocks-rust/target/release/deps/libmd_5-81f633839830a61d.rlib --extern futures=/tmp/shadowsocks-rust/target/release/deps/libfutures-05f07acfff7847a7.rlib --extern byteorder=/tmp/shadowsocks-rust/target/release/deps/libbyteorder-74c0a1bfca1d6641.rlib --extern libc=/tmp/shadowsocks-rust/target/release/deps/liblibc-ba5f7ea6f1f21b48.rlib --extern log=/tmp/shadowsocks-rust/target/release/deps/liblog-e1645c2cacfb5151.rlib --extern scoped_tls=/tmp/shadowsocks-rust/target/release/deps/libscoped_tls-94cf1c46eaf7da14.rlib --extern typenum=/tmp/shadowsocks-rust/target/release/deps/libtypenum-951eae4f439ce149.rlib --extern base64=/tmp/shadowsocks-rust/target/release/deps/libbase64-035681d24c7b6147.rlib --extern clap=/tmp/shadowsocks-rust/target/release/deps/libclap-65b8076b3c0dd8ee.rlib --extern byte_string=/tmp/shadowsocks-rust/target/release/deps/libbyte_string-99c3e4903d3f5cf4.rlib --extern futures_cpupool=/tmp/shadowsocks-rust/target/release/deps/libfutures_cpupool-d2d37391f76a95d3.rlib --extern rand=/tmp/shadowsocks-rust/target/release/deps/librand-8db649e4fe2cdce4.rlib --extern tokio_core=/tmp/shadowsocks-rust/target/release/deps/libtokio_core-43c309e098f06667.rlib --extern time=/tmp/shadowsocks-rust/target/release/deps/libtime-cc591e3e742b34d4.rlib --extern url=/tmp/shadowsocks-rust/target/release/deps/liburl-d47169341bb39f34.rlib --extern lazy_static=/tmp/shadowsocks-rust/target/release/deps/liblazy_static-46d4f8b8e3c032e1.rlib --extern serde_urlencoded=/tmp/shadowsocks-rust/target/release/deps/libserde_urlencoded-848fab6ec6b1ca88.rlib --extern openssl=/tmp/shadowsocks-rust/target/release/deps/libopenssl-9b48c27ce0b4e08e.rlib --extern env_logger=/tmp/shadowsocks-rust/target/release/deps/libenv_logger-466857587eef4afe.rlib --extern tokio_io=/tmp/shadowsocks-rust/target/release/deps/libtokio_io-c830d0fb9976f3c4.rlib --extern subprocess=/tmp/shadowsocks-rust/target/release/deps/libsubprocess-34509b54499fe5e6.rlib --extern bytes=/tmp/shadowsocks-rust/target/release/deps/libbytes-4c0577d8394c2104.rlib --extern qrcode=/tmp/shadowsocks-rust/target/release/deps/libqrcode-d8583b36270e520d.rlib --extern digest=/tmp/shadowsocks-rust/target/release/deps/libdigest-f28bff71660ebe2a.rlib --extern serde_json=/tmp/shadowsocks-rust/target/release/deps/libserde_json-349bc73f3571259b.rlib --extern shadowsocks=/tmp/shadowsocks-rust/target/release/deps/libshadowsocks-f3c22cc1195254ef.rlib -L native=/tmp/shadowsocks-rust/target/release/build/libsodium-ffi-ea4da76e46ce86d3/out/lib -L native=/nix/store/v8z56hjwli0yxqczzajg5fhi4n6vm65f-openssl-1.0.2n/lib -L native=/tmp/shadowsocks-rust/target/release/build/ring-c207e832565fa168/out` Finished release [optimized] target(s) in 178.61 secs ```
    Finished release [optimized] target(s) in 178.61 secs

on stable. Not sure if compilation process is doing equivalent amount of work between stable and nightly here (I’m sure the majority of the improvement is from codegen-units), but at least the compilation does not take forever on my branch now! Will cleanup and submit a PR tomorrow.

serge-sans-paille commented 6 years ago

For the record, https://reviews.llvm.org/D41296 got merged recently and should limit the memory consumption on debug build too.

alexcrichton commented 6 years ago

@nagisa can you confirm this is fixed now that https://github.com/rust-lang/rust/pull/47220 is merged?

nagisa commented 6 years ago

Yeah, I can compile current shadowsocks master just fine.

zonyitoo commented 6 years ago

Thank you all !!!