-
Notifications
You must be signed in to change notification settings - Fork 16
Open
Description
OpenCV.jl fails to compile when I try to install it on top of empty Julia environment on my machine. I tried to do the same in official Julia docker image and this issue reproduces there as well. Steps to reproduce:
- Get official Julia docker image running
docker run -it --rm julia(7b32e015f644 to be precise) - Enter pkg and install OpenCV
] add OpenCV - Observe the following stacktrace
ERROR: The following 1 direct dependency failed to precompile:
OpenCV
Failed to precompile OpenCV [f878e3a2-a245-4720-8660-60795d644f2a] to "/root/.julia/compiled/v1.12/OpenCV/jl_WsgAyv".
C++ exception while wrapping module StdLib: invalid subtyping in definition of StdString with supertype CppBasicString
ERROR: LoadError: invalid subtyping in definition of StdString with supertype CppBasicString
Stacktrace:
[1] register_julia_module
@ ~/.julia/packages/CxxWrap/I0P2E/src/CxxWrap.jl:432 [inlined]
[2] readmodule(so_path_cb::typeof(CxxWrap.StdLib.get_libcxxwrap_julia_stl_path), funcname::Symbol, m::Module, flags::UInt32)
@ CxxWrap.CxxWrapCore ~/.julia/packages/CxxWrap/I0P2E/src/CxxWrap.jl:825
[3] wrapmodule(so_path_cb::Function, funcname::Symbol, m::Module, flags::UInt32)
@ CxxWrap.CxxWrapCore ~/.julia/packages/CxxWrap/I0P2E/src/CxxWrap.jl:835
[4] include(mapexpr::Function, mod::Module, _path::String)
@ Base ./Base.jl:307
[5] include(mod::Module, _path::String)
@ Base ./Base.jl:306
[6] 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, UInt128}}, source::String)
@ Base ./loading.jl:2996
[7] eval(m::Module, e::Any)
@ Core ./boot.jl:489
[8] include_string(mapexpr::typeof(identity), mod::Module, code::String, filename::String)
@ Base ./loading.jl:2842
[9] include_string
@ ./loading.jl:2852 [inlined]
[10] exec_options(opts::Base.JLOptions)
@ Base ./client.jl:315
[11] _start()
@ Base ./client.jl:550
in expression starting at /root/.julia/packages/CxxWrap/I0P2E/src/StdLib.jl:1
in expression starting at /root/.julia/packages/CxxWrap/I0P2E/src/CxxWrap.jl:1
in expression starting at stdin:5
ERROR: LoadError: Failed to precompile CxxWrap [1f15a43c-97ca-5a2a-ae31-89f07a497df4] to "/root/.julia/compiled/v1.12/CxxWrap/jl_kjaCmB".
Stacktrace:
[1] error(s::String)
@ Base ./error.jl:44
[2] compilecache(pkg::Base.PkgId, path::String, internal_stderr::IO, internal_stdout::IO, keep_loaded_modules::Bool; flags::Cmd, cacheflags::Base.CacheFlags, reasons::Dict{String, Int64}, loadable_exts::Nothing)
@ Base ./loading.jl:3283
[3] (::Base.var"#__require_prelocked##0#__require_prelocked##1"{Base.PkgId, String, Dict{String, Int64}})()
@ Base ./loading.jl:2651
[4] mkpidlock(f::Base.var"#__require_prelocked##0#__require_prelocked##1"{Base.PkgId, String, Dict{String, Int64}}, at::String, pid::Int32; kwopts::@Kwargs{stale_age::Int64, wait::Bool})
@ FileWatching.Pidfile /usr/local/julia/share/julia/stdlib/v1.12/FileWatching/src/pidfile.jl:93
[5] #mkpidlock#7
@ /usr/local/julia/share/julia/stdlib/v1.12/FileWatching/src/pidfile.jl:88 [inlined]
[6] trymkpidlock(::Function, ::Vararg{Any}; kwargs::@Kwargs{stale_age::Int64})
@ FileWatching.Pidfile /usr/local/julia/share/julia/stdlib/v1.12/FileWatching/src/pidfile.jl:114
[7] #invokelatest_gr#232
@ ./reflection.jl:1282 [inlined]
[8] invokelatest_gr
@ ./reflection.jl:1274 [inlined]
[9] maybe_cachefile_lock(f::Base.var"#__require_prelocked##0#__require_prelocked##1"{Base.PkgId, String, Dict{String, Int64}}, pkg::Base.PkgId, srcpath::String; stale_age::Int64)
@ Base ./loading.jl:3854
[10] maybe_cachefile_lock
@ ./loading.jl:3851 [inlined]
[11] __require_prelocked(pkg::Base.PkgId, env::String)
@ Base ./loading.jl:2637
[12] _require_prelocked(uuidkey::Base.PkgId, env::String)
@ Base ./loading.jl:2465
[13] macro expansion
@ ./loading.jl:2393 [inlined]
[14] macro expansion
@ ./lock.jl:376 [inlined]
[15] __require(into::Module, mod::Symbol)
@ Base ./loading.jl:2358
[16] require(into::Module, mod::Symbol)
@ Base ./loading.jl:2334
[17] include(mapexpr::Function, mod::Module, _path::String)
@ Base ./Base.jl:307
[18] top-level scope
@ ~/.julia/artifacts/caa92f14db4e20d28fb05b231e08788b31c91111/OpenCV/src/OpenCV.jl:4
[19] include(mapexpr::Function, mod::Module, _path::String)
@ Base ./Base.jl:307
[20] top-level scope
@ ~/.julia/packages/OpenCV/5LneO/src/OpenCV.jl:7
[21] include(mod::Module, _path::String)
@ Base ./Base.jl:306
[22] 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, UInt128}}, source::Nothing)
@ Base ./loading.jl:2996
[23] top-level scope
@ stdin:5
[24] eval(m::Module, e::Any)
@ Core ./boot.jl:489
[25] include_string(mapexpr::typeof(identity), mod::Module, code::String, filename::String)
@ Base ./loading.jl:2842
[26] include_string
@ ./loading.jl:2852 [inlined]
[27] exec_options(opts::Base.JLOptions)
@ Base ./client.jl:315
[28] _start()
@ Base ./client.jl:550
in expression starting at /root/.julia/artifacts/caa92f14db4e20d28fb05b231e08788b31c91111/OpenCV/src/cv_cxx.jl:10
in expression starting at /root/.julia/artifacts/caa92f14db4e20d28fb05b231e08788b31c91111/OpenCV/src/OpenCV.jl:4
in expression starting at /root/.julia/packages/OpenCV/5LneO/src/OpenCV.jl:1
Am I missing some configuration steps?
Metadata
Metadata
Assignees
Labels
No labels