JuliaInterop / Clang.jl

C binding generator and Julia interface to libclang
https://juliainterop.github.io/Clang.jl/
MIT License
217 stars 68 forks source link

get_default_args fails on 1.10 #471

Closed tbeason closed 3 months ago

tbeason commented 5 months ago

This failed for me on 1.10 but works in 1.9.4

julia> args = get_default_args()
  Downloaded artifact: GCCBootstrap-x86_64-w64-mingw32.v4.8.5.x86_64-linux-musl.unpacked
  Downloaded artifact: GCCBootstrap-x86_64-w64-mingw32.v4.8.5.x86_64-linux-musl.unpacked
ERROR: Unable to automatically download/install artifact 'GCCBootstrap-x86_64-w64-mingw32.v4.8.5.x86_64-linux-musl.unpacked' from sources listed in 'C:\Users\beasont\.julia\packages\Clang\kNxXb\Artifacts.toml'.
Sources attempted:
- https://pkg.julialang.org/artifact/217a1339fc81b7388fc8af3fc8a05bca7b7ced19
    Error: Tree Hash Mismatch!
  Expected git-tree-sha1:   217a1339fc81b7388fc8af3fc8a05bca7b7ced19
  Calculated git-tree-sha1: f8d7dda78e299523328b794263cf4f48952d631a
- https://github.com/JuliaPackaging/Yggdrasil/releases/download/GCCBootstrap-v4.8.5+3/GCCBootstrap-x86_64-w64-mingw32.v4.8.5.x86_64-linux-musl.unpacked.tar.gz
    Error: Tree Hash Mismatch!
  Expected git-tree-sha1:   217a1339fc81b7388fc8af3fc8a05bca7b7ced19
  Calculated git-tree-sha1: f8d7dda78e299523328b794263cf4f48952d631a

Stacktrace:
 [1] error(s::String)
   @ Base .\error.jl:35
 [2] ensure_artifact_installed(name::String, meta::Dict{String, Any}, artifacts_toml::String; platform::Base.BinaryPlatforms.Platform, verbose::Bool, quiet_download::Bool, io::Base.TTY)
   @ Pkg.Artifacts C:\Users\beasont\.julia\juliaup\julia-1.10.0+0.x64.w64.mingw32\share\julia\stdlib\v1.10\Pkg\src\Artifacts.jl:422
 [3] ensure_artifact_installed(name::String, meta::Dict{String, Any}, artifacts_toml::String)
   @ Clang.JLLEnvs C:\Users\beasont\.julia\packages\Clang\kNxXb\src\shards\JLLEnvs.jl:129
 [5] get_system_dirs(triple::String, version::VersionNumber)
   @ Clang.JLLEnvs C:\Users\beasont\.julia\packages\Clang\kNxXb\src\shards\JLLEnvs.jl:119 [inlined]
 [6] get_default_args(triple::String)
   @ Clang.Generators C:\Users\beasont\.julia\packages\Clang\kNxXb\src\generator\context.jl:240
 [7] top-level scope
   @ REPL[11]:1

and here is under 1.9.4

julia> args = get_default_args()
  Downloaded artifact: GCCBootstrap-x86_64-w64-mingw32.v4.8.5.x86_64-linux-musl.unpacked
5-element Vector{String}:
 "-isystemC:\\Users\\beasont\\.julia" ⋯ 61 bytes ⋯ "86_64-w64-mingw32\\4.8.5\\include"
 "-isystemC:\\Users\\beasont\\.julia" ⋯ 67 bytes ⋯ "w64-mingw32\\4.8.5\\include-fixed"
 "-isystemC:\\Users\\beasont\\.julia" ⋯ 47 bytes ⋯ "ed19\\x86_64-w64-mingw32\\include"
 "-isystemC:\\Users\\beasont\\.julia" ⋯ 56 bytes ⋯ "64-w64-mingw32\\sys-root\\include"
 "--target=x86_64-w64-windows-gnu"
Gnimuc commented 5 months ago

looks like BBB's Artifacts.toml has been updated recently.

https://github.com/JuliaPackaging/BinaryBuilderBase.jl/blob/a4ef056f979007f806ff3980dc6e592f9dd4dd1b/Artifacts.toml#L2762-L2771

Gnimuc commented 5 months ago

replace Artifacts.toml in Clang.jl with the new one in BBB should fix the issue.