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
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/