Skip to content

using SuiteSparseGraphBLAS results in failed precompilation #37

@thazhemadam

Description

@thazhemadam

Adding using SuiteSparseGraphBLAS to wherever required in another package results in failed precompilation of the other package.

Here's an example, where I'm adding the using statement to the file src/features/orbitalfeature.jl in the package ChemistryFeaturization.jl.

(ChemistryFeaturization) pkg> precompile
Precompiling project...
  ✗ ChemistryFeaturization
  0 dependencies successfully precompiled in 20 seconds (91 already precompiled)

ERROR: The following 1 direct dependency failed to precompile:

ChemistryFeaturization [6c925690-434a-421d-aea7-51398c5b007a]

Failed to precompile ChemistryFeaturization [6c925690-434a-421d-aea7-51398c5b007a] to /home/zephyr/.julia/compiled/v1.6/ChemistryFeaturization/jl_Dl8Va8.
ERROR: LoadError: LoadError: LoadError: InitError: Evaluation into the closed module `SelectOps` breaks incremental compilation because the side effects will not be permanent. This is likely due to some other module mutating `SelectOps` with `eval` during precompilation - don't do this.
Stacktrace:
  [1] eval
    @ ./boot.jl:360 [inlined]
  [2] _loadselectops()
    @ SuiteSparseGraphBLAS ~/.julia/packages/SuiteSparseGraphBLAS/NCSUH/src/operators/selectops.jl:49
  [3] __init__()
    @ SuiteSparseGraphBLAS ~/.julia/packages/SuiteSparseGraphBLAS/NCSUH/src/SuiteSparseGraphBLAS.jl:114
  [4] _include_from_serialized(path::String, depmods::Vector{Any})
    @ Base ./loading.jl:696
  [5] _require_search_from_serialized(pkg::Base.PkgId, sourcepath::String)
    @ Base ./loading.jl:782
  [6] _require(pkg::Base.PkgId)
    @ Base ./loading.jl:1020
  [7] require(uuidkey::Base.PkgId)
    @ Base ./loading.jl:936
  [8] require(into::Module, mod::Symbol)
    @ Base ./loading.jl:923
  [9] include(mod::Module, _path::String)
    @ Base ./Base.jl:386
 [10] include(x::String)
    @ ChemistryFeaturization.FeatureDescriptor ~/Chemellia/ChemistryFeaturization.jl/src/features/features.jl:1
 [11] top-level scope
    @ ~/Chemellia/ChemistryFeaturization.jl/src/features/features.jl:46
 [12] include(mod::Module, _path::String)
    @ Base ./Base.jl:386
 [13] include(x::String)
    @ ChemistryFeaturization ~/Chemellia/ChemistryFeaturization.jl/src/ChemistryFeaturization.jl:1
 [14] top-level scope
    @ ~/Chemellia/ChemistryFeaturization.jl/src/ChemistryFeaturization.jl:22
 [15] include
    @ ./Base.jl:386 [inlined]
 [16] include_package_for_output(pkg::Base.PkgId, input::String, depot_path::Vector{String}, dl_load_path::Vector{String}, load_path::Vector{String}, concrete_deps::Vector{Pair{Base.PkgId, UInt64}}, source::Nothing)
    @ Base ./loading.jl:1235
 [17] top-level scope
    @ none:1
 [18] eval
    @ ./boot.jl:360 [inlined]
 [19] eval(x::Expr)
    @ Base.MainInclude ./client.jl:446
 [20] top-level scope
    @ none:1
during initialization of module SuiteSparseGraphBLAS
in expression starting at /home/zephyr/Chemellia/ChemistryFeaturization.jl/src/features/orbitalfeature.jl:10
in expression starting at /home/zephyr/Chemellia/ChemistryFeaturization.jl/src/features/features.jl:1
in expression starting at /home/zephyr/Chemellia/ChemistryFeaturization.jl/src/ChemistryFeaturization.jl:1

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions