Skip to content

polars-lazy 0.47.1 build failed #22610

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

Open
2 tasks done
Dirreke opened this issue May 5, 2025 · 11 comments
Open
2 tasks done

polars-lazy 0.47.1 build failed #22610

Dirreke opened this issue May 5, 2025 · 11 comments
Labels
accepted Ready for implementation bug Something isn't working rust Related to Rust Polars

Comments

@Dirreke
Copy link

Dirreke commented May 5, 2025

Checks

  • I have checked that this issue has not already been reported.
  • I have confirmed this bug exists on the latest version of Polars.

Reproducible example

polars-lazy

Log output

error[E0433]: failed to resolve: use of undeclared type `StringCacheHolder`
   --> ..../.cargo/registry/src/rsproxy.cn-e3de039b2554c837/polars-lazy-0.47.1/src/frame/mod.rs:788:41
    |
788 |                 let string_cache_hold = StringCacheHolder::hold();
    |                                         ^^^^^^^^^^^^^^^^^ use of undeclared type `StringCacheHolder`

error[E0433]: failed to resolve: use of undeclared type `StringCacheHolder`
   --> ..../.cargo/registry/src/rsproxy.cn-e3de039b2554c837/polars-lazy-0.47.1/src/frame/mod.rs:885:41
    |
885 |                 let string_cache_hold = StringCacheHolder::hold();
    |                                         ^^^^^^^^^^^^^^^^^ use of undeclared type `StringCacheHolder`

error[E0433]: failed to resolve: use of undeclared type `StringCacheHolder`
    --> ..../.cargo/registry/src/rsproxy.cn-e3de039b2554c837/polars-lazy-0.47.1/src/frame/mod.rs:1184:25
     |
1184 |             let _hold = StringCacheHolder::hold();
     |                         ^^^^^^^^^^^^^^^^^ use of undeclared type `StringCacheHolder`

Issue description

polars-lazy 0.47.0 is good, but 0.47.1 build failed

Expected behavior

Build Succeed

Installed versions

0.47.1

@Dirreke Dirreke added bug Something isn't working needs triage Awaiting prioritization by a maintainer rust Related to Rust Polars labels May 5, 2025
@coastalwhite
Copy link
Collaborator

coastalwhite commented May 5, 2025

Does it also break if you just use the polars crate?

The polars-lazy crate quite explicitly states:

Important Note: This crate is not intended for external usage. Please refer to the main Polars crate for intended usage.

@Dirreke
Copy link
Author

Dirreke commented May 5, 2025

Yes. I'm using polars

@coastalwhite coastalwhite added needs repro Bug does not yet have a reproducible example and removed needs triage Awaiting prioritization by a maintainer labels May 5, 2025
@teotwaki
Copy link
Contributor

teotwaki commented May 5, 2025

Here's how to reproduce this:

cargo init --bin foobar
cd foobar
cargo add polars --features lazy
cargo build

Full output:

$ cargo init --bin foobar
    Creating binary (application) package
note: see more `Cargo.toml` keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
$ cd foobar
$ cargo add polars --features lazy
    Updating crates.io index
      Adding polars v0.47.1 to dependencies
             Features:
             + csv
             + docs
             + dtype-date
             + dtype-datetime
             + dtype-duration
             + dtype-slim
             + fmt
             + lazy
             + new_streaming
             + polars-io
             + polars-lazy
             + polars-time
             + temporal
             + zip_with
             140 deactivated features
    Updating crates.io index
     Locking 335 packages to latest Rust 1.86.0 compatible versions
