faster icon indicating copy to clipboard operation
faster copied to clipboard

Failed to build faster version = "0.5.2" with rustc 1.53.0-nightly (07e0e2ec2 2021-03-24)

Open FrontMage opened this issue 3 years ago • 3 comments

Hi, I'm trying to using faster on my project, but I can't seem to build it on my machine. Does not seems to be the problem of rust but the problem with vektor crate.

error[E0425]: cannot find function `_mm_extract_pi16` in module `crate::myarch`
    --> /home/xinbg/.cargo/registry/src/mirrors.ustc.edu.cn-12df342d903acd47/vektor-0.2.2/src/x86/sse.rs:1292:28
     |
1292 |             crate::myarch::_mm_extract_pi16(crate::mem::transmute(a), $imm8)
     |                            ^^^^^^^^^^^^^^^^
...
1296 |     crate::mem::transmute(constify_imm8!(imm2, call))
     |                           -------------------------- in this macro invocation
     |
    ::: /home/xinbg/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/../../stdarch/crates/core_arch/src/x86/sse2.rs:1419:1
     |
1419 | pub unsafe fn _mm_extract_epi16(a: __m128i, imm8: i32) -> i32 {
     | ------------------------------------------------------------- similarly named function `_mm_extract_epi16` defined here
     |
     = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
help: a function with a similar name exists
     |
1292 |             crate::myarch::_mm_extract_epi16(crate::mem::transmute(a), $imm8)
     |                            ^^^^^^^^^^^^^^^^^
help: consider importing this function
     |
5    | use crate::_mm_extract_pi16;
     |

^C  Building [=====================>       ] 7/9: vektor

Is there anything I'm missing to make faster 0.5.2 work? Thx for the help!

FrontMage avatar Apr 23 '21 15:04 FrontMage

I had the same issue. Tried to compile it on Windows, MacOs and Linux.

Eventually I came up with the understanding that all those compilation errors come from Rust compatibility issues. By trial and error method I figured out that the last Rust toolchain version which still allows you to compile faster crate is nightly-2020-08-27 (Rust version 1.46.0).

You can install that version and see that the crate compiles flawlesly on it but fails to compile on any further version of toolchain.

Reading release notes for Rust version 1.47.0 which is the first one who fails to compile the crate, it's not clear to me yet what exactly from that list breaks down faster compilation.

risboo6909 avatar Jul 18 '21 20:07 risboo6909

@risboo6909 good answer. But after reading it, my first question is whether this crate still alive or dead?

ghost avatar Jul 26 '21 14:07 ghost

@halldong I don't know. It looks to me that this library requires a lot of effort to make it compile again. Can't say anything concrete because I'm not an author of the crate.

risboo6909 avatar Jul 26 '21 15:07 risboo6909