CurtTilmes/raku-primesieve

Uninstallable; questionable depends version prerequisite.

thundergnat opened this issue · 4 comments

As it stands right now Math::Primesieve is uninstallable from the ecosystem using zef.

On my system, I have primesieve library version 7.5 with an ABI of 9.5.

libprimesieve.so.9.5.0 - Linux Mint 20 (Debian based)

The line

"primesieve:from<native>:ver<8>"

in the META6.json, "depends", "runtime", "requires" section fails, as I have no version 8. (And can't actually even get one, doesn't seem like v8 existed; and I don't feel like faking it up with symlinks if I can avoid it.)

If I git clone the module to a local directory and delete that line, or even just remove the ":ver<8>" I can then do a local zef install and it proceeds normally, passes tests and works fine afterwards.

There is a check in the module itself for V9, V8 or V7, and that passes ok. Probably the best bet is to just remove the ver from the requirements. If someone doesn't have the library, it will fail during testing and refuse to install the module.

Note that the same thing is mentioned as being a problem in issues #5 and #6 but it isn't the main focus of those issues.

I commented out that line and released v 0.7 -- not sure what it is supposed to be.

I commented out that line and released v 0.7 -- not sure what it is supposed to be.

Maybe 7.5 from Primesieve author, below?

#5 (comment)

Continued evolution of the initial issue:

Installing on a new machine (macOS, Monterey) found the library ABI bumped up again:

libprimesieve.10.1.0.dylib

To get the module to install had to modify Primesieve.rakumod to read:

for v10, v9, v8, v7 -> $version

Unable to install Math::Primesieve via zef until I zef installed Test::META, a prerequisite not mentioned in META6.json.