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

Updating reqwest to 0.11.22 causes macos build failure, requires SystemConfiguration #686

Closed
jsantell opened this issue Oct 19, 2023 · 2 comments · Fixed by #866
Closed
Labels
Chore Non-user-facing feature dependencies Pull requests that update a dependency file

Comments

@jsantell
Copy link
Contributor

jsantell commented Oct 19, 2023

In some dev work, I updated reqwest from 0.11.20 to 0.11.22 and ran into failures in a x86_64 macos build:

Undefined symbols for architecture x86_64:
  "_SCDynamicStoreCopyProxies", referenced from:
      __ZN20system_configuration13dynamic_store14SCDynamicStore11get_proxies17ha9cee4367b0c1fcbE in libnoosphere.a(system_configuration-46c6672ca6db6ca9.system_configuration.b48ec42a4ca5d16c-cgu.0.rcgu.o)
  "_SCDynamicStoreCreateWithOptions", referenced from:
      __ZN20system_configuration13dynamic_store14SCDynamicStore6create17he63aeeeb3840fdc4E in libnoosphere.a(system_configuration-46c6672ca6db6ca9.system_configuration.b48ec42a4ca5d16c-cgu.0.rcgu.o)
  "_SCNetworkInterfaceCopyAll", referenced from:
      __ZN20system_configuration21network_configuration14get_interfaces17ha41c0e3fd9b2cb6eE in libnoosphere.a(system_configuration-46c6672ca6db6ca9.system_configuration.b48ec42a4ca5d16c-cgu.0.rcgu.o)
  "_SCNetworkInterfaceGetBSDName", referenced from:
      __ZN20system_configuration21network_configuration18SCNetworkInterface8bsd_name17h45a02c56c7f559b2E in libnoosphere.a(system_configuration-46c6672ca6db6ca9.system_configuration.b48ec42a4ca5d16c-cgu.0.rcgu.o)
  "_SCNetworkInterfaceGetInterfaceType", referenced from:
      __ZN20system_configuration21network_configuration18SCNetworkInterface21interface_type_string17hd31e474b334507ecE in libnoosphere.a(system_configuration-46c6672ca6db6ca9.system_configuration.b48ec42a4ca5d16c-cgu.0.rcgu.o)
  "_SCNetworkInterfaceGetLocalizedDisplayName", referenced from:
      __ZN20system_configuration21network_configuration18SCNetworkInterface12display_name17h94d4d8074b27dd32E in libnoosphere.a(system_configuration-46c6672ca6db6ca9.system_configuration.b48ec42a4ca5d16c-cgu.0.rcgu.o)
  "_SCNetworkReachabilityCreateWithAddress", referenced from:

In seanmonstar/reqwest#1955, system-configuration was added to reqwest, requiring linking to the SystemConfiguration framework. The transitive dependency seems to link the framework in its build script at a glance, but we hit undefined symbol errors. Need to evaluate if this is an intended required change, and if so, learn more about if we want to require SystemConfiguration.framework on macos.


Upstream bug in system-configuration: mullvad/system-configuration-rs#41
Patch for iOS, to investigate: https://github.com/mullvad/system-configuration-rs/pull/42/files


Filed upstream Reqwest bug: seanmonstar/reqwest#2006

cdata added a commit that referenced this issue Nov 13, 2023
Co-authored-by: Christopher Joel <240083+cdata@users.noreply.github.com>
@jsantell jsantell added Chore Non-user-facing feature dependencies Pull requests that update a dependency file labels Jan 22, 2024
@jsantell
Copy link
Contributor Author

Fixed upstream, should be fixed in next reqwest release (0.11.25)

@jsantell
Copy link
Contributor Author

The macos system configuration dependency was made optional in 0.12 seanmonstar/reqwest#2185

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Chore Non-user-facing feature dependencies Pull requests that update a dependency file
Projects
None yet
1 participant