Mysterious BinaryProvider error when installing FIGlet

I get this mysterious error when trying to install FIGlet in v1.11 (works fine in v1.10), complaining about the version of BinaryProvider, however trying to look into it, everything works fine when dev-ing the package.

Any idea what’s going on here?

(@v1.11) pkg> activate --temp
  Activating new project at `/tmp/jl_3jtNU3`

(jl_3jtNU3) pkg> add FIGlet
   Resolving package versions...
ERROR: Unsatisfiable requirements detected for package BinaryProvider [b99e7846]:
 BinaryProvider [b99e7846] log:
 β”œβ”€possible versions are: 0.4.0 - 0.5.10 or uninstalled
 └─restricted by julia compatibility requirements to versions: uninstalled β€” no versions left

(jl_3jtNU3) pkg> dev FIGlet
     Cloning git-repo `https://github.com/kdheepak/FIGlet.jl.git`
   Resolving package versions...
    Updating `/tmp/jl_3jtNU3/Project.toml`
  [3064a664] + FIGlet v0.2.1 `~/.julia/dev/FIGlet`
    Updating `/tmp/jl_3jtNU3/Manifest.toml`
  [3064a664] + FIGlet v0.2.1 `~/.julia/dev/FIGlet`

The package depends on BinaryProvider in the registry:

When you dev the package you’re checking out the master branch of the repo, which has different code apparently.

Nice, thanks. So it just needs to register a new release, I guess.

I had registered v0.2.1 as the version in this commit

(on a branch called release-v0.2.1).

I just made a PR to merge that to the default branch: Use BinaryProvider for an artifact by kdheepak Β· Pull Request #12 Β· kdheepak/FIGlet.jl Β· GitHub

But I realize that BinaryProvider has been deprecated. I have to look into what the alternative is include an artifact; I won’t be able to do that until the weekend though.

The current master branch doesn’t include the artifact so you can use it by manually providing fonts.

I don’t think you need BinaryProvider, I just dev-ed FIGlet with a fresh julia docker container, and that works for me from the current master (0.2.2).

❯ podman run -it julia:1.11.1
WARN[0000] Using cgroups-v1 which is deprecated in favor of cgroups-v2 with Podman v5 and will be removed in a future version. Set environment variable `PODMAN_IGNORE_CGROUPSV1_WARNING` to hide this warning.
               _
   _       _ _(_)_     |  Documentation: https://docs.julialang.org
  (_)     | (_) (_)    |
   _ _   _| |_  __ _   |  Type "?" for help, "]?" for Pkg help.
  | | | | | | |/ _` |  |
  | | |_| | | | (_| |  |  Version 1.11.1 (2024-10-16)
 _/ |\__'_|_|_|\__'_|  |  Official https://julialang.org/ release
|__/                   |

(@v1.11) pkg> dev FIGlet
  Installing known registries into `~/.julia`
       Added `General` registry to ~/.julia/registries
     Cloning git-repo `https://github.com/kdheepak/FIGlet.jl.git`
   Resolving package versions...
  Downloaded artifact: fonts
    Updating `~/.julia/environments/v1.11/Project.toml`
  [3064a664] + FIGlet v0.2.2 `~/.julia/dev/FIGlet`
    Updating `~/.julia/environments/v1.11/Manifest.toml`
  [3064a664] + FIGlet v0.2.2 `~/.julia/dev/FIGlet`
  [0dad84c5] + ArgTools v1.1.2
  [56f22d72] + Artifacts v1.11.0
  [2a0f44e3] + Base64 v1.11.0
  [ade2ca70] + Dates v1.11.0
  [f43a241f] + Downloads v1.6.0
  [7b1f6079] + FileWatching v1.11.0
  [b27032c2] + LibCURL v0.6.4
  [76f85450] + LibGit2 v1.11.0
  [8f399da3] + Libdl v1.11.0
  [56ddb016] + Logging v1.11.0
  [d6f4376e] + Markdown v1.11.0
  [ca575930] + NetworkOptions v1.2.0
  [44cfe95a] + Pkg v1.11.0
  [de0858da] + Printf v1.11.0
  [9a3f8284] + Random v1.11.0
  [ea8e919c] + SHA v0.7.0
  [fa267f1f] + TOML v1.0.3
  [a4e569a6] + Tar v1.10.0
  [cf7118a7] + UUIDs v1.11.0
  [4ec0a83e] + Unicode v1.11.0
  [deac9b47] + LibCURL_jll v8.6.0+0
  [e37daf67] + LibGit2_jll v1.7.2+0
  [29816b5a] + LibSSH2_jll v1.11.0+1
  [c8ffd9c3] + MbedTLS_jll v2.28.6+0
  [14a3606d] + MozillaCACerts_jll v2023.12.12
  [83775a58] + Zlib_jll v1.2.13+1
  [8e850ede] + nghttp2_jll v1.59.0+0
  [3f19e933] + p7zip_jll v17.4.0+2

julia> using FIGlet
Precompiling FIGlet...
  1 dependency successfully precompiled in 3 seconds. 23 already precompiled.

julia> FIGlet.render("FIGlet", "3d")
  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ β–ˆβ–ˆ   β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ   β–ˆβ–ˆ           β–ˆβ–ˆ
 β–‘β–ˆβ–ˆβ–‘β–‘β–‘β–‘β–‘ β–‘β–ˆβ–ˆ  β–ˆβ–ˆβ–‘β–‘β–‘β–‘β–‘β–‘β–ˆβ–ˆ β–‘β–ˆβ–ˆ          β–‘β–ˆβ–ˆ
 β–‘β–ˆβ–ˆ      β–‘β–ˆβ–ˆ β–ˆβ–ˆ      β–‘β–‘  β–‘β–ˆβ–ˆ  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆ  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ
 β–‘β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ β–‘β–ˆβ–ˆβ–‘β–ˆβ–ˆ          β–‘β–ˆβ–ˆ β–ˆβ–ˆβ–‘β–‘β–‘β–ˆβ–ˆβ–‘β–‘β–‘β–ˆβ–ˆβ–‘
 β–‘β–ˆβ–ˆβ–‘β–‘β–‘β–‘  β–‘β–ˆβ–ˆβ–‘β–ˆβ–ˆ    β–ˆβ–ˆβ–ˆβ–ˆβ–ˆ β–‘β–ˆβ–ˆβ–‘β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ  β–‘β–ˆβ–ˆ
 β–‘β–ˆβ–ˆ      β–‘β–ˆβ–ˆβ–‘β–‘β–ˆβ–ˆ  β–‘β–‘β–‘β–‘β–ˆβ–ˆ β–‘β–ˆβ–ˆβ–‘β–ˆβ–ˆβ–‘β–‘β–‘β–‘   β–‘β–ˆβ–ˆ
 β–‘β–ˆβ–ˆ      β–‘β–ˆβ–ˆ β–‘β–‘β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ  β–ˆβ–ˆβ–ˆβ–‘β–‘β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ  β–‘β–‘β–ˆβ–ˆ
 β–‘β–‘       β–‘β–‘   β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘  β–‘β–‘β–‘  β–‘β–‘β–‘β–‘β–‘β–‘    β–‘β–‘


julia>

You are right. That appears to be a branch just for backwards compat. I agree that a new release on the default branch should do it.

note that you don’t need Pkg, you can use the Artifacts stdlib only (which is lighter than full Pkg).

2 Likes