Skip to content
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

Type piracy breaking incremental compilation #20

Closed
jonschumacher opened this issue Sep 19, 2023 · 2 comments
Closed

Type piracy breaking incremental compilation #20

jonschumacher opened this issue Sep 19, 2023 · 2 comments

Comments

@jonschumacher
Copy link
Member

using MPIReco gives the following output:

WARNING: Method definition has_args5(LinearOperators.opEye) in module SparsityOperators at /home/schumacherj/.julia/packages/SparsityOperators/uMtMk/src/SparsityOperators.jl:18 overwritten in module LinearOperatorCollection at /home/schumacherj/.julia/packages/LinearOperatorCollection/SvtgC/src/LinearOperatorCollection.jl:16.
  ** incremental compilation may be fatally broken for this module **

WARNING: Method definition use_prod5!(LinearOperators.opEye) in module SparsityOperators at /home/schumacherj/.julia/packages/SparsityOperators/uMtMk/src/SparsityOperators.jl:17 overwritten in module LinearOperatorCollection at /home/schumacherj/.julia/packages/LinearOperatorCollection/SvtgC/src/LinearOperatorCollection.jl:15.
  ** incremental compilation may be fatally broken for this module **

This happens due to both LinearOperatorCollection (used in MPIFiles) and SparsityOperators (used in RegularizedLeastSquares) both defining

LinearOperators.use_prod5!(op::opEye) = false
LinearOperators.has_args5(op::opEye) = false

in their main files, which is a type piracy (https://github.com/JuliaImageRecon/LinearOperatorCollection.jl/blob/5d2fe7d9d70e1badb57dd74aced22355beb423ee/src/LinearOperatorCollection.jl#L14C1-L16C45 und https://github.com/JuliaImageRecon/LinearOperatorCollection.jl/blob/5d2fe7d9d70e1badb57dd74aced22355beb423ee/src/LinearOperatorCollection.jl#L15C1-L16C45).

Since I am not sure why these methods are definied in the respective packages, I can only leave this issue here and can't provide a PR.

@tknopp
Copy link
Member

tknopp commented Sep 19, 2023

MPIReco ist currently broken because of the recent MPIFiles releases. @nHackel ist currently working in a fix, which ist already on a branch and needs backporting.

@jonschumacher
Copy link
Member Author

Seems to work again. I will close here.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants