It has been in the works for a long time, but QML.jl is finally ready for release, with the registration PR pending. In the mean time, you can test it using:
@barche Thanks for this repo. Does this work on arm64 as is or I will have to fiddle a bit. It worked on x86 directly but on arm64 currently I have this âUndefVarError: libjlqml not definedâ errror. I tried jlqml building; it fails too.
Qt version could be reason. I was using 5.12. Default qt on my system failed first. I tried fetching newer version 5.12. Any suggestions here ? Thanks for your time. OS: Ubuntu 18.04 and aarch64 platform.
ERROR: LoadError: UndefVarError: libjlqml not defined
Stacktrace:
[1] top-level scope at /home/xxx/.julia/packages/QML/AvdBY/src/QML.jl:30
[2] include(::Function, ::Module, ::String) at ./Base.jl:380
[3] include(::Module, ::String) at ./Base.jl:368
[4] top-level scope at none:2
[5] eval at ./boot.jl:331 [inlined]
[6] eval(::Expr) at ./client.jl:467
[7] top-level scope at ./none:3
in expression starting at /home/xxx/.julia/packages/QML/AvdBY/src/QML.jl:30
ERROR: Failed to precompile QML [2db162a6-7e43-52c3-8d84-290c1c42d82a] to /home/xxx/.julia/compiled/v1.5/QML/JLkMo_W3O9X.ji.
Stacktrace:
[1] error(::String) at ./error.jl:33
[2] compilecache(::Base.PkgId, ::String) at ./loading.jl:1305
[3] _require(::Base.PkgId) at ./loading.jl:1030
[4] require(::Base.PkgId) at ./loading.jl:928
[5] require(::Module, ::Symbol) at ./loading.jl:923
For now, you would still have to build the jlqml library yourself. Very soon now ⢠we should have official bianries, though. You can track progress here, we just had a bit of setback with libcxxwrap-julia (a dependency for jlqml).
Thanks. I managed to built it and I followed instruments of jlqml repo (overrides.toml). The library doesnât pick the libjlqml.so still. I feel jlqml_jll needs aarch64 specific script in src folder.
Had to add aarch64 wrapper script (just a copy of arm-linux). I made an aarch64 fork here. But I have a general question. How do you get git-tree-sha1 value. In my case I just replaced with expected value in error.
The directories passed here need to contain a directory lib that holds the actual libraries. Note that itâs best to also override Qt to the Qt you used to compile jlqml.
@barche Yes. I agree it should work because the changes I made look trivial but as I mentioned I followed instructions in jlqml. It didnât work. I am not sure why. May be its my system in some stale state is the problem. Thanks for this work. It works well so far.
Ah, I think I understand now, probably the override doesnât work because the aarch64 architecture is not present at all in the JLL. The only way I can think of to do that is to check out the Yggdrasil tree, add aarch64 to the build_tarballs.jl for jlqml and then build using --deploy to your own github fork of the jlqml JLL package.