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

Metalhead fails on M1 Mac with Julia 1.7 Beta 3 #85

Closed
logankilpatrick opened this issue Jul 11, 2021 · 5 comments
Closed

Metalhead fails on M1 Mac with Julia 1.7 Beta 3 #85

logankilpatrick opened this issue Jul 11, 2021 · 5 comments

Comments

@logankilpatrick
Copy link
Member

See here:

julia> using Metalhead
[ Info: Precompiling Metalhead [dbeba491-748d-5e0e-a39e-b530a07fa0cc]
ERROR: LoadError: UndefVarError: libfftw3_path not defined
Stacktrace:
  [1] getproperty(x::Module, f::Symbol)
    @ Base ./Base.jl:35
  [2] top-level scope
    @ ~/.julia/packages/FFTW/kKdEk/src/providers.jl:51
  [3] include(mod::Module, _path::String)
    @ Base ./Base.jl:417
  [4] include(x::String)
    @ FFTW ~/.julia/packages/FFTW/kKdEk/src/FFTW.jl:1
  [5] top-level scope
    @ ~/.julia/packages/FFTW/kKdEk/src/FFTW.jl:17
  [6] include
    @ ./Base.jl:417 [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, UInt64}}, source::String)
    @ Base ./loading.jl:1318
  [8] top-level scope
    @ none:1
  [9] eval
    @ ./boot.jl:373 [inlined]
 [10] eval(x::Expr)
    @ Base.MainInclude ./client.jl:453
 [11] top-level scope
    @ none:1
in expression starting at /Users/logankilpatrick/.julia/packages/FFTW/kKdEk/src/providers.jl:49
in expression starting at /Users/logankilpatrick/.julia/packages/FFTW/kKdEk/src/FFTW.jl:1
ERROR: LoadError: Failed to precompile FFTW [7a1cc6ca-52ef-59f5-83cd-3a7055c09341] to /Users/logankilpatrick/.julia/compiled/v1.7/FFTW/jl_oKjNHY.
Stacktrace:
  [1] error(s::String)
    @ Base ./error.jl:33
  [2] compilecache(pkg::Base.PkgId, path::String, internal_stderr::IO, internal_stdout::IO, ignore_loaded_modules::Bool)
    @ Base ./loading.jl:1466
  [3] compilecache(pkg::Base.PkgId, path::String)
    @ Base ./loading.jl:1410
  [4] _require(pkg::Base.PkgId)
    @ Base ./loading.jl:1120
  [5] require(uuidkey::Base.PkgId)
    @ Base ./loading.jl:1013
  [6] require(into::Module, mod::Symbol)
    @ Base ./loading.jl:997
  [7] include
    @ ./Base.jl:417 [inlined]
  [8] 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::String)
    @ Base ./loading.jl:1318
  [9] top-level scope
    @ none:1
 [10] eval
    @ ./boot.jl:373 [inlined]
 [11] eval(x::Expr)
    @ Base.MainInclude ./client.jl:453
 [12] top-level scope
    @ none:1
in expression starting at /Users/logankilpatrick/.julia/packages/ImageFiltering/bTMw9/src/ImageFiltering.jl:1
ERROR: LoadError: Failed to precompile ImageFiltering [6a3955dd-da59-5b1f-98d4-e7296123deb5] to /Users/logankilpatrick/.julia/compiled/v1.7/ImageFiltering/jl_O2Z5FU.
Stacktrace:
  [1] error(s::String)
    @ Base ./error.jl:33
  [2] compilecache(pkg::Base.PkgId, path::String, internal_stderr::IO, internal_stdout::IO, ignore_loaded_modules::Bool)
    @ Base ./loading.jl:1466
  [3] compilecache(pkg::Base.PkgId, path::String)
    @ Base ./loading.jl:1410
  [4] _require(pkg::Base.PkgId)
    @ Base ./loading.jl:1120
  [5] require(uuidkey::Base.PkgId)
    @ Base ./loading.jl:1013
  [6] require(into::Module, mod::Symbol)
    @ Base ./loading.jl:997
  [7] include
    @ ./Base.jl:417 [inlined]
  [8] 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::String)
    @ Base ./loading.jl:1318
  [9] top-level scope
    @ none:1
 [10] eval
    @ ./boot.jl:373 [inlined]
 [11] eval(x::Expr)
    @ Base.MainInclude ./client.jl:453
 [12] top-level scope
    @ none:1
in expression starting at /Users/logankilpatrick/.julia/packages/Images/ILl34/src/Images.jl:3
ERROR: LoadError: Failed to precompile Images [916415d5-f1e6-5110-898d-aaa5f9f070e0] to /Users/logankilpatrick/.julia/compiled/v1.7/Images/jl_r9PS6j.
Stacktrace:
  [1] error(s::String)
    @ Base ./error.jl:33
  [2] compilecache(pkg::Base.PkgId, path::String, internal_stderr::IO, internal_stdout::IO, ignore_loaded_modules::Bool)
    @ Base ./loading.jl:1466
  [3] compilecache(pkg::Base.PkgId, path::String)
    @ Base ./loading.jl:1410
  [4] _require(pkg::Base.PkgId)
    @ Base ./loading.jl:1120
  [5] require(uuidkey::Base.PkgId)
    @ Base ./loading.jl:1013
  [6] require(into::Module, mod::Symbol)
    @ Base ./loading.jl:997
  [7] include
    @ ./Base.jl:417 [inlined]
  [8] 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:1318
  [9] top-level scope
    @ none:1
 [10] eval
    @ ./boot.jl:373 [inlined]
 [11] eval(x::Expr)
    @ Base.MainInclude ./client.jl:453
 [12] top-level scope
    @ none:1
in expression starting at /Users/logankilpatrick/.julia/packages/Metalhead/PBZE5/src/Metalhead.jl:2
ERROR: Failed to precompile Metalhead [dbeba491-748d-5e0e-a39e-b530a07fa0cc] to /Users/logankilpatrick/.julia/compiled/v1.7/Metalhead/jl_kBPZwT.
Stacktrace:
 [1] error(s::String)
   @ Base ./error.jl:33
 [2] compilecache(pkg::Base.PkgId, path::String, internal_stderr::IO, internal_stdout::IO, ignore_loaded_modules::Bool)
   @ Base ./loading.jl:1466
 [3] compilecache(pkg::Base.PkgId, path::String)
   @ Base ./loading.jl:1410
 [4] _require(pkg::Base.PkgId)
   @ Base ./loading.jl:1120
 [5] require(uuidkey::Base.PkgId)
   @ Base ./loading.jl:1013
 [6] require(into::Module, mod::Symbol)
   @ Base ./loading.jl:997

I am guessing this will be fixed when the 1.7 PR's are merged for Flux?

@DhairyaLGandhi
Copy link
Member

I don't think M1 is guaranteed to work at the moment, is this under rosetta?

@darsnack
Copy link
Member

darsnack commented Sep 1, 2021

In any case, this won't be an issue once master is released, since the FFTW issue is from an unrelated dependency that has been removed. i.e. this isn't related to Flux itself but some old image preprocessing code from when Metalhead hosted datasets.

@giordano
Copy link

Fixed by JuliaPackaging/Yggdrasil#3585

@darsnack
Copy link
Member

If someone with an M1 can confirm that the package loads with master, then we can close this.

@logankilpatrick
Copy link
Member Author

(@v1.7) pkg> add Metalhead#Master
     Cloning git-repo `https://github.com/FluxML/Metalhead.jl.git`
    Updating git-repo `https://github.com/FluxML/Metalhead.jl.git`
    Updating registry at `~/.julia/registries/General`
    Updating git-repo `https://github.com/JuliaRegistries/General.git`
    Updating registry at `~/.julia/registries/JuliaPOMDP`
    Updating git-repo `https://github.com/JuliaPOMDP/Registry`
   Resolving package versions...
   Installed BSON ──── v0.3.4
   Installed MKL_jll ─ v2021.1.1+2
    Updating `~/.julia/environments/v1.7/Project.toml`
  [dbeba491] + Metalhead v0.6.0 `https://github.com/FluxML/Metalhead.jl.git#Master`
    Updating `~/.julia/environments/v1.7/Manifest.toml`
  [fbb218c0] + BSON v0.3.4
  [dbeba491] + Metalhead v0.6.0 `https://github.com/FluxML/Metalhead.jl.git#Master`
  [856f044c]  MKL_jll v2021.1.1+1  v2021.1.1+2
Precompiling project...
  ✗ FFTW
  3 dependencies successfully precompiled in 5 seconds (165 already precompiled, 3 skipped during auto due to previous errors)
  1 dependency errored. To see a full report either run `import Pkg; Pkg.precompile()` or load the package

julia> using Metalhead

Fixed!

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