Skip to content

parquet: No method named to_ne_bytes found for struct bloom_filter::Block for target s390x-unknown-linux-gnu #8207

@kylebarron

Description

@kylebarron

Describe the bug

When publishing Python wheels on CI for the latest version of arro3-io, which uses the parquet crate, it no longer builds for parquet v56 on the s390x-unknown-linux-gnu target. (It built fine for parquet v55).

error[E0599]: no method named `to_ne_bytes` found for struct `bloom_filter::Block` in the current scope
   --> /root/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/parquet-56.0.0/src/bloom_filter/mod.rs:125:27
    |
105 | struct Block([u32; 8]);
    | ------------ method `to_ne_bytes` not found for this struct
...
125 |         self.swap_bytes().to_ne_bytes()
    |                           ^^^^^^^^^^^
    |
    = help: items from traits can only be used if the trait is implemented and in scope
    = note: the following trait defines an item `to_ne_bytes`, perhaps you need to implement it:
            candidate #1: `num::traits::ToBytes`
help: there is a method `to_le_bytes` with a similar name
    |
125 -         self.swap_bytes().to_ne_bytes()
125 +         self.swap_bytes().to_le_bytes()
    |

To Reproduce

I'm not exactly sure how to reproduce this outside of CI. On my mac, I can't reproduce for that target; it succeeds for cargo build -p parquet --target s390x-unknown-linux-gnu and fails for a different reason (with ring) when --all-features is passed.

Expected behavior

Should compile.

Additional context

I'm not sure if there are specific targets that are supported/unsupported? If s390x-unknown-linux-gnu is not supported, I can close this issue and just not build Python wheels for that target.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions