JuliaMath / Hadamard.jl

Fast Walsh-Hadamard transforms for the Julia language

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Failure to Precompile

lstmemery opened this issue · comments

Hey there, I noticed this precompile error. I attempted to rebuild and got the same error. I think this may be a result of an API change.

[ Info: Precompiling Hadamard [4a05ff16-5f95-55f4-bb53-bb3f467c689a]
ERROR: LoadError: MethodError: no method matching occursin(::String, ::Base.RefValue{String})
Closest candidates are:
  occursin(::Union{AbstractChar, AbstractString}, ::AbstractString) at strings/search.jl:621
  occursin(::Any) at strings/search.jl:635
Stacktrace:
 [1] top-level scope
   @ ~/.julia/packages/Hadamard/3fngh/src/Hadamard.jl:65
 [2] include
   @ ./Base.jl:386 [inlined]
 [3] 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:1213
 [4] top-level scope
   @ none:1
 [5] eval
   @ ./boot.jl:360 [inlined]
 [6] eval(x::Expr)
   @ Base.MainInclude ./client.jl:446
 [7] top-level scope
   @ none:1
in expression starting at /home/xxx/.julia/packages/Hadamard/3fngh/src/Hadamard.jl:6
ERROR: Failed to precompile Hadamard [4a05ff16-5f95-55f4-bb53-bb3f467c689a] to /home/xxx/.julia/compiled/v1.6/Hadamard/jl_FbfP53.
Stacktrace:
 [1] error(s::String)
   @ Base ./error.jl:33
 [2] compilecache(pkg::Base.PkgId, path::String, internal_stderr::Base.TTY, internal_stdout::Base.TTY)
   @ Base ./loading.jl:1360
 [3] compilecache(pkg::Base.PkgId, path::String)
   @ Base ./loading.jl:1306
 [4] _require(pkg::Base.PkgId)
   @ Base ./loading.jl:1021
 [5] require(uuidkey::Base.PkgId)
   @ Base ./loading.jl:914
 [6] require(into::Module, mod::Symbol)
   @ Base ./loading.jl:901

versioninfo() output:

Julia Version 1.6.0
Commit f9720dc2eb (2021-03-24 12:55 UTC)
Platform Info:
  OS: Linux (x86_64-pc-linux-gnu)
  CPU: Intel(R) Core(TM) i5-7500 CPU @ 3.40GHz
  WORD_SIZE: 64
  LIBM: libopenlibm
  LLVM: libLLVM-11.0.1 (ORCJIT, skylake)

Works fine for me on Julia 1.6.1. Are you accidentally using an old version of the Hadamard package? What is the output of

pkg> st

It should include the line:

  [4a05ff16] Hadamard v1.3.0

Here's my output. It looks like Hadamard is up to date.

(@v1.6) pkg> st
      Status `~/.julia/environments/v1.6/Project.toml`
  [052768ef] CUDA v3.3.0
  [a93c6f00] DataFrames v1.1.1
  [31a5f54b] Debugger v0.6.8
  [0c46a032] DifferentialEquations v6.17.1
  [587475ba] Flux v0.12.4
  [c91e804a] Gadfly v1.3.3
  [ea4f424c] Gen v0.4.3
  [4a05ff16] Hadamard v1.3.0
  [682c06a0] JSON v0.21.1
  [4076af6c] JuMP v0.21.8
  [b964fa9f] LaTeXStrings v1.2.1
  [23fbe1c1] Latexify v0.15.6
  [b51810bb] MatrixDepot v1.0.4
  [6fafb56a] Memoization v0.1.12
  [2ae35dd2] Permutations v0.4.4
  [91a5bcdd] Plots v1.16.5
  [c3e4b0f8] Pluto v0.14.8
  [438e738f] PyCall v1.92.3
  [af85af4c] RowEchelon v0.2.1
  [928aab9d] SpecialMatrices v1.0.1 `https://github.com/JuliaMatrices/SpecialMatrices.jl.git#master`
  [24249f21] SymPy v1.0.48
  [0c5d862f] Symbolics v0.1.32

I also tried this on my work laptop (a MacBook) that didn't have Hadamard installed and got the same issue. Do you think it could be some sort of weird interaction between Hadamard and another package?

I made a new environment and got the same issue. It's not a package collision, as far as I can tell.

Oh, I think this is due to a recent update in FFTW.jl that is changing the type of a FFTW.libfftw3 …

Should be fixed now on master.

It works. You rock!