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

Pin arrow-dependencies to version 52 or 53 #13

Merged
merged 3 commits into from
Dec 28, 2024
Merged

Conversation

astraw
Copy link

@astraw astraw commented Dec 23, 2024

Hi,

our CI lit up with errors like this:

error[E0277]: the trait bound `Arc<(dyn arrow::array::Array + 'static)>: From<Box<dyn re_arrow2::array::Array>>` is not satisfied
   --> /builds/straw/rust-cam/.cargo-proj/registry/src/index.crates.io-6f17d22bba15001f/re_types_core-0.21.0/src/archetype.rs:166:25
    |
166 |             (component, arrow::array::ArrayRef::from(arrow2_array))
    |                         ^^^^^^^^^^^^^^^^^^^^^^ the trait `From<Box<dyn re_arrow2::array::Array>>` is not implemented for `Arc<(dyn arrow::array::Array + 'static)>`
    |
    = help: the following other types implement trait `From<T>`:
              `Arc<B>` implements `From<Cow<'_, B>>`
              `Arc<CStr>` implements `From<&CStr>`
              `Arc<CStr>` implements `From<&mut CStr>`
              `Arc<CStr>` implements `From<CString>`
              `Arc<OsStr>` implements `From<&OsStr>`
              `Arc<OsStr>` implements `From<&mut OsStr>`
              `Arc<OsStr>` implements `From<OsString>`
              `Arc<Path>` implements `From<&Path>`
            and 14 others
error[E0277]: the trait bound `arrow::buffer::Buffer: From<re_arrow2::buffer::Buffer<T>>` is not satisfied

I believe this is because rerun 0.21 depends on arrow crates 53 but re_arrow2 0.18 depends on arrow crates >=52. As arrow just released version 54, this is now picked up by re_arrow2, but now clashes with the arrow crates 53.

This PR sets the arrow crates version to 53.

@astraw astraw changed the title fix regression: force arrow-* version 53 fix failed build: force arrow-* version 53 Dec 23, 2024
astraw added a commit to strawlab/strand-braid that referenced this pull request Dec 23, 2024
@astraw
Copy link
Author

astraw commented Dec 25, 2024

I think the underlying issue (I cannot open issues on this repo for some reason) is the cause of rerun-io/rerun#8561.

Copy link
Member

@emilk emilk left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for catching this and submitting a PR!

@emilk
Copy link
Member

emilk commented Dec 28, 2024

Actually, re_arrow2 seems to be compatible with arrow 54:

❯ cargo update -p arrow-buffer -p arrow-schema -p arrow-data -p arrow-array 
    Updating crates.io index
    Updating arrow-array v52.2.0 -> v54.0.0
    Updating arrow-buffer v52.2.0 -> v54.0.0
    Updating arrow-data v52.2.0 -> v54.0.0
    Updating arrow-schema v52.2.0 -> v54.0.0
      Adding hashbrown v0.15.2

❯ cargo clippy -F arrow --quiet -p re_arrow2 && echo "arrow 54 works"
arrow 54 works

So I wonder if this should not be fixed in Rerun instead 🤔 Though I have no idea how to prevent Cargo from brining in two copies of arrow (one for re_arrow2, one for rerun)… so let's merge this

@emilk emilk changed the title fix failed build: force arrow-* version 53 Pin arrow-dependencies to version 53 Dec 28, 2024
Cargo.toml Outdated Show resolved Hide resolved
@emilk emilk changed the title Pin arrow-dependencies to version 53 Pin arrow-dependencies to version 52 or 53 Dec 28, 2024
@emilk emilk merged commit 51812d6 into rerun-io:main Dec 28, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants