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

Cairo import fails on v1.6 #341

Closed
montyvesselinov opened this issue Mar 27, 2021 · 8 comments
Closed

Cairo import fails on v1.6 #341

montyvesselinov opened this issue Mar 27, 2021 · 8 comments

Comments

@montyvesselinov
Copy link

julia> import Cairo
[ Info: Precompiling Cairo [159f3aea-2a34-519c-b102-8c37f9878175]
ERROR: LoadError: LoadError: InitError: could not load library "/Users/vvv/.julia/artifacts/14819d58d81af1286ea71ca9ab144f64bb41f625/lib/libicudata.67.1.dylib"
dlopen(/Users/vvv/.julia/artifacts/14819d58d81af1286ea71ca9ab144f64bb41f625/lib/libicudata.67.1.dylib, 1): image not found
Stacktrace:
  [1] dlopen(s::String, flags::UInt32; throw_error::Bool)
    @ Base.Libc.Libdl ./libdl.jl:114
  [2] dlopen(s::String, flags::UInt32)
    @ Base.Libc.Libdl ./libdl.jl:114
  [3] macro expansion
    @ ~/.julia/packages/JLLWrappers/WnWcZ/src/products/library_generators.jl:63 [inlined]
  [4] __init__()
    @ ICU_jll ~/.julia/packages/ICU_jll/6CbiU/src/wrappers/x86_64-apple-darwin.jl:13
  [5] _include_from_serialized(path::String, depmods::Vector{Any})
    @ Base ./loading.jl:674
  [6] _require_search_from_serialized(pkg::Base.PkgId, sourcepath::String)
    @ Base ./loading.jl:760
  [7] _require(pkg::Base.PkgId)
    @ Base ./loading.jl:998
  [8] require(uuidkey::Base.PkgId)
    @ Base ./loading.jl:914
  [9] require(into::Module, mod::Symbol)
    @ Base ./loading.jl:901
 [10] include(mod::Module, _path::String)
    @ Base ./Base.jl:386
 [11] top-level scope
    @ ~/.julia/packages/JLLWrappers/WnWcZ/src/toplevel_generators.jl:170
 [12] include
    @ ./Base.jl:386 [inlined]
 [13] include_package_for_output(pkg::Base.PkgId, input::String, depot_path::Vector{String}, dl_load_path::Vector{String}, load_path::Vector{String}, concrete_deps::Vector{Pair{Base.PkgId, UInt64}}, source::String)
    @ Base ./loading.jl:1213
 [14] top-level scope
    @ none:1
 [15] eval
    @ ./boot.jl:360 [inlined]
 [16] eval(x::Expr)
    @ Base.MainInclude ./client.jl:446
 [17] top-level scope
    @ none:1
during initialization of module ICU_jll
in expression starting at /Users/vvv/.julia/packages/HarfBuzz_jll/OFN8Y/src/wrappers/x86_64-apple-darwin.jl:11
in expression starting at /Users/vvv/.julia/packages/HarfBuzz_jll/OFN8Y/src/HarfBuzz_jll.jl:2
ERROR: LoadError: LoadError: Failed to precompile HarfBuzz_jll [2e76f6c2-a576-52d4-95c1-20adfe4de566] to /Users/vvv/.julia/compiled/v1.6/HarfBuzz_jll/jl_4n0reZ.
Stacktrace:
  [1] error(s::String)
    @ Base ./error.jl:33
  [2] compilecache(pkg::Base.PkgId, path::String, internal_stderr::Base.TTY, internal_stdout::Base.TTY)
    @ Base ./loading.jl:1360
  [3] compilecache(pkg::Base.PkgId, path::String)
    @ Base ./loading.jl:1306
  [4] _require(pkg::Base.PkgId)
    @ Base ./loading.jl:1021
  [5] require(uuidkey::Base.PkgId)
    @ Base ./loading.jl:914
  [6] require(into::Module, mod::Symbol)
    @ Base ./loading.jl:901
  [7] include(mod::Module, _path::String)
    @ Base ./Base.jl:386
  [8] top-level scope
    @ ~/.julia/packages/JLLWrappers/WnWcZ/src/toplevel_generators.jl:170
  [9] include
    @ ./Base.jl:386 [inlined]
 [10] include_package_for_output(pkg::Base.PkgId, input::String, depot_path::Vector{String}, dl_load_path::Vector{String}, load_path::Vector{String}, concrete_deps::Vector{Pair{Base.PkgId, UInt64}}, source::String)
    @ Base ./loading.jl:1213
 [11] top-level scope
    @ none:1
 [12] eval
    @ ./boot.jl:360 [inlined]
 [13] eval(x::Expr)
    @ Base.MainInclude ./client.jl:446
 [14] top-level scope
    @ none:1
in expression starting at /Users/vvv/.julia/packages/Pango_jll/XQBSg/src/wrappers/x86_64-apple-darwin.jl:8
in expression starting at /Users/vvv/.julia/packages/Pango_jll/XQBSg/src/Pango_jll.jl:2
ERROR: LoadError: Failed to precompile Pango_jll [36c8627f-9965-5494-a995-c6b170f724f3] to /Users/vvv/.julia/compiled/v1.6/Pango_jll/jl_LomSoU.
Stacktrace:
  [1] error(s::String)
    @ Base ./error.jl:33
  [2] compilecache(pkg::Base.PkgId, path::String, internal_stderr::Base.TTY, internal_stdout::Base.TTY)
    @ Base ./loading.jl:1360
  [3] compilecache(pkg::Base.PkgId, path::String)
    @ Base ./loading.jl:1306
  [4] _require(pkg::Base.PkgId)
    @ Base ./loading.jl:1021
  [5] require(uuidkey::Base.PkgId)
    @ Base ./loading.jl:914
  [6] require(into::Module, mod::Symbol)
    @ Base ./loading.jl:901
  [7] include
    @ ./Base.jl:386 [inlined]
  [8] include_package_for_output(pkg::Base.PkgId, input::String, depot_path::Vector{String}, dl_load_path::Vector{String}, load_path::Vector{String}, concrete_deps::Vector{Pair{Base.PkgId, UInt64}}, source::Nothing)
    @ Base ./loading.jl:1213
  [9] top-level scope
    @ none:1
 [10] eval
    @ ./boot.jl:360 [inlined]
 [11] eval(x::Expr)
    @ Base.MainInclude ./client.jl:446
 [12] top-level scope
    @ none:1
in expression starting at /Users/vvv/.julia/packages/Cairo/smWIA/src/Cairo.jl:1
ERROR: Failed to precompile Cairo [159f3aea-2a34-519c-b102-8c37f9878175] to /Users/vvv/.julia/compiled/v1.6/Cairo/jl_5R0UYK.
Stacktrace:
 [1] error(s::String)
   @ Base ./error.jl:33
 [2] compilecache(pkg::Base.PkgId, path::String, internal_stderr::Base.TTY, internal_stdout::Base.TTY)
   @ Base ./loading.jl:1360
 [3] compilecache(pkg::Base.PkgId, path::String)
   @ Base ./loading.jl:1306
 [4] _require(pkg::Base.PkgId)
   @ Base ./loading.jl:1021
 [5] require(uuidkey::Base.PkgId)
   @ Base ./loading.jl:914
 [6] require(into::Module, mod::Symbol)
   @ Base ./loading.jl:901

(@v1.6) pkg> st Cairo
      Status `~/.julia/environments/v1.6/Project.toml`
  [159f3aea] Cairo v1.0.5

julia> VERSION
v"1.6.0"
@giordano
Copy link
Contributor

giordano commented Mar 27, 2021

Does it work with Julia v1.5? I don't think anything changed very recently in this regard, nor I can think of any known issue. What's the version of ICU_jll? You can see it in

]status -m

@montyvesselinov
Copy link
Author

I was able to fix it by restarting it from scratch.

Is there a way to rebuild the artifacts?!

@giordano
Copy link
Contributor

I was able to fix it by restarting it from scratch.

So this can be closed?

Is there a way to rebuild the artifacts?!

What do you mean exactly?

@montyvesselinov
Copy link
Author

in my case building

/Users/vvv/.julia/artifacts/14819d58d81af1286ea71ca9ab144f64bb41f625/lib/libicudata.67.1.dylib

failed.

how I can rebuild all the artifacts needed for Cairo for example?!

rm Cairo
add Cairo
build Cairo

does not rebuild the depending artifacts?!

@giordano
Copy link
Contributor

No

@giordano
Copy link
Contributor

giordano commented Mar 27, 2021

To be clear: artifacts is a mechanism to download tarballs from the Internet, introduced in this blog post. Cairo.jl, like many other packages in the Julia ecosystem, uses this to provide prebuilt libraries (using BinaryBuilder), so that users don't need to build or install anything themselves on their machines. ]build Cairo does literally nothing.

@montyvesselinov
Copy link
Author

Ok. but the tarballs were corrupted because of something. How I can retry to pull the tarballs that failed?! in this case libicudata.67.1.dylib?!

@giordano
Copy link
Contributor

I have no idea what was the issue, the error message wasn't very helpful (not your fault, it's the kernel that doesn't provide more details). It's unlikely the library was corrupted as there are two independent integrity checks when you install an artifact, unless something corrupts the library after the installation. There is really nothing we can do here

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

No branches or pull requests

3 participants