@marco.righi https://wiki.archlinux.org/title/System_maintenance#Partial_upgrades_are_unsupported Do a full system update.
@norg Does it build in a clean chroot?
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: | 33 |
Popularity: | 0.94 |
First Submitted: | 2023-04-01 09:57 (UTC) |
Last Updated: | 2024-09-23 16:16 (UTC) |
@marco.righi https://wiki.archlinux.org/title/System_maintenance#Partial_upgrades_are_unsupported Do a full system update.
@norg Does it build in a clean chroot?
I have the AUR versions.
extra/exiv2 0.27.6-1 [installed]
extra/libkexiv2 23.04.1-1 [installed]
community/libgexiv2 0.14.0-4 [installed]
Please, can the maintainer resolve this? A solution could be deploy the old version of the package on AUR.
@rexplebeii I have exiv2 0.28.0-1 installed but the error message is still the same, so might be something else? What other exiv related packages do you have installed?
@marco.righi Had the same issue, upgrading exiv2 to 0.28.0-1 resolved it for me.
Error compiling nomacs-3.17.2282
[ 7%] Building CXX object CMakeFiles/nomacsCore.dir/src/DkGui/DkDialog.cpp.o
/usr/bin/c++ -DHAVE_EXIV2_HPP -DNDEBUG -DNOMACS_VERSION=\"3.17\" -DQT5 -DQT_CONCURRENT_LIB -DQT_CORE_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_NO_DEBUG -DQT_NO_DEBUG_OUTPUT -DQT_PRINTSUPPORT_LIB -DQT_SVG_LIB -DQT_WIDGETS_LIB -DWITH_LIBRAW -DWITH_LIBTIFF -DWITH_OPENCV -DWITH_PLUGINS -DWITH_QUAZIP -DWITH_QUAZIP1 -DnomacsCore_EXPORTS -I/media/data/users/home/marco/.cache/yay/nomacs/src/nomacs-3.17.2282/build/nomacsCore_autogen/include -I/media/data/users/home/marco/.cache/yay/nomacs/src/nomacs-3.17.2282/build -I/media/data/users/home/marco/.cache/yay/nomacs/src/nomacs-3.17.2282/ImageLounge/src -I/media/data/users/home/marco/.cache/yay/nomacs/src/nomacs-3.17.2282/ImageLounge/src/DkCore -I/media/data/users/home/marco/.cache/yay/nomacs/src/nomacs-3.17.2282/ImageLounge/src/DkGui -I/media/data/users/home/marco/.cache/yay/nomacs/src/nomacs-3.17.2282/ImageLounge/3rdparty/libqpsd -I/media/data/users/home/marco/.cache/yay/nomacs/src/nomacs-3.17.2282/ImageLounge/3rdparty/drif -isystem /usr/include/opencv4 -isystem /usr/include/QuaZip-Qt5-1.4 -isystem /usr/include/QuaZip-Qt5-1.4/quazip -isystem /usr/include/qt -isystem /usr/include/qt/QtCore -isystem /usr/lib/qt/mkspecs/linux-g++ -isystem /usr/include/qt/QtWidgets -isystem /usr/include/qt/QtGui -isystem /usr/include/qt/QtNetwork -isystem /usr/include/qt/QtPrintSupport -isystem /usr/include/qt/QtConcurrent -isystem /usr/include/qt/QtSvg -march=x86-64 -mtune=generic -O2 -pipe -fno-plt -fexceptions -Wp,-D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security -fstack-clash-protection -fcf-protection -Wp,-D_GLIBCXX_ASSERTIONS -std=c++11 -Wno-unknown-pragmas -O2 -g -DNDEBUG -fPIC -DDK_CORE_DLL_EXPORT -DNOMINMAX -fPIC -MD -MT CMakeFiles/nomacsCore.dir/src/DkGui/DkDialog.cpp.o -MF CMakeFiles/nomacsCore.dir/src/DkGui/DkDialog.cpp.o.d -o CMakeFiles/nomacsCore.dir/src/DkGui/DkDialog.cpp.o -c /media/data/users/home/marco/.cache/yay/nomacs/src/nomacs-3.17.2282/ImageLounge/src/DkGui/DkDialog.cpp
In file included from /media/data/users/home/marco/.cache/yay/nomacs/src/nomacs-3.17.2282/ImageLounge/src/DkGui/DkControlWidget.cpp:32:
/media/data/users/home/marco/.cache/yay/nomacs/src/nomacs-3.17.2282/ImageLounge/src/DkCore/DkMetaData.h:158:19: error: 'UniquePtr' in 'class Exiv2::Image' does not name a type
158 | Exiv2::Image::UniquePtr loadSidecar(const QString &filePath) const;
| ^~~~~~~~~
/media/data/users/home/marco/.cache/yay/nomacs/src/nomacs-3.17.2282/ImageLounge/src/DkCore/DkMetaData.h:167:19: error: 'UniquePtr' in 'class Exiv2::Image' does not name a type
167 | Exiv2::Image::UniquePtr mExifImg; // TODO std::unique_ptr<Exiv2::Image> (and all other *::AutoPtr)
| ^~~~~~~~~
make[2]: *** [CMakeFiles/nomacsCore.dir/build.make:239: CMakeFiles/nomacsCore.dir/src/DkGui/DkControlWidget.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....
/media/data/users/home/marco/.cache/yay/nomacs/src/nomacs-3.17.2282/ImageLounge/src/DkGui/DkDialog.cpp: In member function 'void nmc::DkPrintPreviewDialog::print()':
/media/data/users/home/marco/.cache/yay/nomacs/src/nomacs-3.17.2282/ImageLounge/src/DkGui/DkDialog.cpp:2208:34: warning: 'QRect QPrinter::pageRect() const' is deprecated: Use pageLayout().paintRectPixels(resolution()) instead. [-Wdeprecated-declarations]
2208 | QRect pr = mPrinter->pageRect();
| ~~~~~~~~~~~~~~~~~~^~
In file included from /usr/include/qt/QtPrintSupport/qprintpreviewwidget.h:45,
from /usr/include/qt/QtPrintSupport/QPrintPreviewWidget:1,
from /media/data/users/home/marco/.cache/yay/nomacs/src/nomacs-3.17.2282/ImageLounge/src/DkGui/DkDialog.h:39,
from /media/data/users/home/marco/.cache/yay/nomacs/src/nomacs-3.17.2282/ImageLounge/src/DkGui/DkDialog.cpp:28:
/usr/include/qt/QtPrintSupport/qprinter.h:259:11: note: declared here
259 | QRect pageRect() const;
| ^~~~~~~~
/media/data/users/home/marco/.cache/yay/nomacs/src/nomacs-3.17.2282/ImageLounge/src/DkGui/DkDialog.cpp:2214:37: warning: 'QRect QPrinter::pageRect() const' is deprecated: Use pageLayout().paintRectPixels(resolution()) instead. [-Wdeprecated-declarations]
2214 | if (pr != mPrinter->pageRect())
| ~~~~~~~~~~~~~~~~~~^~
/usr/include/qt/QtPrintSupport/qprinter.h:259:11: note: declared here
259 | QRect pageRect() const;
| ^~~~~~~~
/media/data/users/home/marco/.cache/yay/nomacs/src/nomacs-3.17.2282/ImageLounge/src/DkGui/DkDialog.cpp: In member function 'void nmc::DkPrintPreviewWidget::changeDpi(int)':
/media/data/users/home/marco/.cache/yay/nomacs/src/nomacs-3.17.2282/ImageLounge/src/DkGui/DkDialog.cpp:2315:33: warning: 'QRect QPrinter::pageRect() const' is deprecated: Use pageLayout().paintRectPixels(resolution()) instead. [-Wdeprecated-declarations]
2315 | int pxW = mPrinter->pageRect().width();
| ~~~~~~~~~~~~~~~~~~^~
/usr/include/qt/QtPrintSupport/qprinter.h:259:11: note: declared here
259 | QRect pageRect() const;
| ^~~~~~~~
/media/data/users/home/marco/.cache/yay/nomacs/src/nomacs-3.17.2282/ImageLounge/src/DkGui/DkDialog.cpp: In member function 'void nmc::DkPrintImage::fit()':
/media/data/users/home/marco/.cache/yay/nomacs/src/nomacs-3.17.2282/ImageLounge/src/DkGui/DkDialog.cpp:4161:35: warning: 'QRect QPrinter::pageRect() const' is deprecated: Use pageLayout().paintRectPixels(resolution()) instead. [-Wdeprecated-declarations]
4161 | QRectF pr = mPrinter->pageRect();
| ~~~~~~~~~~~~~~~~~~^~
/usr/include/qt/QtPrintSupport/qprinter.h:259:11: note: declared here
259 | QRect pageRect() const;
| ^~~~~~~~
/media/data/users/home/marco/.cache/yay/nomacs/src/nomacs-3.17.2282/ImageLounge/src/DkGui/DkDialog.cpp:4171:36: warning: 'QRect QPrinter::pageRect() const' is deprecated: Use pageLayout().paintRectPixels(resolution()) instead. [-Wdeprecated-declarations]
4171 | double pxW = mPrinter->pageRect().width();
| ~~~~~~~~~~~~~~~~~~^~
/usr/include/qt/QtPrintSupport/qprinter.h:259:11: note: declared here
259 | QRect pageRect() const;
| ^~~~~~~~
/media/data/users/home/marco/.cache/yay/nomacs/src/nomacs-3.17.2282/ImageLounge/src/DkGui/DkDialog.cpp: In member function 'double nmc::DkPrintImage::dpi()':
/media/data/users/home/marco/.cache/yay/nomacs/src/nomacs-3.17.2282/ImageLounge/src/DkGui/DkDialog.cpp:4192:36: warning: 'QRect QPrinter::pageRect() const' is deprecated: Use pageLayout().paintRectPixels(resolution()) instead. [-Wdeprecated-declarations]
4192 | double pxW = mPrinter->pageRect().width();
| ~~~~~~~~~~~~~~~~~~^~
/usr/include/qt/QtPrintSupport/qprinter.h:259:11: note: declared here
259 | QRect pageRect() const;
| ^~~~~~~~
/media/data/users/home/marco/.cache/yay/nomacs/src/nomacs-3.17.2282/ImageLounge/src/DkGui/DkDialog.cpp: In member function 'void nmc::DkPrintImage::center(QTransform&) const':
/media/data/users/home/marco/.cache/yay/nomacs/src/nomacs-3.17.2282/ImageLounge/src/DkGui/DkDialog.cpp:4214:34: warning: 'QRect QPrinter::pageRect() const' is deprecated: Use pageLayout().paintRectPixels(resolution()) instead. [-Wdeprecated-declarations]
4214 | xtrans = ((mPrinter->pageRect().width() - transRect.width()) / 2);
| ~~~~~~~~~~~~~~~~~~^~
/usr/include/qt/QtPrintSupport/qprinter.h:259:11: note: declared here
259 | QRect pageRect() const;
| ^~~~~~~~
/media/data/users/home/marco/.cache/yay/nomacs/src/nomacs-3.17.2282/ImageLounge/src/DkGui/DkDialog.cpp:4215:33: warning: 'QRect QPrinter::pageRect() const' is deprecated: Use pageLayout().paintRectPixels(resolution()) instead. [-Wdeprecated-declarations]
4215 | ytrans = (mPrinter->pageRect().height() - transRect.height()) / 2;
| ~~~~~~~~~~~~~~~~~~^~
/usr/include/qt/QtPrintSupport/qprinter.h:259:11: note: declared here
259 | QRect pageRect() const;
| ^~~~~~~~
make[2]: Leaving directory '/media/data/users/home/marco/.cache/yay/nomacs/src/nomacs-3.17.2282/build'
make[1]: *** [CMakeFiles/Makefile2:242: CMakeFiles/nomacsCore.dir/all] Error 2
make[1]: Leaving directory '/media/data/users/home/marco/.cache/yay/nomacs/src/nomacs-3.17.2282/build'
make: *** [Makefile:156: all] Error 2
make: Leaving directory '/media/data/users/home/marco/.cache/yay/nomacs/src/nomacs-3.17.2282/build'
==> ERROR: A failure occurred in build().
Aborting...
-> errore durante la creazione: nomacs-exit status 4
-> Installazione dei seguenti pacchetti non riuscita. È richiesto l'intervento manuale:
nomacs - exit status 4
Solutions (without code integration by google drive)?
Hello @the8472, I used this version for about 3 days now but I didn't encountered any issues, you may try to fill a bug upstream as @FabioLolix suggested.
@FabioLolix, we can see from your warning (Python not found: the version number will be incorrect!
) that you are in case 1.) as described in my previous comment (Python_FOUND
returns false
). It makes sense now why it works for you: python is not detected in your system so the whole block running the versiounupdate.py
script is not run (see line 192 in ./ImageLounge/CMakeLists.txt --> if (Python_FOUND) ...runs script.. endif()
).
So when python is actually found (and because we don't build from a git repo), it fails (as explained in previous post).
In my opinion there are two possible solutions to the problem: 1.) continue using tarballs for the sources but use the patch I suggested, or 2.) pull the sources from the actul git tags and no patch is needed anymore.
Personally, I decided to go with option 2.), something like this: https://github.com/nomacs/nomacs/files/11725301/nomacs-3.17.2282-arch%2Bfix-exiv2-0.28.tar.gz
I can understand you probably want to provide hashes for the source tarballs and 2.) may not be an option for you, but as long as the git repo is very well known (basically in this case it is the original upstream source repo) I don't care if it is a hash or any other chunk of text that can be used for verifying the source code origin.
Edit: When building from the tarballed sources the version number is wrong (see Python not found: the version number will be incorrect!
); for example, in "About nomacs" (pressing F1) it appears as 3.17.0 instead of 3.17.2282.
I'm sorry, I don't know what a "git forge" is.
Edit: I placed the files on Github, see https://github.com/nomacs/nomacs/issues/951#issuecomment-1584107223.
Thank you, Luc
@the8472 open an issue upstream
@iq2luc please send me the build log generated by extra-x86_64-build
without using your patch
When building with devtools it complain about missing python but builds fine
-- QUAZIP: QuaZip-1 for Qt5 found
CMake Warning at CMakeLists.txt:208 (message):
Python not found: the version number will be incorrect!
-- /build/nomacs/src/nomacs-3.17.2282/ImageLounge/src/themes/Dark-Theme.css added...
btw please use any git forge you like over google drive
1:3.17.2282-1 occasionally crashes for me
Stack trace of thread 411453:
#0 0x00007f2ed4ea6261 _ZSt25__unguarded_linear_insertIP14QSharedPointerIN3nmc17DkImageContainerTEEN9__gnu_cxx5__ops14_Val_comp_iterIPFbS0_INS1_16DkImageContainerEES9_EEEEvT_T0_ (libnomacsCore.so.3 + 0x2a6261)
#1 0x00007f2ed4ea65ac _ZSt16__insertion_sortIP14QSharedPointerIN3nmc17DkImageContainerTEEN9__gnu_cxx5__ops15_Iter_comp_iterIPFbS0_INS1_16DkImageContainerEES9_EEEEvT_SD_T0_ (libnomacsCore.so.3 + 0x2a65ac)
#2 0x00007f2ed4ea668c _ZSt22__final_insertion_sortIP14QSharedPointerIN3nmc17DkImageContainerTEEN9__gnu_cxx5__ops15_Iter_comp_iterIPFbS0_INS1_16DkImageContainerEES9_EEEEvT_SD_T0_ (libnomacsCore.so.3 + 0x2a668c)
#3 0x00007f2ed4e9d42a _ZN3nmc13DkImageLoader12createImagesERK5QListI9QFileInfoEb (libnomacsCore.so.3 + 0x29d42a)
#4 0x00007f2ed4e9e25c _ZN3nmc13DkImageLoader7loadDirERK7QStringb (libnomacsCore.so.3 + 0x29e25c)
#5 0x00007f2ed4e9e760 _ZN3nmc13DkImageLoader15setCurrentImageE14QSharedPointerINS_17DkImageContainerTEE (libnomacsCore.so.3 + 0x29e760)
#6 0x00007f2ed4ea03cd _ZN3nmc13DkImageLoader4loadERK7QString (libnomacsCore.so.3 + 0x2a03cd)
#7 0x000055ed9cfdaa23 main (nomacs + 0x5a23)
#8 0x00007f2ed3839850 n/a (libc.so.6 + 0x23850)
#9 0x00007f2ed383990a __libc_start_main (libc.so.6 + 0x2390a)
#10 0x000055ed9cfdb395 _start (nomacs + 0x6395)
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
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
Pinned Comments
C0rn3j commented on 2024-01-08 18:30 (UTC)
@ferda Read the pinned comment and implement
checkrebuild
fromrebuild-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@rado84 you need rebuild the package not to hold back other packages, it is the same every time a dinamically linked soname changes
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/