You are not logged in.

#1 2016-01-14 22:06:05

budric
Member
Registered: 2016-01-14
Posts: 11

[SOLVED] Pacman won't upgrade packages unrelated to dependancy issues

Hi,

I installed zfs which relies on specific kernel version.  However pacman won't upgrade packages using -Syu that are not dependent on the kernel version.

# pacman -Syu                                                                                                                             :(
:: Synchronizing package databases...
 testing is up to date
 core is up to date
 extra is up to date
 community-testing is up to date
 community is up to date
 multilib-testing is up to date
 multilib is up to date
 demz-repo-core is up to date
:: Starting full system upgrade...
:: Replace qscintilla with testing/qscintilla-qt4? [Y/n] n
resolving dependencies...
looking for conflicting packages...
error: failed to prepare transaction (could not satisfy dependencies)
:: spl-git: requires linux=4.3.3-2
:: zfs-git: requires linux=4.3.3-2

I happen to know a new version of chromium is out (because i have another Arch box) and I can manually install it (pacman -S chromium) without errors (which effectively upgraded the package).  But I want pacman to figure all this out for me - I don't know the dozens of libraries that may have been patched.

Thanks for any help.

Last edited by budric (2016-02-10 15:27:05)

Offline

#2 2016-01-14 22:17:33

eschwartz
Fellow
Registered: 2014-08-08
Posts: 4,097

Re: [SOLVED] Pacman won't upgrade packages unrelated to dependancy issues

In your pacman.conf, put an IgnorePkg.

Or call pacman -Syu --ignore spl-git,zfs-git


Managing AUR repos The Right Way -- aurpublish (now a standalone tool)

Offline

#3 2016-01-14 22:33:06

Xyne
Administrator/PM
Registered: 2008-08-03
Posts: 6,963
Website

Re: [SOLVED] Pacman won't upgrade packages unrelated to dependancy issues

Pacman is doing its job. You have installed packages that require a specific version of the kernel (why do they?). Pacman won't upgrade the kernel because it will break those packages. Pacman won't upgrade other packages either until the entire upgrade can proceed. Partial upgrades are not supported and will lead to broken packages. For example, if pacman keeps the current kernel to keep those packages happy, then a new package that is built against a new kernel may break. All dependencies are assumed to be up-to-date for dependency resolution.

