Problem with Qt dependency of Plots.jl

Hello,

I’m having an issue with a package I’m developing that depends on Plots.jl.
The gist is, that when I dev this package then I get a precompilation error:

ERROR: LoadError: LoadError: InitError: could not load library "C:\Users\e11469\.julia\artifacts\c34a53538bc6c87c8b376c3f6d0d3248830003bc\bin\Qt5Concurrent.dll"
The specified procedure could not be found.

So, some sort of issue with Qt5.

Looking through the Manifest this is a dependency of GR_jll, on which GR depends, on which Plots.jldepends.
Here are the relevant snippets from the created Manifest:

[[Plots]]
deps = ["Base64", "Contour", "Dates", "FFMPEG", "FixedPointNumbers", "GR", "GeometryBasics", "JSON", "Latexify", "LinearAlgebra", "Measures", "NaNMath", "PlotThemes", "PlotUtils", "Printf", "REPL", "Random", "RecipesBase", "RecipesPipeline", "Reexport", "Requires", "Scratch", "Showoff", "SparseArrays", "Statistics", "StatsBase", "UUIDs"]
git-tree-sha1 = "cc4eb1be2576984d7a0f7f51478827dee816138b"
uuid = "91a5bcdd-55d7-5caf-9e0b-520d859cae80"
version = "1.11.2"

[[GR]]
deps = ["Base64", "DelimitedFiles", "GR_jll", "HTTP", "JSON", "LinearAlgebra", "Pkg", "Printf", "Random", "Serialization", "Sockets", "Test", "UUIDs"]
git-tree-sha1 = "f74b42150042d11a1d94badf27c6125867c7e9bd"
uuid = "28b8d3ca-fb5f-59d9-8090-bfdbd6d07a71"
version = "0.57.1"

[[GR_jll]]
deps = ["Artifacts", "Bzip2_jll", "Cairo_jll", "FFMPEG_jll", "Fontconfig_jll", "GLFW_jll", "JLLWrappers", "JpegTurbo_jll", "Libdl", "Libtiff_jll", "Pixman_jll", "Pkg", "Qt5Base_jll", "Zlib_jll", "libpng_jll"]
git-tree-sha1 = "578527027f2d6c29a8de3e2eb6887d8850ef755c"
uuid = "d2c73de3-f751-5644-a686-071e5b155ba9"
version = "0.57.1+0"

[[Qt5Base_jll]]
deps = ["Artifacts", "CompilerSupportLibraries_jll", "Fontconfig_jll", "Glib_jll", "JLLWrappers", "Libdl", "Libglvnd_jll", "OpenSSL_jll", "Pkg", "Xorg_libXext_jll", "Xorg_libxcb_jll", "Xorg_xcb_util_image_jll", "Xorg_xcb_util_keysyms_jll", "Xorg_xcb_util_renderutil_jll", "Xorg_xcb_util_wm_jll", "Zlib_jll", "xkbcommon_jll"]
git-tree-sha1 = "16626cfabbf7206d60d84f2bf4725af7b37d4a77"
uuid = "ea2cea3b-5b76-57ae-a6ef-0a8af62496e1"
version = "5.15.2+0"

So I looked the manifest in my package directory. When I work inside that project everything is just fine. Here are the corresponding snippets of that Manifest:

[[Plots]]
deps = ["Base64", "Contour", "Dates", "FFMPEG", "FixedPointNumbers", "GR", "GeometryBasics", "JSON", "Latexify", "LinearAlgebra", "Measures", "NaNMath", "PlotThemes", "PlotUtils", "Printf", "REPL", "Random", "RecipesBase", "RecipesPipeline", "Reexport", "Requires", "Scratch", "Showoff", "SparseArrays", "Statistics", "StatsBase", "UUIDs"]
git-tree-sha1 = "cfd3144e01f7f886e1576cab262ea66e7f678c3c"
uuid = "91a5bcdd-55d7-5caf-9e0b-520d859cae80"
version = "1.11.1"

[[GR]]
deps = ["Base64", "DelimitedFiles", "GR_jll", "HTTP", "JSON", "LinearAlgebra", "Pkg", "Printf", "Random", "Serialization", "Sockets", "Test", "UUIDs"]
git-tree-sha1 = "12d971c928b7ecf19b748a2c7df6a365690dbf2c"
uuid = "28b8d3ca-fb5f-59d9-8090-bfdbd6d07a71"
version = "0.55.0"

[[GR_jll]]
deps = ["Artifacts", "Bzip2_jll", "Cairo_jll", "FFMPEG_jll", "Fontconfig_jll", "GLFW_jll", "JLLWrappers", "JpegTurbo_jll", "Libdl", "Libtiff_jll", "Pixman_jll", "Pkg", "Qt_jll", "Zlib_jll", "libpng_jll"]
git-tree-sha1 = "16df4fd019bf1245bfe97adbae7f2b7db6fb56bf"
uuid = "d2c73de3-f751-5644-a686-071e5b155ba9"
version = "0.56.1+0"

[[Qt_jll]]
deps = ["Artifacts", "CompilerSupportLibraries_jll", "Fontconfig_jll", "Glib_jll", "JLLWrappers", "Libdl", "Libglvnd_jll", "OpenSSL_jll", "Pkg", "Xorg_libXext_jll", "Xorg_libxcb_jll", "Xorg_xcb_util_image_jll", "Xorg_xcb_util_keysyms_jll", "Xorg_xcb_util_renderutil_jll", "Xorg_xcb_util_wm_jll", "Zlib_jll", "xkbcommon_jll"]
git-tree-sha1 = "32d763e4624ff5df9ad399aa29feeda5a5f5c43f"
uuid = "ede63266-ebff-546c-83e0-1c6fb6d0efc8"
version = "5.15.2+3"

The differences are:

  • Plots.jl has changed from 1.11.1 to 1.11.2
  • GR and GR_jll have changed from 0.55.0 and 0.56.1+0 to 0.57.1 and 0.57.1+0 respectively
  • maybe most importantly, the cahnge in GR_jll has led to a dependency on Qt5Base_jll instead of Qt_jll

I figured out 1 solution:

  • Pin Plots.jl to version 1.11.1 in my package

However, this feels rather unstatisfying.
Isn’t a change from 1.11.1 to 1.11.2 supposed to be small bug fixes?

Finally, I would appreciate some explanation of the error.
Is there anything I can do to easily resolve this and be able to use newer versions of Plots?

Thanks!

See Qt library conflict with v0.57.3 · Issue #392 · jheinen/GR.jl · GitHub

1 Like

Thanks!