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

[GDAL] fix version_offset #7412

Merged
merged 1 commit into from
Sep 22, 2023
Merged

[GDAL] fix version_offset #7412

merged 1 commit into from
Sep 22, 2023

Conversation

visr
Copy link
Contributor

@visr visr commented Sep 22, 2023

See #7050 (comment)

Registration of the previous version was blocked: JuliaRegistries/General#91991

See JuliaPackaging#7050 (comment)

Registration of the previous version was blocked: JuliaRegistries/General#91991
@giordano giordano enabled auto-merge (squash) September 22, 2023 14:47
@visr visr disabled auto-merge September 22, 2023 15:00
@visr
Copy link
Contributor Author

visr commented Sep 22, 2023

I disabled automerge, since the GDAL build is already up on https://github.com/JuliaBinaryWrappers/GDAL_jll.jl/releases/tag/GDAL-v300.700.200%2B0 I figured I'd try it out first. But it fails on LibPQ_jll. To reproduce in GDAL.jl, do this in pkg mode:

compat GDAL_jll 300,301
compat PROJ_jll 900,901
add GDAL_jll#main PROJ_jll#main
Precompiling project...
  ✗ LibPQ_jll
  ✗ GDAL_jll
  ✗ GDAL
  36 dependencies successfully precompiled in 14 seconds. 7 already precompiled.

ERROR: The following 2 direct dependencies failed to precompile:

GDAL_jll [a7073274-a066-55f0-b90d-d619367d196c]

Failed to precompile GDAL_jll [a7073274-a066-55f0-b90d-d619367d196c] to "C:\\Users\\visser_mn\\.julia\\compiled\\v1.10\\GDAL_jll\\jl_6649.tmp".
ERROR: LoadError: InitError: could not load library "C:\Users\visser_mn\.julia\artifacts\2a29863b092214f3e985df7ccf7601ae41d8f406\bin\icuin69.dll"
Access is denied.
Stacktrace:
  [1] dlopen(s::String, flags::UInt32; throw_error::Bool)
    @ Base.Libc.Libdl .\libdl.jl:117
  [2] dlopen(s::String, flags::UInt32)
    @ Base.Libc.Libdl .\libdl.jl:116
  [3] macro expansion
    @ ICU_jll C:\Users\visser_mn\.julia\packages\JLLWrappers\pG9bm\src\products\library_generators.jl:63 [inlined]
  [4] __init__()
    @ ICU_jll C:\Users\visser_mn\.julia\packages\ICU_jll\TWQLS\src\wrappers\x86_64-w64-mingw32-cxx11.jl:19
  [5] run_module_init(mod::Module, i::Int64)
    @ Base .\loading.jl:1128
  [6] register_restored_modules(sv::Core.SimpleVector, pkg::Base.PkgId, path::String)
    @ Base .\loading.jl:1116
during initialization of module ICU_jll
in expression starting at C:\Users\visser_mn\.julia\packages\LibPQ_jll\XTWm5\src\wrappers\x86_64-w64-mingw32.jl:5
in expression starting at C:\Users\visser_mn\.julia\packages\LibPQ_jll\XTWm5\src\LibPQ_jll.jl:2
in expression starting at stdin:3
ERROR: LoadError: Failed to precompile LibPQ_jll [08be9ffa-1c94-5ee5-a977-46a84ec9b350] to "C:\\Users\\visser_mn\\.julia\\compiled\\v1.10\\LibPQ_jll\\jl_67BE.tmp".
Stacktrace:
  [1] error(s::String)
    @ Base .\error.jl:35
  [2] compilecache(pkg::Base.PkgId, path::String, internal_stderr::IO, internal_stdout::IO, keep_loaded_modules::Bool)
    @ Base .\loading.jl:2468
  [3] compilecache
    @ Base .\loading.jl:2334 [inlined]
  [4] (::Base.var"#967#968"{Base.PkgId})()
    @ Base .\loading.jl:1968
  [5] mkpidlock(f::Base.var"#967#968"{Base.PkgId}, at::String, pid::Int32; kwopts::@Kwargs{stale_age::Int64, wait::Bool})
    @ FileWatching.Pidfile C:\Users\visser_mn\.julia\juliaup\julia-1.10.0-beta2+0.x64.w64.mingw32\share\julia\stdlib\v1.10\FileWatching\src\pidfile.jl:92
  [6] #mkpidlock#6
    @ FileWatching.Pidfile C:\Users\visser_mn\.julia\juliaup\julia-1.10.0-beta2+0.x64.w64.mingw32\share\julia\stdlib\v1.10\FileWatching\src\pidfile.jl:87 [inlined]
  [7] trymkpidlock(::Function, ::Vararg{Any}; kwargs::@Kwargs{stale_age::Int64})
    @ FileWatching.Pidfile C:\Users\visser_mn\.julia\juliaup\julia-1.10.0-beta2+0.x64.w64.mingw32\share\julia\stdlib\v1.10\FileWatching\src\pidfile.jl:110
  [8] #invokelatest#2
    @ Base .\essentials.jl:889 [inlined]
  [9] invokelatest
    @ Base .\essentials.jl:884 [inlined]
 [10] maybe_cachefile_lock(f::Base.var"#967#968"{Base.PkgId}, pkg::Base.PkgId, srcpath::String; stale_age::Int64)
    @ Base .\loading.jl:2978
in expression starting at C:\Users\visser_mn\.julia\dev\GDAL_jll\src\wrappers\x86_64-w64-mingw32-cxx11.jl:8
in expression starting at C:\Users\visser_mn\.julia\dev\GDAL_jll\src\GDAL_jll.jl:2
in expression starting at stdin:3

@visr visr marked this pull request as draft September 22, 2023 15:09
@visr
Copy link
Contributor Author

visr commented Sep 22, 2023

CC @jeremiahpslewis, perhaps related to #7053.

@giordano
Copy link
Member

Sounds like stricter compat bounds have to be set somewhere?

@visr visr marked this pull request as ready for review September 22, 2023 15:20
@visr
Copy link
Contributor Author

visr commented Sep 22, 2023

Wait no sorry, this should be fine. If I use Julia 1.9, LibPQ_jll and GDAL_jll both work fine, all GDAL tests pass.

I've run into this before, so I think this is a 1.10 issue, but the LibPQ_jll artifact was installed with read-only flag set, leading to this access denied error. This seems to happen sometimes on 1.10. I cannot reproduce it though, if I remove the artifact and install it again, normally it's fine. On Julia 1.9 this never happens.

@visr
Copy link
Contributor Author

visr commented Sep 22, 2023

I saved both versions of the same artifact. Their contents are exactly the same, but the mode is not:

julia> stat("icudt69.dll")  # bad
StatStruct for "icudt69.dll"
   size: 28960428 bytes
 device: 2664978069
  inode: 1001914
   mode: 0o100444 (-r--r--r--)
  nlink: 1
    uid: 0
    gid: 0
   rdev: 0
  blksz: 4096
 blocks: 56568
  mtime:  (25 minutes ago)
  ctime:  (25 minutes ago)

julia> stat("icudt69.dll")  # good
StatStruct for "icudt69.dll"
   size: 28960428 bytes
 device: 2652370264
  inode: 1612352
   mode: 0o100666 (-rw-rw-rw-)
  nlink: 1
    uid: 0
    gid: 0
   rdev: 0
  blksz: 4096
 blocks: 56568
  mtime:  (7 minutes ago)
  ctime:  (7 minutes ago)

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