-
-
Notifications
You must be signed in to change notification settings - Fork 60
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
Circular dependency on 1.10 #573
Circular dependency on 1.10 #573
Comments
Ok, this seems to be related to something like this: I updated the MWE to remove the SparseArrays dependency of the project, and
JuliaSmoothOptimizers/Krylov.jl#955 seems to take care of the first case... |
Same issue here. |
Same issue here, in KiteModels.jl. |
Also happens for us. |
This problem is very annoying. What happens is that on 1.11, SparseArrays isn't loaded by default, so it's possible to have a weakdep on it, but on 1.10, SparseArrays is in the sysimage so there's circularity. I think this is a Julia level issue. |
It seems that the problem goes away if all packages LinearSolve depends on avoid having SparseArrays as strong dependency. I tested this locally. All packages involved (Krylov, Statistics, LazyArrays) have now PRs/Issues addressing this point. |
@ChrisRackauckas the simplest solution here would be to make RecursiveArrayTools a regular dep rather than a weakdep (which it effectively already is since SciMLBase has a strong dep on it) |
However, the problem pops up again if we add e.g. ILUZero or AlgebraicMultigrid. These have EDIT: this seems to be quite nontrivial: JuliaLang/julia#56204 (comment) - it appears that there was already a backport to 1.11 ... |
Just another info bit: Aqua disables the corresponding test for Julia <1.10: So a band-aid could be to disable this test as well for 1.10 and to live with the cyclic dependency warnings... |
We could keep a v1.11 branch, and we could make every release both have a minor and a patch, so like 3.1.0 and 3.1.1, where 3.1.0 is >= Julia v1.10 and has the hard SparseArrays dep, and then v3.1.1 has the weak dep. We will then need to do this in every SciML package and be disciplined about it. I don't really see another option. |
should be fixed by #577 |
Just for posterity in case anyone else stumbles on this issue: 1.10 has cycle problems still, esp. with "redundant extensions" (in this case The fix in #577 is just to get rid of this extension and run its code always, which is what was happening anyway. |
Unsure if related, but am hitting an error when doing Pkg operations on 1.10:
I hit this with only Does (if I should make a separate issue for this, please let me know. thanks!) |
That sounds like a Pkg bug that was in older versions of 1.10 Are you running on 1.10.8? If you are, please open another issue and we'll take a look |
Was actually on 1.10.7, updating helped. Thanks and sorry for the unrelated noise! Still slightly curious why SparseArrays is the only extension not listed as a weakdep though? |
I don't think that is true actually. |
Describe the bug 🐞
I am getting circular dependency errors with LinearSolve v3 on Julua 1.10 (but not on 1.11 and nightly).
In particular, this makes the Aqua test for persistent tasks fail.
Expected behavior
Aqua test for persistent tasks works.
Minimal Reproducible Example 👇
See https://github.com/j-fu/LSolveMWE
Pkg.test the package under 1.10 vs 1.11.
Error & Stacktrace⚠️
This is the test output on 1.10:
Environment (please complete the following information):
See the CI results in https://github.com/j-fu/LSolveMWE
Additional context
@jpthiele
The text was updated successfully, but these errors were encountered: