You are not logged in.

#1 2019-06-25 01:58:42

alaskanarcher
Member
Registered: 2016-04-30
Posts: 50

[solved] Fail to resolve dependency, yet it is clearly available

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

#2 2019-06-25 02:05:05

alaskanarcher
Member
Registered: 2016-04-30
Posts: 50

Re: [solved] Fail to resolve dependency, yet it is clearly available

I was able to get past this by skipping dependency checks but I'm not happy about that solution.

Offline

#3 2019-06-25 02:39:43

alaskanarcher
Member
Registered: 2016-04-30
Posts: 50

Re: [solved] Fail to resolve dependency, yet it is clearly available

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

#4 2019-06-25 02:44:38

ewaller
Administrator
From: Pasadena, CA
Registered: 2009-07-13
Posts: 19,740

Re: [solved] Fail to resolve dependency, yet it is clearly available

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

#5 2019-06-25 02:45:55

alaskanarcher
Member
Registered: 2016-04-30
Posts: 50

Re: [solved] Fail to resolve dependency, yet it is clearly available

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

#6 2019-06-25 02:49:17

ewaller
Administrator
From: Pasadena, CA
Registered: 2009-07-13
Posts: 19,740

Re: [solved] Fail to resolve dependency, yet it is clearly available

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

#7 2019-06-25 02:51:38

alaskanarcher
Member
Registered: 2016-04-30
Posts: 50

Re: [solved] Fail to resolve dependency, yet it is clearly available

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

#8 2019-06-25 02:55:50

alaskanarcher
Member
Registered: 2016-04-30
Posts: 50

Re: [solved] Fail to resolve dependency, yet it is clearly available

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

#9 2019-06-25 05:03:26

apg
Developer
Registered: 2012-11-10
Posts: 211

Re: [solved] Fail to resolve dependency, yet it is clearly available

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.

Offline

#10 2019-06-25 05:11:45

alaskanarcher
Member
Registered: 2016-04-30
Posts: 50

Re: [solved] Fail to resolve dependency, yet it is clearly available

apg wrote:
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

#11 2019-06-25 12:00:51

Trilby
Inspector Parrot
Registered: 2011-11-29
Posts: 29,451
Website

Re: [solved] Fail to resolve dependency, yet it is clearly available

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

Online

#12 2019-06-25 20:51:59

alaskanarcher
Member
Registered: 2016-04-30
Posts: 50

Re: [solved] Fail to resolve dependency, yet it is clearly available

Trilby wrote:

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

Board footer

Powered by FluxBB