$ cargo build
   Compiling proc-macro2 v1.0.95
   Compiling unicode-ident v1.0.18
   Compiling libc v0.2.172
   Compiling serde v1.0.219
   Compiling shlex v1.3.0
   Compiling autocfg v1.4.0
   Compiling version_check v0.9.5
   Compiling cfg-if v1.0.0
   Compiling crossbeam-utils v0.8.21
   Compiling pin-project-lite v0.2.16
   Compiling futures-core v0.3.31
   Compiling memchr v2.7.4
   Compiling stable_deref_trait v1.2.0
   Compiling futures-sink v0.3.31
   Compiling smallvec v1.15.0
   Compiling rayon-core v1.12.1
   Compiling once_cell v1.21.3
   Compiling itoa v1.0.15
   Compiling slab v0.4.9
   Compiling libm v0.2.14
   Compiling core-foundation-sys v0.8.7
   Compiling either v1.15.0
   Compiling num-traits v0.2.19
   Compiling futures-channel v0.3.31
   Compiling icu_locid_transform_data v1.5.1
   Compiling futures-task v0.3.31
   Compiling pin-utils v0.1.0
   Compiling litemap v0.7.5
   Compiling writeable v0.5.5
   Compiling futures-io v0.3.31
   Compiling crossbeam-epoch v0.9.18
   Compiling fnv v1.0.7
   Compiling crossbeam-deque v0.8.6
   Compiling quote v1.0.40
   Compiling icu_properties_data v1.5.1
   Compiling syn v2.0.101
   Compiling jobserver v0.1.33
   Compiling allocator-api2 v0.2.21
   Compiling cc v1.2.21
   Compiling rustls-pki-types v1.11.0
   Compiling rayon v1.10.0
   Compiling getrandom v0.2.16
   Compiling socket2 v0.5.9
   Compiling mio v1.0.3
   Compiling icu_normalizer_data v1.5.1
   Compiling equivalent v1.0.2
   Compiling zerocopy v0.8.25
   Compiling foldhash v0.1.5
   Compiling tracing-core v0.1.33
   Compiling untrusted v0.9.0
   Compiling httparse v1.10.1
   Compiling lock_api v0.4.12
   Compiling write16 v1.0.0
   Compiling siphasher v1.0.1
   Compiling utf8_iter v1.0.4
   Compiling rustls v0.23.27
   Compiling atomic-waker v1.1.2
   Compiling try-lock v0.2.5
   Compiling utf16_iter v1.0.5
   Compiling parking_lot_core v0.9.10
   Compiling want v0.3.1
   Compiling rand_core v0.6.4
   Compiling ring v0.17.14
   Compiling security-framework-sys v2.14.0
   Compiling core-foundation v0.10.0
   Compiling subtle v2.6.1
   Compiling zeroize v1.8.1
   Compiling scopeguard v1.2.0
   Compiling ryu v1.0.20
   Compiling tower-service v0.3.3
   Compiling percent-encoding v2.3.1
   Compiling form_urlencoded v1.2.1
   Compiling iana-time-zone v0.1.63
   Compiling rustversion v1.0.20
   Compiling serde_json v1.0.140
   Compiling regex-syntax v0.8.5
   Compiling parking_lot v0.12.3
   Compiling rand v0.8.5
   Compiling psm v0.1.26
   Compiling phf_shared v0.11.3
   Compiling sync_wrapper v1.0.2
   Compiling pkg-config v0.3.32
   Compiling tower-layer v0.3.3
   Compiling thiserror v2.0.12
   Compiling paste v1.0.15
   Compiling phf_generator v0.11.3
   Compiling stacker v0.1.21
   Compiling zstd-sys v2.0.15+zstd.1.5.7
   Compiling ppv-lite86 v0.2.21
   Compiling rustls-pemfile v2.2.0
   Compiling aho-corasick v1.1.3
   Compiling ipnet v2.11.0
   Compiling rand_chacha v0.3.1
   Compiling log v0.4.27
   Compiling base64 v0.22.1
   Compiling signal-hook v0.3.17
   Compiling same-file v1.0.6
   Compiling array-init-cursor v0.2.1
   Compiling mime v0.3.17
   Compiling planus v0.3.1
   Compiling synstructure v0.13.2
   Compiling regex-automata v0.4.9
   Compiling walkdir v2.5.0
   Compiling phf_codegen v0.11.3
   Compiling signal-hook-registry v1.4.5
   Compiling itertools v0.14.0
   Compiling slotmap v1.0.7
   Compiling humantime v2.2.0
   Compiling byteorder v1.5.0
   Compiling adler2 v2.0.0
   Compiling miniz_oxide v0.8.8
   Compiling rmp v0.8.14
   Compiling regex v1.11.1
   Compiling serde_derive v1.0.219
   Compiling zerofrom-derive v0.1.6
   Compiling yoke-derive v0.7.5
   Compiling zerovec-derive v0.10.3
   Compiling displaydoc v0.2.5
   Compiling futures-macro v0.3.31
   Compiling tokio-macros v2.5.0
   Compiling icu_provider_macros v1.5.0
   Compiling tracing-attributes v0.1.28
   Compiling thiserror-impl v2.0.12
   Compiling futures-util v0.3.31
   Compiling zerofrom v0.1.6
   Compiling yoke v0.7.5
   Compiling async-trait v0.1.88
   Compiling zerovec v0.10.4
   Compiling parse-zoneinfo v0.3.1
   Compiling tracing v0.1.41
   Compiling chrono-tz-build v0.4.1
   Compiling bytemuck_derive v1.9.3
   Compiling castaway v0.2.3
   Compiling tinystr v0.7.6
   Compiling icu_collections v1.5.0
   Compiling rustls-webpki v0.103.2
   Compiling lz4-sys v1.11.1+lz4-1.10.0
   Compiling icu_locid v1.5.0
   Compiling polars-utils v0.47.1
   Compiling crc32fast v1.4.2
   Compiling simdutf8 v0.1.5
   Compiling zstd-safe v7.2.4
   Compiling static_assertions v1.1.0
   Compiling bytemuck v1.23.0
   Compiling flate2 v1.1.1
   Compiling icu_provider v1.5.0
   Compiling chrono-tz v0.10.3
   Compiling futures-executor v0.3.31
   Compiling futures v0.3.31
   Compiling memmap2 v0.9.5
   Compiling polars-schema v0.47.1
   Compiling phf v0.11.3
   Compiling errno v0.3.11
   Compiling polars-arrow v0.47.1
   Compiling heck v0.5.0
   Compiling polars-compute v0.47.1
   Compiling icu_locid_transform v1.5.0
   Compiling strum_macros v0.26.4
   Compiling streaming-iterator v0.1.9
   Compiling ethnum v1.5.1
   Compiling strength_reduce v0.2.4
   Compiling dyn-clone v1.0.19
   Compiling rustix v0.38.44
   Compiling bytes v1.10.1
   Compiling bitflags v2.9.0
   Compiling hashbrown v0.15.3
   Compiling icu_properties v1.5.1
   Compiling security-framework v3.2.0
   Compiling tokio v1.44.2
   Compiling http v1.3.1
   Compiling indexmap v2.9.0
   Compiling chrono v0.4.41
   Compiling serde_urlencoded v0.7.1
   Compiling rustls-native-certs v0.8.1
   Compiling http-body v1.0.1
   Compiling http-body-util v0.1.3
   Compiling icu_normalizer v1.5.0
   Compiling quick-xml v0.37.5
   Compiling idna_adapter v1.2.0
   Compiling idna v1.0.3
   Compiling polars-arrow-format v0.1.0
   Compiling raw-cpuid v11.5.0
   Compiling url v2.5.4
   Compiling compact_str v0.8.1
   Compiling rmp-serde v1.3.0
   Compiling bincode v1.3.3
   Compiling skiplist v0.5.1
   Compiling ahash v0.8.11
   Compiling atoi_simd v0.16.0
   Compiling fast-float2 v0.2.3
   Compiling zerocopy v0.7.35
   Compiling polars-core v0.47.1
   Compiling unicode-width v0.2.0
   Compiling unicode-segmentation v1.12.0
   Compiling crossterm v0.28.1
   Compiling hashbrown v0.14.5
   Compiling rand_distr v0.4.3
   Compiling polars-ops v0.47.1
   Compiling tokio-util v0.7.15
   Compiling tokio-rustls v0.26.2
   Compiling tower v0.5.2
   Compiling comfy-table v7.1.4
   Compiling rustix v1.0.7
   Compiling xxhash-rust v0.8.15
   Compiling h2 v0.4.10
   Compiling lz4 v1.28.1
   Compiling async-stream-impl v0.3.6
   Compiling argminmax v0.6.2
   Compiling blake3 v1.8.2
   Compiling fallible-streaming-iterator v0.1.9
   Compiling streaming-decompression v0.1.2
   Compiling now v0.1.3
   Compiling polars-parquet-format v0.1.0
   Compiling constant_time_eq v0.3.1
   Compiling async-stream v0.3.6
   Compiling arrayref v0.3.9
   Compiling arrayvec v0.7.6
   Compiling recursive-proc-macro-impl v0.1.1
   Compiling polars-plan v0.47.1
   Compiling glob v0.3.2
   Compiling home v0.5.11
   Compiling recursive v0.1.1
   Compiling fs4 v0.13.1
   Compiling concurrent-queue v2.5.0
   Compiling parking v2.2.1
   Compiling polars-stream v0.47.1
   Compiling event-listener v5.4.0
   Compiling crossbeam-queue v0.3.12
   Compiling crossbeam-channel v0.5.15
   Compiling polars-lazy v0.47.1
   Compiling event-listener-strategy v0.5.4
   Compiling polars v0.47.1
   Compiling async-channel v2.3.1
   Compiling hyper v1.6.0
   Compiling zstd v0.13.3
   Compiling hyper-util v0.1.11
   Compiling hyper-rustls v0.27.5
   Compiling reqwest v0.12.15
   Compiling object_store v0.12.0
   Compiling polars-error v0.47.1
   Compiling polars-row v0.47.1
   Compiling polars-parquet v0.47.1
   Compiling polars-time v0.47.1
   Compiling polars-io v0.47.1
   Compiling polars-expr v0.47.1
   Compiling polars-mem-engine v0.47.1
error[E0433]: failed to resolve: use of undeclared type `StringCacheHolder`
   --> /Users/slau/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/polars-lazy-0.47.1/src/frame/mod.rs:788:41
    |
788 |                 let string_cache_hold = StringCacheHolder::hold();
    |                                         ^^^^^^^^^^^^^^^^^ use of undeclared type `StringCacheHolder`

error[E0433]: failed to resolve: use of undeclared type `StringCacheHolder`
   --> /Users/slau/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/polars-lazy-0.47.1/src/frame/mod.rs:885:41
    |
885 |                 let string_cache_hold = StringCacheHolder::hold();
    |                                         ^^^^^^^^^^^^^^^^^ use of undeclared type `StringCacheHolder`

error[E0433]: failed to resolve: use of undeclared type `StringCacheHolder`
    --> /Users/slau/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/polars-lazy-0.47.1/src/frame/mod.rs:1184:25
     |
1184 |             let _hold = StringCacheHolder::hold();
     |                         ^^^^^^^^^^^^^^^^^ use of undeclared type `StringCacheHolder`

For more information about this error, try `rustc --explain E0433`.
error: could not compile `polars-lazy` (lib) due to 3 previous errors
warning: build failed, waiting for other jobs to finish...

@EricFecteau
Copy link

I am having the exact same issue, 0.47.1 can not compile at all if the lazy feature is enabled.

@Antti
Copy link

Antti commented May 6, 2025

Another feature that fails to build:
list_sets

error[E0433]: failed to resolve: use of undeclared type `SuperTypeFlags`
   --> /Users/USER/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/polars-plan-0.47.1/src/dsl/function_expr/list.rs:142:28
    |
142 |                     flags: SuperTypeFlags::default() | SuperTypeFlags::ALLOW_IMPLODE_LIST,
    |                            ^^^^^^^^^^^^^^ use of undeclared type `SuperTypeFlags`

@paulirotta
Copy link

The problems in "polars-lazy" appear to be lack of import coupled when feature flag "new_streaming"

But that implies lack of CI test coverage. And if "polars-plan" has similar issues, it may be a wider issue.

Dropping back to "0.47.0" and clearing caches did not work in my case. There seem to be dependencies on 0.47.1 packages even in 0.47.0?

@coastalwhite
Copy link
Collaborator

But that implies lack of CI test coverage. And if "polars-plan" has similar issues, it may be a wider issue.

We just cargo hack to check many combinations of features in the CI. Given how long it takes to compile polars and how many features there are, it is impossible to cover all combinations. There has been some discussion on how we want to move forward with the granularity of the feature flags.

@teotwaki
Copy link
Contributor

teotwaki commented May 6, 2025

Dropping back to "0.47.0" and clearing caches did not work in my case.

It seems to be working for me. What do you have in your Cargo.toml to drop back? I'm using polars = { version = "=0.47.0", features = [...] }

@coastalwhite coastalwhite added accepted Ready for implementation and removed needs repro Bug does not yet have a reproducible example labels May 6, 2025
@teotwaki
Copy link
Contributor

teotwaki commented May 6, 2025

@paulirotta I can confirm that downgrading to 0.47.0 does not fix this issue. 0.47.0 has the new_streaming problem with polars-lazy, but when we enable a dependency on polars-lazy with features new_streaming as suggested here, we end up in the same situation:

cargo init foobar2
cd foobar2
cargo add polars@=0.47.0 -F lazy
cargo add polars-lazy@=0.47.0 -F new_streaming
cargo build

Results in the following:

   Compiling polars-plan v0.47.1
   Compiling glob v0.3.2
   Compiling home v0.5.11
   Compiling recursive v0.1.1
   Compiling fs4 v0.13.1
   Compiling concurrent-queue v2.5.0
   Compiling parking v2.2.1
   Compiling polars-stream v0.47.1
   Compiling event-listener v5.4.0
   Compiling crossbeam-queue v0.3.12
   Compiling crossbeam-channel v0.5.15
   Compiling polars-lazy v0.47.0
   Compiling event-listener-strategy v0.5.4
   Compiling async-channel v2.3.1
   Compiling polars v0.47.0
   Compiling hyper v1.6.0
   Compiling zstd v0.13.3
   Compiling hyper-util v0.1.11
   Compiling hyper-rustls v0.27.5
   Compiling reqwest v0.12.15
   Compiling object_store v0.12.0
   Compiling polars-error v0.47.1
   Compiling polars-row v0.47.1
   Compiling polars-parquet v0.47.1
   Compiling polars-time v0.47.1
   Compiling polars-io v0.47.1
   Compiling polars-expr v0.47.1
   Compiling polars-mem-engine v0.47.1
error[E0433]: failed to resolve: use of undeclared type `StringCacheHolder`
   --> /Users/slau/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/polars-lazy-0.47.0/src/frame/mod.rs:788:41
    |
788 |                 let string_cache_hold = StringCacheHolder::hold();
    |                                         ^^^^^^^^^^^^^^^^^ use of undeclared type `StringCacheHolder`

error[E0433]: failed to resolve: use of undeclared type `StringCacheHolder`
   --> /Users/slau/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/polars-lazy-0.47.0/src/frame/mod.rs:885:41
    |
885 |                 let string_cache_hold = StringCacheHolder::hold();
    |                                         ^^^^^^^^^^^^^^^^^ use of undeclared type `StringCacheHolder`

error[E0433]: failed to resolve: use of undeclared type `StringCacheHolder`
    --> /Users/slau/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/polars-lazy-0.47.0/src/frame/mod.rs:1184:25
     |
1184 |             let _hold = StringCacheHolder::hold();
     |                         ^^^^^^^^^^^^^^^^^ use of undeclared type `StringCacheHolder`

For more information about this error, try `rustc --explain E0433`.
error: could not compile `polars-lazy` (lib) due to 3 previous errors
warning: build failed, waiting for other jobs to finish...

@Antti
Copy link

Antti commented May 6, 2025

Same for thelist_sets issue. Polars 0.46.0 doesn't have this issue, 0.47.0 does.

@evbo
Copy link

evbo commented May 10, 2025

as pointed out in a duplicate, requires dtype-categorical feature as a workaround

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
accepted Ready for implementation bug Something isn't working rust Related to Rust Polars
Projects
None yet
Development

No branches or pull requests

7 participants