Note that although "-Syu" failed, the database upgrade succeeded. Installing anything else now with -S is equivalent to installing with -Sy which is not supported (it's a partial upgrade).

Remove the offending packages and upgrade your system, then try rebuilding those packages against the new kernel.

Given the problems that you're having, you should probably not be using the testing repos either as they require greater care and awareness than the regular repos.


My Arch Linux StuffForum EtiquetteCommunity Ethos - Arch is not for everyone

Offline

#4 2016-01-14 22:46:43

budric
Member
Registered: 2016-01-14
Posts: 11

Re: [SOLVED] Pacman won't upgrade packages unrelated to dependancy issues

Eschwartz, unfortunately that doesn't work.  I tried several combinations of command line and IgnorePkg and even expanding package list to spl-git spl-utils-git zfs-git zfs-utils-git (https://bbs.archlinux.org/viewtopic.php … 76#p317576).  I get the same requires linux error.

Xyne, zfs depends on specific kernel.  It's documented in the arch wiki as one of the limitations of the zfs package.  In this case I do not want to upgrade the kernel.  I want to upgrade packages like openssh, chormium for which newer versions are available that don't depend on kernel 4.3.  I didn't realize this counts as partial upgrade.  I mean if openssh specifies it needs kernel 4.4 then I understand why it doesn't get upgraded automatically, but that's not the case.

Last edited by budric (2016-01-14 22:47:28)

Offline

#5 2016-01-14 22:55:02

ayekat
Member
Registered: 2011-01-17
Posts: 1,589

Re: [SOLVED] Pacman won't upgrade packages unrelated to dependancy issues

budric wrote:

Eschwartz, unfortunately that doesn't work.  I tried several combinations of command line and IgnorePkg and even expanding package list to spl-git spl-utils-git zfs-git zfs-utils-git (https://bbs.archlinux.org/viewtopic.php … 76#p317576).  I get the same requires linux error.

That's because ignoring packages does not mean "pretend those packages don't exist at all", but rather "don't upgrade these packages in case they belong to the set of packages to be upgraded" (which is not the case).

Pacman still performs version checks (unless you specify --nodeps, but that is a terrible idea), and as Xyne already noted, you'd be better off switching back to the non-testing repositories if this is an issue, since AUR packages are usually built against the current stable package set. And also bcause in your current situation, your system is in an inconsistent state.

Last edited by ayekat (2016-01-15 01:29:35)


pkgshackscfgblag

Offline

#6 2016-01-14 23:26:23

Xyne
Administrator/PM
Registered: 2008-08-03
Posts: 6,963
Website

Re: [SOLVED] Pacman won't upgrade packages unrelated to dependancy issues

The "problem" is that packages are always built on a fully upgraded system. To keep up with a rolling release package system, the devs do not check if the newer versions are compatible with older versions so they don't bother with versioned dependencies. Everyone is expected to keep up with the rolling release.

That doesn't mean that every partial upgrade will break something. For example, there may be several upgrades that preserve a library's ABI so packages built against a newer version will work with the older. It just means that there are no checks and you can break everything, especially if you end up with a mismatch between your system executables and a critical core library.

So yeah, anything installed after -Sy without a matching -u is a partial upgrade, unsupported and possibly a system killer. Then again, even with proper -Syu,  there's still Allan...


My Arch Linux StuffForum EtiquetteCommunity Ethos - Arch is not for everyone

Offline

#7 2016-01-14 23:30:56

budric
Member
Registered: 2016-01-14
Posts: 11

Re: [SOLVED] Pacman won't upgrade packages unrelated to dependancy issues

Ok I think see the error in my understanding, thanks for the link.

Any suggestions how to get the system back into consistent state at linux kernel 4.3 and zfs-git package from https://wiki.archlinux.org/index.php/Un … -repo-core?  Or is it a full re-install at this point/take risk with whatever breaks?

Offline

#8 2016-01-14 23:42:54

ayekat
Member
Registered: 2011-01-17
Posts: 1,589

Re: [SOLVED] Pacman won't upgrade packages unrelated to dependancy issues

budric wrote:

Any suggestions how to get the system back into consistent state at linux kernel 4.3 and zfs-git package from https://wiki.archlinux.org/index.php/Un … -repo-core?

Remove the [testing] repositories, then

pacman -Syuu
pacman (8) wrote:

-u, --sysupgrade
...
Pass this option twice to enable package downgrades; in this case, pacman will select sync packages whose versions do not match with the local versions. This can be useful when the user switches from a testing repository to a stable one.
...


pkgshackscfgblag

Offline

#9 2016-01-15 01:23:58

budric
Member
Registered: 2016-01-14
Posts: 11

Re: [SOLVED] Pacman won't upgrade packages unrelated to dependancy issues

Thank you very much for your help.

Offline

#10 2016-06-01 08:40:14

rmc
Member
Registered: 2016-06-01
Posts: 3

Re: [SOLVED] Pacman won't upgrade packages unrelated to dependancy issues

For anyone else ending up on this page. What you really want to do is ignore the kernel upgrade so you can keep your spl and zfs dependencies in tact.
yaourt -Su --ignore linux,linux-api-headers

In my case I also had to ignore nvidia driver upgrade:
yaourt -Su --ignore linux,linux-api-headers,nvidia,nvidia-utils

R

Offline

#11 2016-06-01 09:07:03

ayekat
Member
Registered: 2011-01-17
Posts: 1,589

Re: [SOLVED] Pacman won't upgrade packages unrelated to dependancy issues

rmc wrote:

What you really want to do is ignore the kernel upgrade so you can keep your spl and zfs dependencies in tact.
yaourt -Su --ignore linux,linux-api-headers

Neither is there a need to pin kernel versions nor to use yaourt. The AUR packages are supposed to be synchronised with the main repositories, so if there is a version mismatch, the AUR package maintainer should be notified (OP was running into this issue because (s)he was using [testing], which is usually ahead).
Also, is it just me or... - this is at least the second time this week where a newly registered member necrobumps a [SOLVED] thread from january...

Last edited by ayekat (2016-06-01 09:07:59)


pkgshackscfgblag

Offline

Board footer

Powered by FluxBB