You are not logged in.
Pacman is complaining about a dependency that is clearly available in the repos. This is a version locked dependency because it is a pre-compiled zfs package (as opposed to the dkms). I maintain the private canonical-ledgers package repo myself.
$ sudo pacman -Syyu
:: Synchronizing package databases...
canonical-ledgers 15.5 KiB 1549K/s 00:00 [##############################] 100%
archzfs 13.9 KiB 0.00B/s 00:00 [##############################] 100%
archzfs.sig 310.0 B 0.00B/s 00:00 [##############################] 100%
ec2 128.8 KiB 0.00B/s 00:00 [##############################] 100%
core 133.7 KiB 2.18M/s 00:00 [##############################] 100%
extra 1634.5 KiB 20.0M/s 00:00 [##############################] 100%
community 4.8 MiB 80.6M/s 00:00 [##############################] 100%
multilib 171.2 KiB 0.00B/s 00:00 [##############################] 100%
:: Starting full system upgrade...
:: Replace spl-utils with ec2/zfs-utils? [Y/n]
resolving dependencies...
warning: cannot resolve "zfs-utils=0.8.1", a dependency of "zfs-linux-ec2-lts"
:: The following package cannot be upgraded due to unresolvable dependencies:
zfs-linux-ec2-lts
:: Do you want to skip the above package for this upgrade? [y/N]
error: failed to prepare transaction (could not satisfy dependencies)
:: unable to satisfy dependency 'zfs-utils=0.8.1' required by zfs-linux-ec2-lts
However when I search my repo databases I find the necessary version of zfs-utils=0.8.1. In fact it's available from both the archzfs and my canonical-ledgers pkg repo.
$ pacsearch zfs-utils
canonical-ledgers/zfs-utils 0.8.1-1 (archzfs-linux) [installed: 0.7.13-1]
Kernel module support files for the Zettabyte File System.
archzfs/zfs-utils 0.8.1-1 (archzfs-linux) [installed: 0.7.13-1]
Kernel module support files for the Zettabyte File System.
archzfs/zfs-utils-git 2019.06.23.r5222.gcc9625c47-1 (archzfs-linux-git)
Kernel module support files for the Zettabyte File System.
archzfs/zfs-utils-rc 0.8.0_rc5-2 (archzfs-linux-rc)
Kernel module support files for the Zettabyte File System.
ec2/zfs-utils 0.8.0.r92.g186898bbb-1 (zfs) [installed: 0.7.13-1]
Userspace utilities for ZFS
local/zfs-utils 0.7.13-1 (archzfs-linux) [installed]
Kernel module support files for the Zettabyte File System.
Any thoughts on why pacman is failing to resolve this dependency?
Last edited by alaskanarcher (2019-06-25 20:52:23)
Offline
I was able to get past this by skipping dependency checks but I'm not happy about that solution.
Offline
Ah, I see the issue now. Pacman is trying to use ec2/zfs-utils, which is not the correct dependency version. When I actually select "no" for ":: Replace spl-utils with ec2/zfs-utils? [Y/n]" it falls back to zfs-utils from one of the other repos and it works.
However the canonical-ledgers and archzfs repos are listed before ec2 in my /etc/pacman.conf, which I thought would make pacman prioritize packages of the same name from the repos listed first.
Can anyone clarify what's going on here?
Offline
I note that, in the past, you have used ArchArm. It might be that your architectures are wrong in the dependencies declarations.
Of course, if that is the issue, we are going to point you at the ArchArm forums.
Edit: You and I were posting at the same time.
Last edited by ewaller (2019-06-25 02:45:20)
Nothing is too wonderful to be true, if it be consistent with the laws of nature -- Michael Faraday
Sometimes it is the people no one can imagine anything of who do the things no one can imagine. -- Alan Turing
---
How to Ask Questions the Smart Way
Offline
This is NOT Arch Arm and so you are completely distracting from the issue. I only need to be told these things once and I would appreciate the benefit of the doubt in the future.
Moreover, I think it is plain to see that the specific architecture is really quite unlikely to be relevant to the issue. This is a question about pacman, why are you asking me about architecture? It's x86_64 running on AWS.
Last edited by alaskanarcher (2019-06-25 02:49:25)
Offline
Easy. We were posting at the same time and did not have the benefit of post #3. If I had not already given you the benefit of the doubt, the thread would already be closed.
Edit: And to clarify my line of reasoning. An incorrect Arch in a package will cause it to not be considered for resolving a dependency. I have seen packages that should have been marked as any flagged as x86, so no, I had not derailed the thread.
Last edited by ewaller (2019-06-25 02:54:36)
Nothing is too wonderful to be true, if it be consistent with the laws of nature -- Michael Faraday
Sometimes it is the people no one can imagine anything of who do the things no one can imagine. -- Alan Turing
---
How to Ask Questions the Smart Way
Offline
Okay, although I can't see how post #3 informs you of architecture any more than post #1 or #2. It does reveal that I'm working on solving my own issue.
I still have an outstanding question about pacman's behavior when prioritizing which repo to pick a package from.
Offline
Okay, thank you for explaining the reasoning in your edit.
The zfs-utils package in question is distributed by the archzfs repos. I didn't build that one myself. It is unlikely that they have an inappropriately declared architecture at this point.
Last edited by alaskanarcher (2019-06-25 02:57:18)
Offline
Ah, I see the issue now. Pacman is trying to use ec2/zfs-utils, which is not the correct dependency version. When I actually select "no" for ":: Replace spl-utils with ec2/zfs-utils? [Y/n]" it falls back to zfs-utils from one of the other repos and it works.
However the canonical-ledgers and archzfs repos are listed before ec2 in my /etc/pacman.conf, which I thought would make pacman prioritize packages of the same name from the repos listed first.
It does, but you told it to install ec2/zfs-utils.
Offline
alaskanarcher wrote:Ah, I see the issue now. Pacman is trying to use ec2/zfs-utils, which is not the correct dependency version. When I actually select "no" for ":: Replace spl-utils with ec2/zfs-utils? [Y/n]" it falls back to zfs-utils from one of the other repos and it works.
However the canonical-ledgers and archzfs repos are listed before ec2 in my /etc/pacman.conf, which I thought would make pacman prioritize packages of the same name from the repos listed first.
It does, but you told it to install ec2/zfs-utils.
You did not answer the question.
At the point of selecting "yes" to that prompt, you are right, I would be telling pacman to use ec2/zfs-utils. Clearly that is not what I want and I now understand that by selecting "no" pacman falls back to the correct version.
But the question is why is pacman suggesting ec2/zfs-utils in the first place, instead of archzfs/zfs-utils, or canonical-ledgers/zfs-utils, which both are higher in the repo list in my /etc/pacman.conf and both of which offer a newer version than the ec2 repo. This isn't the behavior I expected from pacman based on my understanding of how it prioritizes repos.
I'm looking for an explanation for why pacman is selecting the ec2 repo when it is both below the other two repos in the list, and ec2 doesn't offer the correct version.
Offline
This is not about selecting the package available in different repos, it is about replacing one package with another. I gather ec2/zfs-utils includes 'replaces="spl-utils"' and, perhaps, the zfs-utils packages in your other repos do not.
"UNIX is simple and coherent..." - Dennis Ritchie, "GNU's Not UNIX" - Richard Stallman
Offline
This is not about selecting the package available in different repos, it is about replacing one package with another. I gather ec2/zfs-utils includes 'replaces="spl-utils"' and, perhaps, the zfs-utils packages in your other repos do not.
This complete explains the behavior. The ec2/zfs-utils is version 0.8.0 and was the first version that replaced spl-utils. You are right that the 0.8.1 versions do not include 'replaces="spl-utils"' since it was assumed that users would have upgraded to 0.8.0 first before upgrading to 0.8.1.
Thank you Trilby!
Offline