Closed intelfx closed 7 years ago
There is indeed something picky here. Could you tell me which packages require beignet-git
on your system?
$ LC_ALL=C pacman -Qi beignet-git
Name : beignet-git
Version : 1.0.0.r970.gd87bbdb1-1
Description : A GPGPU System for Intel Ivybridge GPUs
Architecture : x86_64
URL : http://cgit.freedesktop.org/beignet/
Licenses : LGPL2.1
Groups : None
Provides : opencl-intel opencl-headers opencl-headers12
Depends On : glu libsm libxext mesa ncurses ocl-icd llvm
Optional Deps : None
Required By : viennacl
Optional For : lib32-opencl-nvidia opencl-nvidia
Conflicts With : beignet opencl-intel opencl-headers opencl-headers12
Replaces : beignet opencl-intel opencl-headers opencl-headers12
Installed Size : 29.14 MiB
Packager : Ivan Shapovalov <intelfx@intelfx.name>
Build Date : Thu Jan 19 12:06:26 2017
Install Date : Thu Jan 19 12:07:04 2017
Install Reason : Explicitly installed
Install Script : No
Validated By : None
$ LC_ALL=C pacman -Qi viennacl
Name : viennacl
Version : 1.7.1-1
Description : The library provides high level C++ interfaces for linear algebra routines on CPUs and GPUs using CUDA, OpenCL and OpenMP.
Architecture : any
URL : http://viennacl.sourceforge.net/
Licenses : custom
Groups : None
Provides : None
Depends On : libcl opencl-headers
Optional Deps : cuda [installed]
opencl-nvidia [installed]
Required By : None
Optional For : None
Conflicts With : None
Replaces : None
Installed Size : 4.63 MiB
Packager : Ivan Shapovalov <intelfx@intelfx.name>
Build Date : Fri Jul 22 12:43:35 2016
Install Date : Fri Jul 22 12:43:40 2016
Install Reason : Explicitly installed
Install Script : No
Validated By : None
That is, the dependency is indirect via opencl-headers
.
@rmarquis: Also please note that I have old ocl-icd
package — the one that still provides libcl
(because many AUR packages still depend on that name). This could also contribute to the problem (e. g. if pacaur wrongly uses sync database data instead of the local data).
@intelfx I’m not sure about this, but shouldn’t beignet-git be stripped of opencl-headers content and depends on that one? At least that’s what beignet does.
@ArchangeGabriel: Probably. I'll try to manually sync the PKGBUILD to beignet and see if this works around the bug.
Oh, they say it's impossible:
I tried removing the headers and depending on opencl-headers but this does not work for the current git version due to (at least) the following commit:
https://cgit.freedesktop.org/beignet/commit/?id=6a3eddc4dd70c895c426f1f8231778eb98ea7ac3
So beignet uses an opencl extension that is not yet included in the opencl-headers as they are present in the Arch repos.
Hum, I think you still can, but it requires stripping the headers after compilation. The same issue arose in beignet, and that’s how it has been fixed. Not sure about the implications though.
@intelfx: That is indeed useful information. The package viennacl
should depend on the new ocl-icd
instead of libcl
, or the binary package ocl-icd
should provide libcl
. You might want to check with the maintainer of ocl-icd
if this provide has been forgotten or if that has been done on purpose.
I cannot reproduce the issue on latest code with the newest ocl-icd
, and the package viennacl
doesn't seem required anymore. This is a won't fix from my side. From what I see, the whole dependency tree on your system is broken and you choose or have to rely on an inconsistent, partially upgraded system. Your best bet is to work with the various package maintainers to avoid to rely on that old ocl-icd
so you can use a consistent and up-to-date system.
This is not an up-to-date configuration, but it is consistent. Hence I'd rather disagree with this resolution.
Cannot reproduce here, thus not worth my time.
Let's forget beignet-git
. This can be reproduced on another package:
$ LC_ALL=C pacaur -u --devel --ignore libimobiledevice-git
:: Starting AUR upgrade...
:: linux-intelfx is not present in AUR -- skipping
:: linux-intelfx-docs is not present in AUR -- skipping
:: linux-intelfx-headers is not present in AUR -- skipping
:: libimobiledevice-git: ignoring package upgrade (1:1.2.0.r51.gb78a42e-1 => latest)
:: resolving dependencies...
:: Unresolved dependency 'libimobiledevice-git'
I'm ignoring this package because its maintainer left the package in a broken state while being unresponsive. The local package has a different clone URL and a bunch of missed deps.
Same question: which packages require it on your system?
Also, please test the latest code. Might as well been an issue that is already fixed.
Same question: which packages require it on your system?
$ LC_ALL=C pacman -Qi libimobiledevice-git
Name : libimobiledevice-git
Version : 1:1.2.0.r51.gb78a42e-1
Description : libimobiledevice is a software library that talks the protocols to support iPhone and iPod Touch devices on Linux
Architecture : x86_64
URL : http://www.libimobiledevice.org/
Licenses : GPL2 LGPL2.1
Groups : None
Provides : libiphone-git libiphone libimobiledevice
Depends On : gnutls openssl libgcrypt libplist-git libusbmuxd-git usbmuxd-git
Optional Deps : None
Required By : gvfs-afc ideviceinstaller-git idevicerestore-git ifuse upower usbmuxd-git
Optional For : None
Conflicts With : libiphone-git libiphone libimobiledevice
Replaces : None
Installed Size : 678.00 KiB
Packager : Ivan Shapovalov <intelfx@intelfx.name>
Build Date : Thu Jan 19 11:24:52 2017
Install Date : Thu Jan 19 12:01:13 2017
Install Reason : Explicitly installed
Install Script : No
Validated By : None
If this again sounds too complex, I can also reproduce this on a kdevelop-git
+ kdevplatform-git
dependency tree, where ignoring kdevplatform-git
again fails the whole update. In this case, kdevplatform is required only by kdevelop and there are no local changes to these packages.
Also, please test the latest code. Might as well been an issue that is already fixed.
pacaur 4.6.10.81.gcad48d2
— nope, bug still present.
Thanks. I can reproduce the issue with the kdevelop-git
and kdevplatform-git
package, I'll have a deeper look shortly.
Commit of interest is 393d67d04e61d6085b9aad4a29940cb8b7dba224 with the starting issue located in IgnoreDepsCheck()
. The issue happens when the aurdepspkgs
array contains the ignored package, which is populated in FindDepsAur()
. The root of the issue is unsurprisingly in the part that remove installed deps of the dependency solver, when either of the --devel
or --foreign
options are set.
The issue seems to be located here following commits ff07757fb8a2d00ca33ce224405a19c2db4dae44, f8584c36f7645f30c3a0f5e03155a8429ba5167a and 35fbbbc2d8b4eef5cd3da2a59c8395488d298a01. See #346 and #396.
Additional test cases:
pacaur -Su --devel --ignore kdevplatform-git
-> :: Unresolved dependency 'kdevplatform-git'
pacaur -Su kdevelop-git kdevplatform-git --ignore kdevplatform-git
-> OK
pacaur -S kdevelop-git kdevplatform-git --ignore kdevplatform-git
-> ignore prompt but OK in both case
FIXME: double check this last user case. Only kdevelop-git
gets to the main prompt in both case (y/n) (issue introduced in 52e061cdd8ea643d4b8e91d2ee87a0db99ef3abf).
Should be fixed in 2b405c5a97c11341ff99ff0ba83172212e424e58. I found another semi-related bug (the stable version isn't concerned) with the ignore prompt check and have fixed it in b7a0c533849f66ed0b7252d93ac502d4035c872a.
Feedback welcome.
Yep, current master works for me in all cases. Thanks.
Version
Description
Ignoring an AUR package (either via
pacaur --ignore foo
or viaIgnorePkg = foo
in pacman.conf) fails whole update withUnresolved dependency '<ignored package>'
.Note that this is not a duplicate of #615 and transitively #173 because the ignored packages are already installed (just older versions of them).
Output
Debug output
pacaur.zip