Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Arrow 4.3.0 does not compile for feature gates ["simd", "avx512"], ["simd"] #458

Closed
ritchie46 opened this issue Jun 14, 2021 · 3 comments
Closed
Assignees
Labels

Comments

@ritchie46
Copy link
Contributor

The released arrow version 4.3.0 does not compile with SIMD feature flags:

# compiles
=4.2: features = ["simd", "avx512"]# does not compile
=4.2: features = ["simd"]
=4.3: features = ["simd", "avx512"]
=4.3: features = ["simd"]

To Reproduce
Start a new rust project and try to compile with any of hte named features.

Expected behavior
No compiler errors

output

   --> /home/ritchie46/.cargo/registry/src/github.com-1ecc6299db9ec823/arrow-4.3.0/src/buffer/ops.rs:258:9
    |
125 | / pub fn bitwise_bin_op_helper<F>(
126 | |     left: &Buffer,
127 | |     left_offset_in_bits: usize,
128 | |     right: &Buffer,
...   |
152 | |     buffer.into()
153 | | }
    | |_- similarly named function `bitwise_bin_op_helper` defined here
...
258 |           bitwise_bin_op_simd_helper(
    |           ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: a function with a similar name exists: `bitwise_bin_op_helper`

error[E0425]: cannot find function `bitwise_bin_op_simd_helper` in this scope
   --> /home/ritchie46/.cargo/registry/src/github.com-1ecc6299db9ec823/arrow-4.3.0/src/buffer/ops.rs:369:9
    |
125 | / pub fn bitwise_bin_op_helper<F>(
126 | |     left: &Buffer,
127 | |     left_offset_in_bits: usize,
128 | |     right: &Buffer,
...   |
152 | |     buffer.into()
153 | | }
    | |_- similarly named function `bitwise_bin_op_helper` defined here
...
369 |           bitwise_bin_op_simd_helper(
    |           ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: a function with a similar name exists: `bitwise_bin_op_helper`

error[E0412]: cannot find type `ChunksExact` in this scope
   --> /home/ritchie46/.cargo/registry/src/github.com-1ecc6299db9ec823/arrow-4.3.0/src/compute/kernels/arithmetic.rs:521:18
    |
521 |     left_chunks: ChunksExact<T::Native>,
    |                  ^^^^^^^^^^^ not found in this scope
    |
help: consider importing one of these items
    |
25  | use core::slice::ChunksExact;
    |
25  | use std::slice::ChunksExact;
    |

error[E0412]: cannot find type `ChunksExact` in this scope
   --> /home/ritchie46/.cargo/registry/src/github.com-1ecc6299db9ec823/arrow-4.3.0/src/compute/kernels/arithmetic.rs:522:19
    |
522 |     right_chunks: ChunksExact<T::Native>,
    |                   ^^^^^^^^^^^ not found in this scope
    |
help: consider importing one of these items
    |
25  | use core::slice::ChunksExact;
    |
25  | use std::slice::ChunksExact;
    |

error[E0412]: cannot find type `ChunksExactMut` in this scope
   --> /home/ritchie46/.cargo/registry/src/github.com-1ecc6299db9ec823/arrow-4.3.0/src/compute/kernels/arithmetic.rs:523:20
    |
523 |     result_chunks: ChunksExactMut<T::Native>,
    |                    ^^^^^^^^^^^^^^ not found in this scope
    |
help: consider importing one of these items
    |
25  | use core::slice::ChunksExactMut;
    |
25  | use std::slice::ChunksExactMut;
    |

error[E0412]: cannot find type `ChunksExact` in this scope
   --> /home/ritchie46/.cargo/registry/src/github.com-1ecc6299db9ec823/arrow-4.3.0/src/compute/kernels/arithmetic.rs:587:19
    |
587 |     array_chunks: ChunksExact<T::Native>,
    |                   ^^^^^^^^^^^ not found in this scope
    |
help: consider importing one of these items
    |
25  | use core::slice::ChunksExact;
    |
25  | use std::slice::ChunksExact;
    |

error[E0412]: cannot find type `ChunksExactMut` in this scope
   --> /home/ritchie46/.cargo/registry/src/github.com-1ecc6299db9ec823/arrow-4.3.0/src/compute/kernels/arithmetic.rs:589:20
    |
589 |     result_chunks: ChunksExactMut<T::Native>,
    |                    ^^^^^^^^^^^^^^ not found in this scope
    |
help: consider importing one of these items
    |
25  | use core::slice::ChunksExactMut;
    |
25  | use std::slice::ChunksExactMut;
    |

error[E0433]: failed to resolve: use of undeclared type `MutableBuffer`
   --> /home/ritchie46/.cargo/registry/src/github.com-1ecc6299db9ec823/arrow-4.3.0/src/compute/kernels/arithmetic.rs:664:22
    |
664 |     let mut result = MutableBuffer::new(buffer_size).with_bitset(buffer_size, false);
    |                      ^^^^^^^^^^^^^ not found in this scope
    |
help: consider importing this struct
    |
25  | use crate::buffer::MutableBuffer;
    |

error[E0433]: failed to resolve: use of undeclared type `MutableBuffer`
   --> /home/ritchie46/.cargo/registry/src/github.com-1ecc6299db9ec823/arrow-4.3.0/src/compute/kernels/arithmetic.rs:895:22
    |
895 |     let mut result = MutableBuffer::new(buffer_size).with_bitset(buffer_size, false);
    |                      ^^^^^^^^^^^^^ not found in this scope
    |
help: consider importing this struct
    |
25  | use crate::buffer::MutableBuffer;
    |

error[E0220]: associated type `Simd` not found for `T`
   --> /home/ritchie46/.cargo/registry/src/github.com-1ecc6299db9ec823/arrow-4.3.0/src/compute/kernels/arithmetic.rs:456:16
    |
456 | ) -> Result<T::Simd>
    |                ^^^^ associated type `Simd` not found

error[E0220]: associated type `Simd` not found for `T`
   --> /home/ritchie46/.cargo/registry/src/github.com-1ecc6299db9ec823/arrow-4.3.0/src/compute/kernels/arithmetic.rs:454:14
    |
454 |     left: T::Simd,
    |              ^^^^ associated type `Simd` not found

error[E0220]: associated type `Simd` not found for `T`
   --> /home/ritchie46/.cargo/registry/src/github.com-1ecc6299db9ec823/arrow-4.3.0/src/compute/kernels/arithmetic.rs:455:15
    |
455 |     right: T::Simd,
    |               ^^^^ associated type `Simd` not found

@alamb
Copy link
Contributor

alamb commented Jul 9, 2021

It is interesting -- I can reproduce these errors and it fails for me on 4.4.0 as well as 4.0.0 and 3.0.0

With any of the following in my Cargo.toml

[dependencies]
arrow = { version = "=4.4.0", features = ["simd", "avx512"] }

[dependencies]
arrow = { version = "=4.0.0", features = ["simd"] }

[dependencies]
arrow = { version = "=3.0.0", features = ["simd"] }

when I try to compile with the command

cargo +nightly-2021-07-04 run	

I get the reported errors

From source, however, this works fine on master and on 4.4.0 tag

 cargo +nightly-2021-07-04 build --features=simd,avx512

@alamb
Copy link
Contributor

alamb commented Jul 9, 2021

Given this is happening on older releases to0 I don't think I would hold the release for this...

If anyone else has any ideas, I would love to hear them. There are some tests here: #534 I'll try to get in

@houqp
Copy link
Member

houqp commented Jul 16, 2021

Potentially a duplicate of #232? From my testing, compiling from source always works even when checking out to specific version tag in git. I feel like it has something to do with cargo release/publish.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

4 participants