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

Scheduled build *-NoGPL all failed #53211

Closed
inkydragon opened this issue Feb 6, 2024 · 4 comments · Fixed by #54240
Closed

Scheduled build *-NoGPL all failed #53211

inkydragon opened this issue Feb 6, 2024 · 4 comments · Fixed by #54240
Labels
building Build system, or building Julia or its dependencies ci Continuous integration

Comments

@inkydragon
Copy link
Member

inkydragon commented Feb 6, 2024

Currently, NoGPL ≈ No SparseArrays = No SuiteSparse
SuiteSparse contains a lot of modules, we just need to exclude the GPL ones..

SuiteSparse Licenses

BSD

LGPL

GPL

  • libcholmod: LGPL-2.1+ and GPL-2.0+
    CHOLMOD/Check: [LGPL-2.1+]
    CHOLMOD/Cholesky: [LGPL-2.1+]
    CHOLMOD/Utility: [LGPL-2.1+]
    CHOLMOD/Demo: [GPL-2.0+]
    CHOLMOD/MATLAB: [GPL-2.0+]
    CHOLMOD/MatrixOps: [GPL-2.0+]
    CHOLMOD/Modify: [GPL-2.0+]
    CHOLMOD/Partition: [LGPL-2.1+]
    CHOLMOD/Supernodal: [GPL-2.0+]
    CHOLMOD/Tcov: [GPL-2.0+]
  • librbio: GPL-2.0+
  • libspqr: GPL-2.0+
  • libumfpack: GPL-2.0+
@inkydragon inkydragon added building Build system, or building Julia or its dependencies ci Continuous integration labels Feb 6, 2024
@rayegun
Copy link
Member

rayegun commented Feb 20, 2024

Just the solvers should be removed, not the entirety of SA I think.

@inkydragon
Copy link
Member Author

the solvers should be removed

Do you mean keep the type and function prototype, but with an empty implementation?

Ideally, SparseArrays will continue to work fine if MKL.jl is loaded when compiling with NO-GPL.

@imciner2
Copy link
Contributor

the solvers should be removed

Do you mean keep the type and function prototype, but with an empty implementation?

Ideally, SparseArrays will continue to work fine if MKL.jl is loaded when compiling with NO-GPL.

Only the SuiteSparse wrappers in SparseArrays needs to be removed to make it no GPL. The rest of the stdlib should still remain, because it can be used with other backends and libraries.

@rayegun
Copy link
Member

rayegun commented Feb 22, 2024

https://github.com/JuliaSparse/SparseArrays.jl/blob/a5e95ec23649bd8cb75d2923861c74061016d1dd/src/SparseArrays.jl#L81

See here. Only these files need to remain unloaded. SparseArrays.jl itself should work just fine without them, you just won't have access to fast factorizations (LinearAlgebra generic factorizations might work? But incredibly slowly if they exist).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
building Build system, or building Julia or its dependencies ci Continuous integration
Projects
None yet
3 participants