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

Activate async-https-rustls feature on esplora client #455

Closed
thunderbiscuit opened this issue Feb 7, 2024 · 3 comments
Closed

Activate async-https-rustls feature on esplora client #455

thunderbiscuit opened this issue Feb 7, 2024 · 3 comments

Comments

@thunderbiscuit
Copy link
Member

When I wrote the TODO 22 comment we could not use rustls feature on the esplora client, creating cross-compilation problems for the Android library. Our fix at the time was to only expose the blocking client, but since bitcoindevkit/bdk#1179 has been merged, we can now turn this feature on.

@thunderbiscuit thunderbiscuit mentioned this issue Mar 21, 2024
3 tasks
@thunderbiscuit
Copy link
Member Author

Turning this on creates runtime errors.

Example:

 ld: Undefined symbols:
  _SCDynamicStoreCopyProxies, referenced from:
      system_configuration::dynamic_store::SCDynamicStore::get_proxies::h7471e60e938bba8c in bdkFFI[arm64][71](system_configuration-741bdeb2ea74cff1.system_configuration.727ad143afd2b9a2-cgu.0.rcgu.o)
  _SCDynamicStoreCreateWithOptions, referenced from:
      system_configuration::dynamic_store::SCDynamicStore::create::h6f29ac6785dce906 in bdkFFI[arm64][71](system_configuration-741bdeb2ea74cff1.system_configuration.727ad143afd2b9a2-cgu.0.rcgu.o)
  _SCNetworkInterfaceCopyAll, referenced from:
      system_configuration::network_configuration::get_interfaces::hc17b43d2e86a6573 in bdkFFI[arm64][71](system_configuration-741bdeb2ea74cff1.system_configuration.727ad143afd2b9a2-cgu.0.rcgu.o)
  _SCNetworkInterfaceGetBSDName, referenced from:
      system_configuration::network_configuration::SCNetworkInterface::bsd_name::hc144c5c4f8c6394b in bdkFFI[arm64][71](system_configuration-741bdeb2ea74cff1.system_configuration.727ad143afd2b9a2-cgu.0.rcgu.o)
  _SCNetworkInterfaceGetInterfaceType, referenced from:
      system_configuration::network_configuration::SCNetworkInterface::interface_type_string::hac10d4b865481051 in bdkFFI[arm64][71](system_configuration-741bdeb2ea74cff1.system_configuration.727ad143afd2b9a2-cgu.0.rcgu.o)
  _SCNetworkInterfaceGetLocalizedDisplayName, referenced from:
      system_configuration::network_configuration::SCNetworkInterface::display_name::h29e413144fc5c12b in bdkFFI[arm64][71](system_configuration-741bdeb2ea74cff1.system_configuration.727ad143afd2b9a2-cgu.0.rcgu.o)
  _SCNetworkReachabilityCreateWithAddress, referenced from:

See this run for more info.

@tnull
Copy link

tnull commented Mar 25, 2024

This should only happen on macOS, we got the same in LDK Node: lightningdevkit/ldk-node#231

Quick fix is to edit the generated Swift file to add import SystemConfiguration, but, if you don't want to use the SystemConfiguration lib to have it detect proxy settings automatically, rust-esplora-client could also disable the macos-system-configuration feature reqwest introduced with v0.12.0 to fix this.

@thunderbiscuit
Copy link
Member Author

This is the fix I'm using for now: commit.

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

No branches or pull requests

2 participants