Package Details: nomacs 1:3.21.0-2

Git Clone URL: https://aur.archlinux.org/nomacs.git (read-only, click to copy)
Package Base: nomacs
Description: A Qt image viewer
Upstream URL: https://github.com/nomacs/nomacs
Licenses: GPL-3.0-only
Submitter: arojas
Maintainer: FabioLolix
Last Packager: FabioLolix
Votes: 43
Popularity: 3.67
First Submitted: 2023-04-01 09:57 (UTC)
Last Updated: 2025-04-29 12:08 (UTC)

Dependencies (16)

Required by (0)

Sources (1)

Pinned Comments

C0rn3j commented on 2024-01-08 18:30 (UTC)

@ferda Read the pinned comment and implement checkrebuild from rebuild-detector into your workflow.

FabioLolix commented on 2023-07-07 05:37 (UTC)

every time you have error while loading shared libraries: libXXX.so.XXX: cannot open shared object file: No such file or directory for build from source programs you have to rebuild it

Another package goes to the ignore list - opencv. Upgrading it to the latest v4.8.0 causes nomacs to not open when I click an image anymore. Downgrading it to 4.7.0 fixes that.

@rado84 you need rebuild the package not to hold back other packages, it is the same every time a dinamically linked soname changes

$ nomacs
nomacs: error while loading shared libraries: libopencv_imgproc.so.407: cannot open shared object file: No such file or directory

FabioLolix commented on 2023-06-17 15:20 (UTC)

Now using git tags as source=() as requested

Pre-build packages here (also for -git version) : https://sourceforge.net/projects/fabiololix-os-archive/files/Packages/

Latest Comments

« First ‹ Previous 1 .. 3 4 5 6 7 8 9 Next › Last »

iq2luc commented on 2023-06-11 09:29 (UTC)

Hi @FabioLolix,

that is very curious indeed (working for you, but failing for me). I'm using makepkg (pacman 6.0.2-7) and devtools (devtools 1:1.0.2-1) but in my opinion that has nothing to do with my build failing (please see my logic below).

Looking at the ./ImageLounge/CMakeLists.txt line 31 and 192 we can see it could only work if: 1.) Python_FOUND returns false or 2.) the sources are cloned from a git repo (not unpacked from the tarball). It one of the previously mentioned conditions is not met, the build runs the ../scripts/vesionupdate.py script which in turns tries to run git rev-parse HEAD in a plain directory (not a git repo) and fails.

This is what I get when running makepkg with the current PKGBUILD:

/usr/bin/python3.11 ~/nomacs/src/nomacs-3.17.2282/ImageLounge/../scripts/versionupdate.py ~/nomacs/src/nomacs-3.17.2282/build/DkVersion.h fatal: not a git repository (or any parent up to mount point /) Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set). Traceback (most recent call last): File "~/nomacs/src/nomacs-3.17.2282/ImageLounge/../scripts/versionupdate.py", line 141, in <module> update(args.inputfile, args.copy) File "~/nomacs/src/nomacs-3.17.2282/ImageLounge/../scripts/versionupdate.py", line 42, in update l = add_git_tag_string(l) ^^^^^^^^^^^^^^^^^^^^^ File "~/nomacs/src/nomacs-3.17.2282/ImageLounge/../scripts/versionupdate.py", line 107, in add_git_tag_string v[-2] = git_tag() ^^^^^^^^^ File "~/nomacs/src/nomacs-3.17.2282/ImageLounge/../scripts/versionupdate.py", line 116, in git_tag tag = subprocess.check_output(["git", "rev-parse", "HEAD"]) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.11/subprocess.py", line 466, in check_output return run(*popenargs, stdout=PIPE, timeout=timeout, check=True, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.11/subprocess.py", line 571, in run raise CalledProcessError(retcode, process.args, subprocess.CalledProcessError: Command '['git', 'rev-parse', 'HEAD']' returned non-zero exit status 128. make[2]: *** [CMakeFiles/nomacsCore.dir/build.make:971: libnomacsCore.so.3.17.0] Error 1 make[2]: Leaving directory '~/nomacs/src/nomacs-3.17.2282/build' make[1]: *** [CMakeFiles/Makefile2:242: CMakeFiles/nomacsCore.dir/all] Error 2 make[1]: Leaving directory '~/nomacs/src/nomacs-3.17.2282/build' make: *** [Makefile:156: all] Error 2 make: Leaving directory '~/nomacs/src/nomacs-3.17.2282/build' ==> ERROR: A failure occurred in build(). Aborting...

So my solution was to skip running versionupdate.py (and versionincrement.py if it was opted for).

Thank you, Luc

FabioLolix commented on 2023-06-11 09:06 (UTC)

does not work for me because it tries to run the versionupdate.py script (which expects a git repo) and the build fails.

@iq2luc can't reproduce using makepkg and devtools

iq2luc commented on 2023-06-11 09:02 (UTC)

Hello again,

the updated version (3.17.2282-1) of the package does not work for me because it tries to run the versionupdate.py script (which expects a git repo) and the build fails.

A small patch is needed to avoid running this script, the following PKGBUILD (and friends) works OK for me: https://drive.google.com/file/d/1o8heEOejT2RE5O3tVaME-fSVKHpqFHHH

Thanks, Luc

iq2luc commented on 2023-06-09 09:55 (UTC)

@ferda: You're welcome. The only questionable thing about it is the use of unique_ptr's swap() instead of reset(), although in this particular case the outcome is the same (exifImgN goes out of scope right away).

I don't use C++ actively for quite some time now, so I guess that was the best I could do to make the program work. :-)

ferda commented on 2023-06-09 09:11 (UTC)

Thanks for the patch, works for me.

iq2luc commented on 2023-06-09 06:44 (UTC) (edited on 2023-06-09 07:14 (UTC) by iq2luc)

Hello,

I just noticed the issue with exiv2-0.28 and here is a quick (5 minutes glancing over the code) fix: https://drive.google.com/file/d/1zuDF6PpFazSneiDrUH7iXIRELyM3aJVb

Thanks, Luc


Edit: updated - removed unused file from the tarball and made the patch smaller by keeping only the minimum changes required for fixing the issue.

rado84 commented on 2023-06-09 02:53 (UTC)

To those using nomacs: add exiv2 & libgexiv2 to the ignore list of pacman, otherwise when these two packages update, nomacs stops working and even reinstall won't fix it. If you have already updated and your nomacs isn't working, use the downgrade package to downgrade these two to:

• exiv2: 0.27.6-2 •libgexiv2: 0.14.1-1

Or you can simply download them manually and then install them using "pacman -U": https://archive.archlinux.org/packages/e/exiv2/exiv2-0.27.6-2-x86_64.pkg.tar.zst https://archive.archlinux.org/packages/l/libgexiv2/libgexiv2-0.14.1-1-x86_64.pkg.tar.zst

SR-G commented on 2023-06-08 22:33 (UTC)

Same problem for me - nomacs was not working anymore, so i removed it and tried to reinstall it, with the same error message / failure than in previous comments ("‘AutoPtr’ in ‘class Exiv2::Image’")

Muncrief commented on 2023-06-08 20:37 (UTC) (edited on 2023-06-08 20:43 (UTC) by Muncrief)

@ferda I am having the same problem. I changed AutoPtr to UniquePtr in DkMetaData.h and DkMetaData.cpp which allowed the build to progress a bit further but it died soon after the AutoPtr fix and I figured someone who knows what they're doing will have to address the issue.