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

chrono crate : specify 0.4.22 as the minimum version due to spurious build failures #3827

Closed
stormasm opened this issue Oct 13, 2022 · 6 comments · Fixed by #3959
Closed
Labels
bug Something isn't working

Comments

@stormasm
Copy link

Compiling datafusion-benchmarks v13.0.0 (/Users/ma/j/tmp06/arrow-datafusion/benchmarks)
error[E0277]: the trait bound chrono::datetime::DateTime<chrono::offset::utc::Utc>: std::default::Default is not satisfied
--> benchmarks/src/bin/parquet_filter_pushdown.rs:284:24
|
284 | last_modified: Default::default(),
| ^^^^^^^^^^^^^^^^ the trait std::default::Default is not implemented for chrono::datetime::DateTime<chrono::offset::utc::Utc>

For more information about this error, try rustc --explain E0277.
error: could not compile datafusion-benchmarks due to previous error

@stormasm stormasm added the bug Something isn't working label Oct 13, 2022
@andygrove
Copy link
Member

I can reproduce this on mac but not linux

@andygrove
Copy link
Member

I ran cargo update:

    Updating chrono v0.4.19 -> v0.4.22

This resolved it, so we probably need to specify 0.4.22 as the minimum version

@stormasm
Copy link
Author

stormasm commented Oct 13, 2022

I blew everything away and started over and this time I no longer see the issue...

On the new version after blowing away everything chrono comes in as

version = "0.4.22"

On my old version that I deleted chrono was

version = "0.4.19"

@stormasm stormasm changed the title Build Failing on benchmarks/src/bin/parquet_filter_pushdown.rs:284:24 chrono crate : specify 0.4.22 as the minimum version due to spurious build failures Oct 13, 2022
@stormasm
Copy link
Author

I love rust !

The only place we check in a Cargo.lock file is here:
datafusion-cli/Cargo.lock

Because we do not check in a Cargo.lock file anywhere else
the error that I was seeing shows up...

Because my Cargo.lock file had chrono version 0.4.19

Once you blow target away and start over it reproduces (I think)
what @andygrove did with the cargo update command...

So some developers will see my error and some developers will not...

@alamb
Copy link
Contributor

alamb commented Oct 25, 2022

We should increase the declared minimum version of chrono in Datafusion's Cargo.toml to be "0.4.22" if we use features that appear only in versions 0.4.22 or later

https://github.com/apache/arrow-datafusion/search?l=TOML&q=chrono

@alamb
Copy link
Contributor

alamb commented Oct 25, 2022

Proposed fix #3959

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

Successfully merging a pull request may close this issue.

3 participants