AdamNiederer / faster

SIMD for humans
Mozilla Public License 2.0
1.56k stars 51 forks source link

I cannot compile this crate #56

Closed garro95 closed 6 years ago

garro95 commented 6 years ago

I tried several times to compile this crate version 0.4.3, using different versions of the nightly compiler and also the stable one. When I use the nightly compilers I get lots of errors of kind:

error: #[target_feature] attribute must be of the form #[target_feature(..)]
   --> /home/---------/.cargo/registry/src/github.com-1ecc6299db9ec823/coresimd-0.0.4/src/x86/x86_64/xsave.rs:103:1
    |
103 | #[target_feature = "+xsave,+xsaves"]

and then

error: aborting due to 973 previous errors

error: Could not compile `coresimd`.

When using the stable one I get

error[E0554]: #![feature] may not be used on the stable release channel
  --> /home/----------/.cargo/registry/src/github.com-1ecc6299db9ec823/coresimd-0.0.4/src/lib.rs:14:1
   |
14 | / #![feature(const_fn, link_llvm_intrinsics, platform_intrinsics, repr_simd,
15 | |            simd_ffi, target_feature, cfg_target_feature, i128_type, asm,
16 | |            const_atomic_usize_new, stmt_expr_attributes, core_intrinsics,
17 | |            crate_in_paths)]
   | |___________________________^

error: aborting due to previous error

For more information about this error, try `rustc --explain E0554`.
error: Could not compile `coresimd`.
ralfbiedert commented 6 years ago

Are you getting these errors compiling 0.4.3 from crates.io, or when compiling the current master from Github?

garro95 commented 6 years ago

When compiling from crates.io

ralfbiedert commented 6 years ago

Can you try this from your cargo.toml:

faster = { git="https://github.com/AdamNiederer/faster", rev="97ec4c138ef4c9554fcfb813bfd6ed5b3ee6e7ed" }  
garro95 commented 6 years ago

This works. I think the crate would be easier to use if that version was published in cargo.

ralfbiedert commented 6 years ago

Agreed. The SIMD situation is a bit complicated right now, but should get much better with 2018 around.

AdamNiederer commented 6 years ago

Hey, sorry, I'll publish an 0.5.0 tonight. I was hoping to resolve one additional issue for the release with specialization, but I found that specialization is somewhat broken right now.

AdamNiederer commented 6 years ago

Resolved