Skip to content

Make rename_wrapper_prefixes work for HostToolsToolchain #22

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
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

Keno
Copy link

@Keno Keno commented Jun 27, 2025

Seems to fix the following error:

ERROR: MethodError: no method matching rename_wrapper_prefixes(::String, ::Set{Symbol}, ::BinaryBuilderToolchains.HostToolsToolchain)
The function `rename_wrapper_prefixes` exists, but no method is defined for this combination of argument types.

Closest candidates are:
  rename_wrapper_prefixes(::String, ::Set{Symbol}, ::BinaryBuilder2.PlatformlessWrapper{T}) where T
   @ BinaryBuilder2 ~/.julia/packages/BinaryBuilder2/xRv90/src/build_api/BuildTargetSpec.jl:64

Stacktrace:
  [1] (::BinaryBuilder2.var"#69#70"{String, BinaryBuilderPlatformExtensions.CrossPlatform, Set{Symbol}})(toolchain::BinaryBuilderToolchains.HostToolsToolchain)
    @ BinaryBuilder2 ~/.julia/packages/BinaryBuilder2/xRv90/src/build_api/BuildTargetSpec.jl:33
  [2] iterate
    @ ./generator.jl:48 [inlined]
  [3] collect_to!(dest::Vector{BinaryBuilderToolchains.CToolchain}, itr::Base.Generator{Vector{Union{BinaryBuilderToolchains.AbstractToolchain, BinaryBuilder2.PlatformlessWrapper{<:BinaryBuilderToolchains.AbstractToolchain}}}, BinaryBuilder2.var"#69#70"{String, BinaryBuilderPlatformExtensions.CrossPlatform, Set{Symbol}}}, offs::Int64, st::Int64)
    @ Base ./array.jl:854
  [4] collect_to_with_first!(dest::Vector{BinaryBuilderToolchains.CToolchain}, v1::BinaryBuilderToolchains.CToolchain, itr::Base.Generator{Vector{Union{BinaryBuilderToolchains.AbstractToolchain, BinaryBuilder2.PlatformlessWrapper{<:BinaryBuilderToolchains.AbstractToolchain}}}, BinaryBuilder2.var"#69#70"{String, BinaryBuilderPlatformExtensions.CrossPlatform, Set{Symbol}}}, st::Int64)
    @ Base ./array.jl:832
  [5] _collect(c::Vector{Union{BinaryBuilderToolchains.AbstractToolchain, BinaryBuilder2.PlatformlessWrapper{<:BinaryBuilderToolchains.AbstractToolchain}}}, itr::Base.Generator{Vector{Union{BinaryBuilderToolchains.AbstractToolchain, BinaryBuilder2.PlatformlessWrapper{<:BinaryBuilderToolchains.AbstractToolchain}}}, BinaryBuilder2.var"#69#70"{String, BinaryBuilderPlatformExtensions.CrossPlatform, Set{Symbol}}}, ::Base.EltypeUnknown, isz::Base.HasShape{1})
    @ Base ./array.jl:826
  [6] collect_similar
    @ ./array.jl:738 [inlined]
  [7] map
    @ ./abstractarray.jl:3374 [inlined]
  [8] BinaryBuilder2.BuildTargetSpec(name::String, platform::BinaryBuilderPlatformExtensions.CrossPlatform, toolchains::Vector{Any}, dependencies::Vector{Any}, flags::Set{Symbol})
    @ BinaryBuilder2 ~/.julia/packages/BinaryBuilder2/xRv90/src/build_api/BuildTargetSpec.jl:28

I don't have a full enough view of the package to say that this is the correct fix though.

@Keno Keno requested a review from staticfloat June 27, 2025 00:35
Seems to fix the following error:
```
ERROR: MethodError: no method matching rename_wrapper_prefixes(::String, ::Set{Symbol}, ::BinaryBuilderToolchains.HostToolsToolchain)
The function `rename_wrapper_prefixes` exists, but no method is defined for this combination of argument types.

Closest candidates are:
  rename_wrapper_prefixes(::String, ::Set{Symbol}, ::BinaryBuilder2.PlatformlessWrapper{T}) where T
   @ BinaryBuilder2 ~/.julia/packages/BinaryBuilder2/xRv90/src/build_api/BuildTargetSpec.jl:64

Stacktrace:
  [1] (::BinaryBuilder2.var"#69#70"{String, BinaryBuilderPlatformExtensions.CrossPlatform, Set{Symbol}})(toolchain::BinaryBuilderToolchains.HostToolsToolchain)
    @ BinaryBuilder2 ~/.julia/packages/BinaryBuilder2/xRv90/src/build_api/BuildTargetSpec.jl:33
  [2] iterate
    @ ./generator.jl:48 [inlined]
  [3] collect_to!(dest::Vector{BinaryBuilderToolchains.CToolchain}, itr::Base.Generator{Vector{Union{BinaryBuilderToolchains.AbstractToolchain, BinaryBuilder2.PlatformlessWrapper{<:BinaryBuilderToolchains.AbstractToolchain}}}, BinaryBuilder2.var"#69#70"{String, BinaryBuilderPlatformExtensions.CrossPlatform, Set{Symbol}}}, offs::Int64, st::Int64)
    @ Base ./array.jl:854
  [4] collect_to_with_first!(dest::Vector{BinaryBuilderToolchains.CToolchain}, v1::BinaryBuilderToolchains.CToolchain, itr::Base.Generator{Vector{Union{BinaryBuilderToolchains.AbstractToolchain, BinaryBuilder2.PlatformlessWrapper{<:BinaryBuilderToolchains.AbstractToolchain}}}, BinaryBuilder2.var"#69#70"{String, BinaryBuilderPlatformExtensions.CrossPlatform, Set{Symbol}}}, st::Int64)
    @ Base ./array.jl:832
  [5] _collect(c::Vector{Union{BinaryBuilderToolchains.AbstractToolchain, BinaryBuilder2.PlatformlessWrapper{<:BinaryBuilderToolchains.AbstractToolchain}}}, itr::Base.Generator{Vector{Union{BinaryBuilderToolchains.AbstractToolchain, BinaryBuilder2.PlatformlessWrapper{<:BinaryBuilderToolchains.AbstractToolchain}}}, BinaryBuilder2.var"#69#70"{String, BinaryBuilderPlatformExtensions.CrossPlatform, Set{Symbol}}}, ::Base.EltypeUnknown, isz::Base.HasShape{1})
    @ Base ./array.jl:826
  [6] collect_similar
    @ ./array.jl:738 [inlined]
  [7] map
    @ ./abstractarray.jl:3374 [inlined]
  [8] BinaryBuilder2.BuildTargetSpec(name::String, platform::BinaryBuilderPlatformExtensions.CrossPlatform, toolchains::Vector{Any}, dependencies::Vector{Any}, flags::Set{Symbol})
    @ BinaryBuilder2 ~/.julia/packages/BinaryBuilder2/xRv90/src/build_api/BuildTargetSpec.jl:28
```

I don't have a full enough view of the package to say that this is the
correct fix though.
@staticfloat
Copy link
Member

I think this is only a problem because you're passing in HostToolsToolchain(platform) when you should be passing in HostToolsToolchain().

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

Successfully merging this pull request may close these issues.

2 participants