"Trouble is my business."
When I tried to install a package via AUR, I was lucky enough to meet 3 + 1 troubles to proceed.
I decided to record them because the knowledge about how to solve them seemed to be help for other troubles to come around installing AUR packages in the future.
They happened when I tried to install a package named qperf to my Manjaro Linux via AUR:
$ git clone https://aur.archlinux.org/qperf.git $ cd qperf $ makepkg -si
* Note: qperf is a tool to measure network bandwidth and latency between nodes.
* Caution: This post is NOT about how to use qperf. It is more than installing it.
- Making sometimes fails due to the lack of dependencies of the package. Dependencies are not always resolved automatically.
makepkg -si resulted into failure with this error:
$ # qperf $ makepkg -si ==> Making package: qperf 0.4.11-3 ([datetime]) ==> Checking runtime dependencies... ==> Installing missing dependencies... error: target not found: rdma-core ==> ERROR: 'pacman' failed to install missing dependencies.
The last line of the log mentions "ERROR: 'pacman' failed to install missing dependencies."
This is because of the lack of "Dependencies":
In my case, the package named rdma-core wasn't installed and it wasn't resolved automatically.
Therefore, I had to installed rdma-core manually beforehand.
* Note: I had to use AUR because it hadn't been found in Manjaro Package Manager.
$ git clone https://aur.archlinux.org/rdma-core.git $ cd rdma-core
- It is sometimes required to receive a new gpg key.
Installing rdma-core failed with this error:
$ makepkg -si ... ==> Retrieving sources... -> Cloning rdma-core git repo... ... ==> Validating source files with sha512sums... rdma-core ... Skipped ==> Verifying source file signatures with gpg... rdma-core git repo ... FAILED (unknown public key [gpg-key-id]) ==> ERROR: One or more PGP signatures could not be verified!
To solve it, I had to receive the key given in the above log as "unknown public key":
gpg --recv-keys [gpg-key-id]
gpg can be installed via Manjaro Package Manager.
And then making finished successfully:
$ # rdma-core $ makepkg -si ... ==> Starting package()... ... ==> Installing package rdma-core with pacman -U... [sudo] password for [user]: loading packages... resolving dependencies... looking for conflicting packages... Packages (1) rdma-core-20.1-2 Total Installed Size: 2.24 MiB :: Proceed with installation? [Y/n] y ... (1/3) Reloading system manager configuration... (2/3) Reloading device manager configuration... (3/3) Arming ConditionNeedsUpdate...
- When the goal seems so far away, just be patient, while taking a small rest as needed, and then try another way. Meeting another error is proceeding a little...
Dependencies issue was solved so I returned to making qperf.
And then a new (a next) error occurred:
$ # qperf $ makepkg -si ... ==> Starting build()... ... -- Build files have been written to: [build-path] [34/235] Creating man page umad_init.3 FAILED: libibumad/man/umad_init.3 ... /usr/bin/pandoc: error while loading shared libraries: libHSzip-archive-0.3.3-9ZXjqhjfOlnGJKb3W7x2JJ-ghc8.6.1.so: cannot open shared object file: No such file or directory [36/235] Building C object libibverbs/CMakeFiles/ibverbs.dir/cmd.c.o ninja: build stopped: subcommand failed. ==> ERROR: A failure occurred in build(). Aborting...
I make it a habit to think at such a time that such a situation improves me giving new knowledge and sight to me.
- Making process goes with several libraries, and errors can occur for the reason they are not updated.
The reason of the above error was that the versions of some packages were left old.
(In that case, it was "haskell-zip-archive" library as the log mentioned "libHSzip-archive- ... .so: ... : No such file or directory.")
I updated all available packages following Manjaro Package Manager's guidance.
$ # qperf $ makepkg -si ... ==> Finished making: qperf 0.4.11-3 ([datetime]) ==> Installing package qperf with pacman -U... loading packages... resolving dependencies... looking for conflicting packages... Packages (1) qperf-0.4.11-3 Total Installed Size: 0.17 MiB ==> Finished making: qperf 0.4.11-3 ([datetime]) ==> Installing package qperf with pacman -U... loading packages... resolving dependencies... looking for conflicting packages... Packages (1) qperf-0.4.11-3 Total Installed Size: 0.17 MiB :: Proceed with installation? [Y/n] y ... :: Processing package changes... ... :: Running post-transaction hooks... ... :: Proceed with installation? [Y/n] y ... :: Running post-transaction hooks... (1/1) Arming ConditionNeedsUpdate...