-
Notifications
You must be signed in to change notification settings - Fork 54
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
Unable to automatically install 'tzdata1997b' from '.../Artifacts.toml' #325
Comments
Related to: #300 |
Indeed using JuliaLang/PackageCompiler.jl#489 fixes the problem |
That allows you to avoid the download, but the failure is due to an unpacking error. julia > using Pkg
julia> Pkg.PlatformEngines.download_verify_unpack("https://data.iana.org/time-zones/releases/tzdata1997b.tar.gz", "8a6c0801bb2474342a48d6c2253e7983d50d4c6d80a1d455c06fa4e4434df3b3", "/root/.julia/artifacts/jl_rJlNRK"; verbose = true, quiet_download = false)
[ Info: No hash cache found
[ Info: Calculated hash 8a6c0801bb2474342a48d6c2253e7983d50d4c6d80a1d455c06fa4e4434df3b3 for file /tmp/jl_FQy214-download.gz
[ Info: Unpacking /tmp/jl_FQy214-download.gz into /root/.julia/artifacts/jl_rJlNRK...
ERROR: incorrect header checksum = 0; should be 2782
"africa\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0 444 \0 21140 \0 0 \0 53756 6305412777 \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
Stacktrace:
[1] error(s::String)
@ Base ./error.jl:33
[2] read_standard_header(io::Base.Process; buf::Vector{UInt8}, tee::Base.DevNull)
@ Tar /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.6/Tar/src/extract.jl:496
[3] #read_header#47
@ /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.6/Tar/src/extract.jl:365 [inlined]
[4] read_tarball(callback::Tar.var"#25#27"{Vector{UInt8}, Bool, Base.Process, String}, predicate::Tar.var"#1#2", tar::Base.Process; buf::Vector{UInt8}, skeleton::Base.DevNull)
@ Tar /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.6/Tar/src/extract.jl:326
[5] extract_tarball(predicate::Function, tar::Base.Process, root::String; buf::Vector{UInt8}, skeleton::Base.DevNull, copy_symlinks::Bool)
@ Tar /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.6/Tar/src/extract.jl:57
[6] (::Tar.var"#76#79"{String, Base.Process, Tar.var"#1#2"})(skeleton::Base.DevNull)
@ Tar /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.6/Tar/src/Tar.jl:201
[7] arg_write(f::Tar.var"#76#79"{String, Base.Process, Tar.var"#1#2"}, arg::Base.DevNull)
@ ArgTools /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.6/ArgTools/src/ArgTools.jl:112
[8] #75
@ /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.6/Tar/src/Tar.jl:200 [inlined]
[9] arg_mkdir(f::Tar.var"#75#78"{Base.Process, Base.DevNull, Tar.var"#1#2"}, arg::String)
@ ArgTools /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.6/ArgTools/src/ArgTools.jl:163
[10] #74
@ /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.6/Tar/src/Tar.jl:196 [inlined]
[11] arg_read(f::Tar.var"#74#77"{Base.DevNull, Tar.var"#1#2", String}, arg::Base.Process)
@ ArgTools /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.6/ArgTools/src/ArgTools.jl:61
[12] extract(predicate::Function, tarball::Base.Process, dir::String; skeleton::Nothing, copy_symlinks::Nothing)
@ Tar /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.6/Tar/src/Tar.jl:195
[13] #extract#80
@ /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.6/Tar/src/Tar.jl:217 [inlined]
[14] (::Pkg.PlatformEngines.var"#24#26"{String})(io::Base.Process)
@ Pkg.PlatformEngines /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.6/Pkg/src/PlatformEngines.jl:512
[15] open(::Pkg.PlatformEngines.var"#24#26"{String}, ::Cmd; kwargs::Base.Iterators.Pairs{Union{}, Union{}, Tuple{}, NamedTuple{(), Tuple{}}})
@ Base ./process.jl:393
[16] open
@ ./process.jl:391 [inlined]
[17] download_verify_unpack(url::String, hash::String, dest::String; tarball_path::Nothing, ignore_existence::Bool, force::Bool, verbose::Bool, quiet_download::Bool, io::Base.TTY)
@ Pkg.PlatformEngines /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.6/Pkg/src/PlatformEngines.jl:511
[18] top-level scope
@ REPL[19]:1 It looks to me like the |
The summary here is that some of the IANA .tar.gz files from before the year 2000 don't have checksums written to their .tar headers. A workaround is to make a directory in .julia/artifacts, which will block the download/unpack/verify attempt:
You can find the expected definition of a .tar header here. |
In PR #441 all of the lazy tzdata artifacts were removed in favor of using precompiled time zones provided by TZJData.jl non-lazy artifacts. The end result is that when using PackageCompiler it doesn't matter if you use Included in TimeZones.jl release 1.12. |
Maybe related to #302 ?
But I consistently get this while using PackageCompiler on a pretty much empty project with just 1 dependency (
TimeZones.jl
):Tested on OS X and Linux. Also tested with Julia 1.6 and Julia 1.5.4. Same error on all.
(manually calling
build TimeZones
works just fine)PackageCompiler script that fails:
The text was updated successfully, but these errors were encountered: