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

Precompile fails "LoadError: UndefVarError: libReactantExtra not defined in Reactant_jll" #594

Open
macquarrielucas opened this issue Jan 21, 2025 · 4 comments

Comments

@macquarrielucas
Copy link

macquarrielucas commented Jan 21, 2025

I'm new to Julia so forgive me if this is a user issue, but I don't believe it is.

Reactant can't be precompiled due to libReactantExtra not defined in Reactant_jll. Below is the stack trace and my version. I don't have another computer to test this on, can anyone reproduce it?
Version info:

julia> versioninfo()
Julia Version 1.11.2
Commit 5e9a32e7af (2024-12-01 20:02 UTC)
Build Info:
  Official https://julialang.org/ release
Platform Info:
  OS: Windows (x86_64-w64-mingw32)
  CPU: 16 × 12th Gen Intel(R) Core(TM) i5-12500H
  WORD_SIZE: 64
  LLVM: libLLVM-16.0.6 (ORCJIT, alderlake)
Threads: 1 default, 0 interactive, 1 GC (on 16 virtual cores)

Stack trace:

(LuxTutOne) pkg> activate --temp
  Activating new project at `C:\Users\macqu\AppData\Local\Temp\jl_l5msT0`

(jl_l5msT0) pkg> add Reactant
   Resolving package versions...
    Updating `C:\Users\macqu\AppData\Local\Temp\jl_l5msT0\Project.toml`
  [3c362404] + Reactant v0.2.21
    Updating `C:\Users\macqu\AppData\Local\Temp\jl_l5msT0\Manifest.toml`
  [79e6a3ab] + Adapt v4.1.1
  [fa961155] + CEnum v0.5.0
  [34da2185] + Compat v4.16.0
  [187b0558] + ConstructionBase v1.5.8
  [7da242da] + Enzyme v0.13.28
  [f151be2c] + EnzymeCore v0.8.8
  [e2ba6199] + ExprTools v0.1.10
  [21656369] + ExpressionExplorer v1.1.1
  [d9f16b24] + Functors v0.5.2
  [46192b85] + GPUArraysCore v0.2.0
  [61eb1bfa] + GPUCompiler v1.1.0
  [692b3bcd] + JLLWrappers v1.7.0
  [929cbde3] + LLVM v9.1.3
  [1914dd2f] + MacroTools v0.5.15
  [d8793406] + ObjectFile v0.4.3
  [bac558e1] + OrderedCollections v1.7.0
  [aea7be01] + PrecompileTools v1.2.1
  [21216c6a] + Preferences v1.4.3
  [3c362404] + Reactant v0.2.21
  [a3311ec8] + ReactantCore v0.1.4
  [189a3867] + Reexport v1.2.2
  [ae029012] + Requires v1.3.0
  [6c6a2e73] + Scratch v1.2.1
  [53d494c1] + StructIO v0.3.1
  [a759f4b9] + TimerOutputs v0.5.26
  [4ee394cb] + CUDA_Driver_jll v0.11.0+0
  [7cc45869] + Enzyme_jll v0.0.172+0
  [dad2f222] + LLVMExtra_jll v0.0.34+0
⌅ [0192cb87] + Reactant_jll v0.0.46+0
  [0dad84c5] + ArgTools v1.1.2
  [56f22d72] + Artifacts v1.11.0
  [2a0f44e3] + Base64 v1.11.0
  [ade2ca70] + Dates v1.11.0
  [f43a241f] + Downloads v1.6.0
  [7b1f6079] + FileWatching v1.11.0
  [b77e0a4c] + InteractiveUtils v1.11.0
  [4af54fe1] + LazyArtifacts v1.11.0
  [b27032c2] + LibCURL v0.6.4
  [76f85450] + LibGit2 v1.11.0
  [8f399da3] + Libdl v1.11.0
  [37e2e46d] + LinearAlgebra v1.11.0
  [56ddb016] + Logging v1.11.0
  [d6f4376e] + Markdown v1.11.0
  [ca575930] + NetworkOptions v1.2.0
  [44cfe95a] + Pkg v1.11.0
  [de0858da] + Printf v1.11.0
  [9a3f8284] + Random v1.11.0
  [ea8e919c] + SHA v0.7.0
  [9e88b42a] + Serialization v1.11.0
  [6462fe0b] + Sockets v1.11.0
  [2f01184e] + SparseArrays v1.11.0
  [fa267f1f] + TOML v1.0.3
  [a4e569a6] + Tar v1.10.0
  [cf7118a7] + UUIDs v1.11.0
  [4ec0a83e] + Unicode v1.11.0
  [e66e0078] + CompilerSupportLibraries_jll v1.1.1+0
  [deac9b47] + LibCURL_jll v8.6.0+0
  [e37daf67] + LibGit2_jll v1.7.2+0
  [29816b5a] + LibSSH2_jll v1.11.0+1
  [c8ffd9c3] + MbedTLS_jll v2.28.6+0
  [14a3606d] + MozillaCACerts_jll v2023.12.12
  [4536629a] + OpenBLAS_jll v0.3.27+1
  [bea87d4a] + SuiteSparse_jll v7.7.0+0
  [83775a58] + Zlib_jll v1.2.13+1
  [8e850b90] + libblastrampoline_jll v5.11.0+0
  [8e850ede] + nghttp2_jll v1.59.0+0
  [3f19e933] + p7zip_jll v17.4.0+2
        Info Packages marked with ⌅ have new versions available but compatibility constraints restrict them from upgrading. To see why use `status --outdated -m`
Precompiling project...
  ✗ Reactant
  0 dependencies successfully precompiled in 18 seconds. 61 already precompiled.
  1 dependency errored.
  For a report of the errors see `julia> err`. To retry use `pkg> precompile`

julia> err
PkgPrecompileError: The following 1 direct dependency failed to precompile:

Reactant

Failed to precompile Reactant [3c362404-f566-11ee-1572-e11a4b42c853] to "C:\\Users\\macqu\\.julia\\compiled\\v1.11\\Reactant\\jl_4B1D.tmp".
ERROR: LoadError: UndefVarError: `libReactantExtra` not defined in `Reactant_jll`
Stacktrace:
 [1] getproperty(x::Module, f::Symbol)
   @ Base .\Base.jl:42
 [2] top-level scope
   @ C:\Users\macqu\.julia\packages\Reactant\z5PJk\src\mlir\MLIR.jl:8
 [3] include(mod::Module, _path::String)
   @ Base .\Base.jl:557
 [4] include(x::String)
   @ Reactant C:\Users\macqu\.julia\packages\Reactant\z5PJk\src\Reactant.jl:1
 [5] top-level scope
   @ C:\Users\macqu\.julia\packages\Reactant\z5PJk\src\Reactant.jl:82
 [6] include
   @ .\Base.jl:557 [inlined]
 [7] 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, UInt128}}, source::Nothing)
   @ Base .\loading.jl:2881
 [8] top-level scope
   @ stdin:6
in expression starting at C:\Users\macqu\.julia\packages\Reactant\z5PJk\src\mlir\MLIR.jl:1
in expression starting at C:\Users\macqu\.julia\packages\Reactant\z5PJk\src\Reactant.jl:1
in expression starting at stdin:
@wsmoses
Copy link
Member

wsmoses commented Jan 21, 2025

Ah yeah we should make a better error message for this, but Reactant_jll currently doesn't support windows (cc @giordano @avik-pal )

@giordano
Copy link
Member

The way to check if Reactant_jll is available is to use Reactant_jll.is_available(), the only question is where to put the check.

@macquarrielucas
Copy link
Author

Ah yeah we should make a better error message for this, but Reactant_jll currently doesn't support windows (cc @giordano @avik-pal )

ah yes please do! I was following the intro tutorials on Lux and tearing my hair out trying to figure out what was wrong with my installation. I didn't notice if they mentioned anything about OS compatibility, so I can imagine others might make the same mistake.

@mofeing
Copy link
Collaborator

mofeing commented Jan 22, 2025

@macquarrielucas currently we don't have builds for Windows, but I've been told that it works alright on Windows Subsystem for Linux (WSL)

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

4 participants