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

The master branch does not compile for feature gate ["simd"] #731

Closed
yjshen opened this issue Jul 16, 2021 · 3 comments
Closed

The master branch does not compile for feature gate ["simd"] #731

yjshen opened this issue Jul 16, 2021 · 3 comments
Labels
bug Something isn't working

Comments

@yjshen
Copy link
Member

yjshen commented Jul 16, 2021

Describe the bug
The master branch cannot compile with --features simd because of arrow-4.4.0 crate.

To Reproduce

rustup default nightly
rustup update
cargo build --features=simd

output

error[E0425]: cannot find function `bitwise_bin_op_simd_helper` in this scope
   --> /Users/shenyijie/.cargo/registry/src/git.luolix.top-1ecc6299db9ec823/arrow-4.4.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
   --> /Users/shenyijie/.cargo/registry/src/git.luolix.top-1ecc6299db9ec823/arrow-4.4.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
   --> /Users/shenyijie/.cargo/registry/src/git.luolix.top-1ecc6299db9ec823/arrow-4.4.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
   --> /Users/shenyijie/.cargo/registry/src/git.luolix.top-1ecc6299db9ec823/arrow-4.4.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
   --> /Users/shenyijie/.cargo/registry/src/git.luolix.top-1ecc6299db9ec823/arrow-4.4.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
   --> /Users/shenyijie/.cargo/registry/src/git.luolix.top-1ecc6299db9ec823/arrow-4.4.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
   --> /Users/shenyijie/.cargo/registry/src/git.luolix.top-1ecc6299db9ec823/arrow-4.4.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`
   --> /Users/shenyijie/.cargo/registry/src/git.luolix.top-1ecc6299db9ec823/arrow-4.4.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`
   --> /Users/shenyijie/.cargo/registry/src/git.luolix.top-1ecc6299db9ec823/arrow-4.4.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`
   --> /Users/shenyijie/.cargo/registry/src/git.luolix.top-1ecc6299db9ec823/arrow-4.4.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`
   --> /Users/shenyijie/.cargo/registry/src/git.luolix.top-1ecc6299db9ec823/arrow-4.4.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`
   --> /Users/shenyijie/.cargo/registry/src/git.luolix.top-1ecc6299db9ec823/arrow-4.4.0/src/compute/kernels/arithmetic.rs:455:15
    |
455 |     right: T::Simd,
    |               ^^^^ associated type `Simd` not found

Some errors have detailed explanations: E0220, E0412, E0425, E0433.
For more information about an error, try `rustc --explain E0220`.
error: could not compile `arrow` due to 12 previous errors

Expected behavior
No compilation error.

Additional context
I also install the specific nightly version 2021-07-04 as suggested in apache/arrow-rs#458 but fails either.

@yjshen yjshen added the bug Something isn't working label Jul 16, 2021
@alamb
Copy link
Contributor

alamb commented Jul 16, 2021

@yjshen are you looking into fixing this problem or do you need help?

@yjshen
Copy link
Member Author

yjshen commented Jul 18, 2021

@alamb I'm not working on it yet. I encountered the bug and file it here. But at the same time, I find you made a bump up to arrow-rs 5.0 PR and arrow 5.0 compiles with SIMD feature, So I just wait for #721 to get merged, and no more questions at my side now.

@alamb
Copy link
Contributor

alamb commented Jul 19, 2021

It seems related to apache/arrow-rs#458 which shows arrow failing to compile with similar errors

@yjshen yjshen closed this as completed Aug 26, 2021
andygrove pushed a commit to andygrove/datafusion that referenced this issue Jan 31, 2025
* Add GetStructField support

* Add custom types to CometBatchScanExec

* Remove test explain

* Rust fmt

* Fix struct type support checks

* Support converting StructArray to native

* fix style

* Attempt to fix scalar subquery issue

* Fix other unit test

* Cleanup

* Default query plan supporting complex type to false

* Migrate struct expressions to spark-expr

* Update shouldApplyRowToColumnar comment

* Add nulls to test

* Rename to allowStruct

* Add DataTypeSupport trait

* Fix parquet datatype test
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants