Skip to content

filter_iter example fails to compile on Windows because it depends on bdk_testenv #2338

Description

@NaitikVerma6776

Context

Discovered while using BDK as a new developer: after the bdk_bitcoind_rpc library crate compiled, I followed the in-tree example instructions to run the only official example.

Reproduction

On Windows, from a checkout of this repository:

cargo build -p bdk_bitcoind_rpc
cargo build -p bdk_bitcoind_rpc --example filter_iter

The first command succeeds. The second fails.

crates/bitcoind_rpc/examples/README.md documents the same example as:

cargo run -p bdk_bitcoind_rpc --example filter_iter

Expected behavior

The documented example should compile on a host where bdk_bitcoind_rpc itself compiles. Runtime still needs a local bitcoind (RPC_URL / RPC_COOKIE); that is already documented. Compile should not require the Unix-only test harness.

Actual behavior

Building the example pulls in the bdk_testenv dev-dependency and fails in electrsd 0.38.1's build.rs:

error[E0433]: cannot find `unix` in `os`
  --> electrsd-0.38.1\build.rs:14:18
   |
14 |     use std::os::unix::fs::PermissionsExt;
error[E0599]: no associated function or constant named `from_mode` found for struct `Permissions`
  --> electrsd-0.38.1\build.rs:78:39

The example does not use TestEnv. It only imports anyhow from bdk_testenv:

use anyhow::Context;
use bdk_testenv::anyhow;

Because Cargo examples may use the package's dev-dependencies, that import is enough to compile electrsd.

Environment

  • BDK commit: 0790f0400b108974b538e44d6498dc6fe1157548
  • Crate: bdk_bitcoind_rpc 0.22.0 (filter_iter example)
  • OS: Windows 10 (10.0.26200), x86_64-pc-windows-msvc
  • Rust: rustc 1.97.1 (8bab26f4f 2026-07-14)

Which backend(s) are relevant (if any)?

  • Bitcoin Core RPC

Is this blocking production use?

  • No

Additional context

bdk_testenv depending on electrsd is reasonable for integration tests. It is surprising for this example, because the example talks to an already-running Signet bitcoind and does not start a regtest node.

This is a build/developer-experience issue, not a runtime bug in FilterIter.

Related but different:

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    • Status
      Triage

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions