Unable to install XnView MP from AUR

Today I did a reinstall of Manjaro on my laptop. When I wanted to install XnView from AUR repository using Pamac, I got this error message:

Building xnviewmp...
==> Making package: xnviewmp 0.98.3-1 (Sat 05 Jun 2021 02:33:52 AM CEST)
==> Checking runtime dependencies...
==> Checking buildtime dependencies...
==> Retrieving sources...
  -> Found XnViewMP-linux-x64_0.98.3-rel1.tgz
  -> Found xnviewmp.desktop
==> Validating source files with sha256sums...
    XnViewMP-linux-x64_0.98.3-rel1.tgz ... FAILED
    xnviewmp.desktop ... Passed
==> ERROR: One or more files did not pass the validity check!
Failed to build xnviewmp

There are two versions of XnView on AUR. One is “regular” (xnviewmp 0.98.3-1) and the other is xnview-system-libs 0.98.3-1.

While I had no issues with installing either of these two on my previous manjaro installations, with this new manjaro both of them give these validity check failures.

I tried to google for the fix, and on this older manjaro forum someone mentioned a fix, but it doesn’t work in my case (or I don’t know how to implement it correctly):

https://classicforum.manjaro.org/index.php?topic=13429.0

I’ve come to depend a lot on this little image viewer/browser, and you can imagine how stressful it was for me to see that it doesn’t want to install today. Could somebody please help me with this? It would be really great if I could manage to install it somehow.

Hello @Antarmanu71 :wink:

This PKGBUILD is already marked as outdated. The maintainer needs to update the checksum.

What you can do, is skipping the checksum for now by editing the PKGBUILD.

Exchange this:

sha256sums=('43D508587227CD072024DEDD911ED1466C7AB67ABE8D7032D50290CE60147935'
            'F6B3A4AAA0A55B5F21D9B91AB6F3DA3D6EE077BA7FDD17E7C4AB1C69AD2A9E3A')

with

sha256sums=('SKIP'
            'SKIP')

And it will work.

https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=xnviewmp

Thank you very much, megavolt. That did the trick!

Because there is no such beast anymore. The current release is 0.98.4

Actually, maintainer needs to update the pkgver, then regenerate the checksums

Ummm…no, don’t do this. You’re bypassing a good sanity check.

Do you know what happens, if @Antarmanu71 follows this?

Hint

0.98.4 is downloaded, and renamed/installed as 0.98.3

Yes… But look. He have to download the package, generate the checksum and then update the checksum on the PKGBUILD. If the maintainer would do this, it would make sense for other users, but if he just generates the checksum of the local file, what sense does it make, since he will not re-download the package… ?

However… i didn’t check which version is the current one. Would be better to change the version also…

OP says they used pamac. I don’t know (and don’t care one bit) how it works with the AUR. That said, it’s really easy to do it CLI.

  1. Change the pkgver to the correct version (1 character change), save and exit the editor.

  2. updpkgsums

That takes care of changing the checksums in the PKGBUILD.

  1. makepkg <whatever_flags_you_use>

If you pass -i to makepkg, it will install it after building.

Yes he will. Even though they’ve downloaded the current upstream .tgz file, as it stands now, it’s named (and installed) as the previous version. When the maintainer updates the PKGBUILD, it will trigger the need to upgrade:

ls -la XnViewMP*

-rw-r--r-- 1 merell merell 76872102 May  6 22:10 XnViewMP-linux-x64_0.98.3-rel1.tgz
-rw-r--r-- 1 merell merell 76878725 Jun  4 23:26 XnViewMP-linux-x64_0.98.4-rel1.tgz

Nope… if pamac checks for an update and the maintainer has updated the version and checksum, pamac will overwrite the modified PKGBUILD. The modification is gone then.The old package will not be re-downloaded, but the new one will be downloaded with the correct checksum, which has been set by the maintainer.

If you do it with makepkg, then of course you will need to update it yourself, unless you trigger git pull :wink:

This topic was automatically closed 15 days after the last reply. New replies are no longer allowed.