JuliaGraphics / QML.jl

Build Qt6 QML interfaces for Julia programs.
Other
386 stars 35 forks source link

ERROR: LoadError: No applicable_loaders found for QML #110

Closed AndiMD closed 3 years ago

AndiMD commented 3 years ago

Hi,

a recent ]update of my packages rendered QML.jl broken. I also updated from Julia 1.5.3 to 1.5.4.

using QML
include(joinpath(dirname(pathof(QML)), "..", "example", "runexamples.jl"))
running example board.jl...
┌ Warning: no Manifest.toml file found, static paths used
└ @ Revise ~/.julia/packages/Revise/VxkZO/src/packagedef.jl:1369
ERROR: LoadError: No applicable_loaders found for QML
Stacktrace:
 [1] error(::String) at ./error.jl:33
 [2] applicable_loaders at /home/andi/.julia/packages/FileIO/BUPwf/src/loadsave.jl:11 [inlined]
 [3] load(::String; options::Base.Iterators.Pairs{Symbol,Any,Tuple{Symbol,Symbol},NamedTuple{(:cols, :emojiModel),Tuple{Int64,QML.ListModelAllocated}}}) at /home/andi/.julia/packages/FileIO/BUPwf/src/loadsave.jl:112
 [4] top-level scope at /home/andi/.julia/packages/QML/AvdBY/example/board.jl:26
 [5] include(::Function, ::Module, ::String) at ./Base.jl:380
 [6] include(::Module, ::String) at ./Base.jl:368
 [7] exec_options(::Base.JLOptions) at ./client.jl:296
 [8] _start() at ./client.jl:506
in expression starting at /home/andi/.julia/packages/QML/AvdBY/example/board.jl:26
ERROR: LoadError: failed process: Process(`/home/andi/programs/julia-1.5.4/bin/julia -Cnative -J/home/andi/programs/julia-1.5.4/sysimage/sysimg.so -g1 --project board.jl`, ProcessExited(1)) [1]

Stacktrace:
 [1] pipeline_error at ./process.jl:525 [inlined]
 [2] run(::Cmd; wait::Bool) at ./process.jl:440
 [3] run at ./process.jl:438 [inlined]
 [4] (::var"#1#2")() at /home/andi/.julia/packages/QML/AvdBY/example/runexamples.jl:9
 [5] cd(::var"#1#2", ::String) at ./file.jl:104
 [6] top-level scope at /home/andi/.julia/packages/QML/AvdBY/example/runexamples.jl:5
 [7] include(::String) at ./client.jl:457
 [8] top-level scope at REPL[3]:1
in expression starting at /home/andi/.julia/packages/QML/AvdBY/example/runexamples.jl:5

Versions: [5789e2e9] FileIO v1.6.4 [91a5bcdd] Plots v1.11.0 [2db162a6] QML v0.6.0

Julia Version 1.5.4 Commit 69fcb5745b (2021-03-11 19:13 UTC) Platform Info: OS: Linux (x86_64-pc-linux-gnu) CPU: Intel(R) Core(TM) i7-4870HQ CPU @ 2.50GHz WORD_SIZE: 64 LIBM: libopenlibm LLVM: libLLVM-9.0.1 (ORCJIT, haswell) Environment: JULIA_EDITOR = vim JULIA_NUM_THREADS = 4

This has also been reported on StackOverflow: https://stackoverflow.com/questions/66650868/qml-jl-no-applicable-loaders-found-for-qml

Thanks, Andreas

urlicht commented 3 years ago

I have the same issue with Julia v1.6.0 and v1.5.4

urlicht commented 3 years ago

As a temp solution, downgrading the FileIO.jl to v1.4.5 resolves the problem

barche commented 3 years ago

OK, so it seems the solution is to either update to the new FileIO, or drop the idea of using FileIO to load QML completely. I'm leaning towards the latter, since FileIO seems like overkill here.

VarLad commented 3 years ago

@barche Can you update the Documentation accordingly? The examples are broken....

barche commented 3 years ago

My plan right now: release a new version with a proper compat limit on FileIO and deprecate load in favour of loadqml.

VarLad commented 3 years ago

loadqml.... But... would that mean we have to make the qml files externally in our project, instead of temporarily writing them in Julia?

Also, any time period in sight for the update?

barche commented 3 years ago

loadqml.... But... would that mean we have to make the qml files externally in our project, instead of temporarily writing them in Julia?

No, that method still uses the set_datafunction.

Also, any time period in sight for the update?

I'd like to move to the new Qt5 packages in the same go, si I'll first sublit a Qt5Declarative package to Yggdrasil. Otherwise installing QML and the latest GR together might give headaches.

barche commented 3 years ago

This should be fixed, so let's release a new version.

@JuliaRegistrator register

JuliaRegistrator commented 3 years ago

Registration pull request created: JuliaRegistries/General/33966

After the above pull request is merged, it is recommended that a tag is created on this repository for the registered package version.

This will be done automatically if the Julia TagBot GitHub Action is installed, or can be done manually through the github interface, or via:

git tag -a v0.6.1 -m "<description of version>" db1f0f81d5c9f28d09288f03efbe529bc94804f4
git push origin v0.6.1
barche commented 3 years ago

This is now fixed for Julia 1.5. Note that for Julia 1.6 issue #112 remains, that will require a rebuild of jlqml.