@artafinde: It seems that @xaad and @kozaki are correct; auracle
will not download fmt
if it is present in the system and it will be linked dynamically. I can easily reproduce it by compiling auracle
in a clean chroot with fmt
in it (see below). I guess a flag has to be passed to meson
so it does not try to detect system fmt
and forces its downloading (no idea how to do that though).
Here I'm building with fmt
and base-devel
. The configuration files are the ones extra-x86_64-build
uses.
$ mkarchroot -C /usr/share/devtools/pacman-extra.conf -M /usr/share/devtools/makepkg-x86_64.conf /mnt/chroot/root base-devel fmt
...
$ makechrootpkg -r /mnt/chroot
...
Run-time dependency fmt found: YES 8.0.0
...
$ namcap auracle-git-r366.8739929-1-x86_64.pkg.tar.zst
auracle-git W: Referenced library 'libfmt.so.8' is an uninstalled dependency
auracle-git W: Dependency included and not needed ('libcurl.so')
Here you see fmt
is found and it was not downloaded. The final package is linked to auracle
as reported by namcap
(you can check with ldd
I guess). Compare building in a clean chroot with only base-devel
$ mkarchroot -C /usr/share/devtools/pacman-extra.conf -M /usr/share/devtools/makepkg-x86_64.conf /mnt/chroot/root base-devel
...
$ makechrootpkg -r /mnt/chroot
...
Run-time dependency fmt found: NO (tried pkgconfig and cmake)
Looking for a fallback subproject for the dependency fmt
Downloading fmt source from https://github.com/fmtlib/fmt/archive/7.0.1.tar.gz
Downloading file of unknown size.
Downloading fmt patch from https://github.com/mesonbuild/fmt/releases/download/7.0.1-1/fmt.zip
Download size: 1238
Downloading: ..........
Executing subproject fmt
fmt| Project name: fmt
fmt| Project version: 7.0.1
fmt| C++ compiler for the host machine: c++ (gcc 11.1.0 "c++ (GCC) 11.1.0")
fmt| C++ linker for the host machine: c++ ld.bfd 2.36.1
fmt| Build targets in project: 1
fmt| Subproject fmt finished.
Dependency fmt from subproject subprojects/fmt-7.0.1 found: YES 7.0.1
...
$ namcap auracle-git-r366.8739929-1-x86_64.pkg.tar.zst
auracle-git W: Dependency included and not needed ('libcurl.so')
here fmt
is downloaded automatically as expected and is linked statically (namcap
does not report it)
Full logs with fmt: http://sprunge.us/UO2Jk6 Full logs without fmt: http://sprunge.us/NmjcO4
PS: I deleted the chroot dir between tries.
Pinned Comments
artafinde commented on 2022-01-26 09:15 (UTC) (edited on 2022-01-29 10:24 (UTC) by artafinde)
If the build fails:
SRCPKGDEST
directoryThere's a package build already which you can try out from my repo.
falconindy commented on 2020-05-31 15:35 (UTC) (edited on 2025-04-28 14:23 (UTC) by falconindy)
FAQ:
PATH
handled by/etc/profile.d/perlbin.sh
makepkg -A
. The "any" architecture is reserved for packages with architecture independent files (and compiled C++ is not).