kbarbary / Dierckx.jl

Julia package for 1-d and 2-d splines
Other
156 stars 30 forks source link

libddierckx not defined #85

Closed gideonsimpson closed 2 years ago

gideonsimpson commented 2 years ago

I recently installed 1.7, and I'm now getting the error: ERROR: UndefVarError: libddierckx not defined Stacktrace: [1] Spline1D(x::LinRange{Float64, Int64}, y::Vector{Float64}; w::Vector{Float64}, k::Int64, s::Float64, bc::String, periodic::Bool) @ Dierckx ~/.julia/packages/Dierckx/0w6mc/src/Dierckx.jl:151 [2] top-level scope @ REPL[4]:1 when I try to use Spline1D.

kbarbary commented 2 years ago

and it worked with Julia 1.6?

Can you try running in debug mode?

It looks like Dierckx_jll silently does nothing (but prints a debug message) if it fails to find the right platform. What platform are you on?

gideonsimpson commented 2 years ago

Worked fine on 1.6. I'm having the problem on an ARM MacOS machine. Works fine on my Intel Mac. How do I diagnose via debug mode?

kbarbary commented 2 years ago

Run julia with the -g flag: julia -g

giordano commented 2 years ago

Fixed by #87

komatsu5147 commented 2 years ago

After upgrading to Julia v1.7 on Apple M1 Silicon machine, I am having the same issue as giordano. Namely:

using Dierckx
x = [0., 1., 2., 3., 4.]
y = [-1., 0., 7., 26., 63.]  # x.^3 - 1.
spl = Spline1D(x, y)

ERROR: UndefVarError: libddierckx not defined
Stacktrace:
 [1] Spline1D(x::Vector{Float64}, y::Vector{Float64}; w::Vector{Float64}, k::Int64, s::Float64, bc::String, periodic::Bool)
   @ Dierckx ~/.julia/packages/Dierckx/0w6mc/src/Dierckx.jl:151
 [2] Spline1D(x::Vector{Float64}, y::Vector{Float64})
   @ Dierckx ~/.julia/packages/Dierckx/0w6mc/src/Dierckx.jl:115
 [3] top-level scope
   @ REPL[7]:1

It worked fine on Julia v1.6. The issue is indeed due to osx-arm64 not being supported in Dierckx_jll@0.0.1. Any chance that this can be fixed? My packages rely heavily on Dierckx, so I'd appreciate it very much if you could help us here :)

giordano commented 2 years ago

Any chance that this can be fixed?

There is already a pull request for that: #87

komatsu5147 commented 2 years ago

Thank you giordano - I've implemented your fix in the local copy and solved the issue!

masaofukui commented 2 years ago

Sorry, can anyone give me a little more guidance on how to fix this? Should I edit Project.toml in a way #87 has written? (it didn't work for me).

giordano commented 2 years ago

You can simply do

]add https://github.com/giordano/Dierckx.jl#patch-1 
masaofukui commented 2 years ago

Awsome! It worked for me. Thanks so much!

gideonsimpson commented 2 years ago

This is working for me fine now with v0.5.1

alexjaffray commented 2 years ago

Bringing up this issue again since it has popped up as an issue for some of the users of our DECAES.jl package and maybe should be reopened. See https://github.com/jondeuce/DECAES.jl/issues/47 for a possible fix.

giordano commented 2 years ago

Pinging @kbarbary @kaarthiksundar. Maybe this package should be moved to an organisation where more people would have access for fixes like this?

kaarthiksundar commented 2 years ago

Pinging @kbarbary @kaarthiksundar. Maybe this package should be moved to an organisation where more people would have access for fixes like this?

Can you suggest one such organization. I am fine doing this.

giordano commented 2 years ago

In the meantime could you please merge #87 and tag a new release?

Can you suggest one such organization. I am fine doing this.

JuliaMath maybe?

kaarthiksundar commented 2 years ago

Tagged a new version. I will try to get in touch with the JuliaMath folks regarding this.

giordano commented 2 years ago

I can invite you there, but I think only @kbarbary can transfer the repository

kaarthiksundar commented 2 years ago

Lets wait for @kbarbary's response

jondeuce commented 2 years ago

Hi all, just wanted to let you know that the issue @alexjaffray and I were investigating for DECAES.jl is fixed using the newly tagged v0.5.2 version of Dierckx!

I now believe that the issue raised originally by @alexjaffray above was actually due to adding the patch branch without subsequently running Pkg.update() (thereby not updating Dierckx_jll to v0.1). This made it look like the patch wasn't working to our users, when really they were still using the old version of the binary dependency. We therefore no longer see any reason to reopen this issue.