-
-
Notifications
You must be signed in to change notification settings - Fork 366
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
yay is stuck in an infinite loop due to a circular dependency #2413
Comments
It seems like yay currently has huge issues resolving dependencies between different circularly depending AUR packages providing split packages. Both |
A possible solution could be checking whether the package with the requested pkgver-pkgrel had already been built and instead just installing it rather than calling makepkg in every case to build it again - though I'm not sure how yay handles this internally. |
yay loop logs
|
Same issue
|
I have the same issue as @D4llo. However, it's not related to the circular dependency issue discussed here (at least there is no infinite loop, just a direct error). This issue persists even using |
I agree, it also occurs in other AUR helper. It looks like they both don't properly resolve the order to install and uninstall the particular packages if there are dependencies across different split packages shared in two pkgbases - though this is absolutely compliant and in our case even makes sense. Easiest would be to first build all subpackages of both required pkgbases - and then install all of them at once using Currently, yay seems to try to build, package and install them all after each other - and refuses to uninstall a previous version of a another sub package even though the version is explicitly marked as This once again shows how difficult resolution of complex dependency cycles can become when locally building. Chapeau to all the efforts already in yay to resolve this. |
I just wanted to share my recent experience while trying to install the Flutter package. I encountered an issue where yay would fall into an infinite loop during the installation process, which prevented the completion of the installation. After several unsuccessful attempts, I decided to try paru as an alternative, and to my relief, it worked perfectly fine. For now, I've temporarily switched to using paru for installing Flutter until the issue with yay is resolved. I hope this information might help to test the problem. |
Encountering this circular dependency bug in Yubikey App History / Lore
Yubico has deprecated all their old apps (
Recently it came time for me to upgrade to the latest version of Yubico Authenticator ( Still, it would be nice to build it and other Flutter apps from the AUR without having to deal with this nightmare of circular "dependency hell". Maybe if someone has time, For the case of Flutter, it really begs the question: Why are there circular dependencies in the first place? Given that it's a rather complex set of split packages, are the dependencies causing the cycle truly necessary? Could this be better reorganized such that the dependency graph forms a DAG (without cycles)? Footnotes
|
Hey @trinitronx , definitely some work can be done on the topo package, and as well on rechecking the built when cycling split pkgbuilds. Would you happen to have a reproducible case on a clean machine that can be used as a test case for this? |
Best case scenario we can have this as a testcase here: https://github.com/Jguer/yay/blob/836fc5922a3221ed1edbdaf5f1b642696f622cdf/pkg/dep/dep_graph_test.go |
@Jguer: If I recall correctly, it should be reproducible on any Arch-based distro by installing the AUR package: It pulls in build dependencies of the many split Although the package maintainer claims it's not their fault, I suspect that they were a bit over eager when splitting this package into so many. 1 This particular cause of circular dependencies is mentioned in a great article here, which calls it out specifically:
I'm currently using my own slightly modified Footnotes
|
@trinitronx thanks for the extra context and sorry it has taken me long to get around to it, #2534 should help out with at least with the comment in https://aur.archlinux.org/packages/flutter#comment-964140 |
Affected Version
yay v12.3.5 - libalpm v14.0.0
Describe the bug
yay -Suy
is stuck in an infinite loop and is printing the following message over and over again:Reproduction Steps
Expected behavior
yay detects and ignores the packages involved in the circular dependencies
Output
over and over again
The text was updated successfully, but these errors were encountered: