You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Apple M1设备运行LSODA.jl示例遇liblsoda未定义问题求助

在M1 MacBook Pro上使用Julia的LSODA求解ODE时遇到liblsoda not defined错误

我在M1 MacBook Pro上尝试用Julia通过LSODA求解ODE,同一代码在Linux机器上运行正常,但在Mac上无法运行,甚至LSODA.jl README中的简单示例都报错。以下是已执行的操作及问题详情:

  • 安装了适配macOS ARM(M系列)的Julia 1.8.0-rc3实验版;
  • 在Julia控制台执行] add LSODA,成功安装LSODA v0.7.0及相关依赖,安装输出如下:
(@v1.8) pkg> add LSODA
   Resolving package versions...
    Updating `~/.julia/environments/v1.8/Project.toml`
  [7f56f5a3] + LSODA v0.7.0
    Updating `~/.julia/environments/v1.8/Manifest.toml`
  [9e28174c] + BinDeps v1.0.2
  [7f56f5a3] + LSODA v0.7.0
  [30578b45] + URIParser v0.4.1
  [aae0fff6] + LSODA_jll v0.1.1+0
  • 运行LSODA README中的最小示例时,出现以下错误:
julia> using LSODA

julia> function rhs!(t, x, ydot, data)
               ydot[1]=1.0E4 * x[2] * x[3] - .04E0 * x[1]
               ydot[3]=3.0E7 * x[2] * x[2]
               ydot[2]=-ydot[1] - ydot[3]
         nothing
       end
rhs! (generic function with 1 method)

julia> y0 = [1.,0.,0.]
3-element Vector{Float64}:
 1.0
 0.0
 0.0

julia> tspan = [0., 0.4]
2-element Vector{Float64}:
 0.0
 0.4

julia> res =  lsoda(rhs!, y0, tspan, reltol= 1e-4, abstol = Vector([1.e-6,1.e-10,1.e-6]))
ERROR: UndefVarError: liblsoda not defined
Stacktrace:
 [1] lsoda_prepare
   @ ~/.julia/packages/LSODA/En9TK/src/types_and_consts.jl:88 [inlined]
 [2] lsoda(f::Function, y0::Vector{Float64}, tspan::Vector{Float64}; userdata::Nothing, reltol::Float64, abstol::Vector{Float64}, nbsteps::Int64)
   @ LSODA ~/.julia/packages/LSODA/En9TK/src/solver.jl:97
 [3] top-level scope
   @ REPL[5]:1
  • 手动编译生成了liblsoda.dylib且库测试运行成功,但尝试过] build LSODA重建包、在库目录启动Julia、设置LD_LIBRARY_PATH环境变量等方法,均无法解决问题,运行示例仍报相同错误;
  • 验证Julia安装无问题:使用OrdinaryDiffEq包的Tsit5()求解器运行同一ODE示例,可正常输出结果:
julia> using OrdinaryDiffEq

julia> function rhs!(du, u, p, t)
           du[1]=1.0E4 * u[2] * u[3] - .04E0 * u[1]
           du[3]=3.0E7 * u[2] * u[2]
           du[2]=-du[1] - du[3]
         nothing
       end
rhs! (generic function with 1 method)

julia> y0 = [1.,0.,0.]
3-element Vector{Float64}:
 1.0
 0.0
 0.0

julia> tspan = (0., 0.4)
(0.0, 0.4)

julia> prob = ODEProblem(rhs!,y0,tspan)
ODEProblem with uType Vector{Float64} and tType Float64. In-place: true
timespan: (0.0, 0.4)
u0: 3-element Vector{Float64}:
 1.0
 0.0
 0.0

julia> sol = solve(prob, Tsit5())
retcode: Success
Interpolation: specialized 4th order "free" interpolation
t: 281-element Vector{Float64}:
 0.0
 0.0014148463701573728
 0.002044917824570354
 0.0031082395219656383
 0.004077786184478819
 0.005515331547111039
 0.007190039901585917
 0.009125371178864151
 0.011053910882556455
 0.012779075887510953
 ⋮
 0.38962386292571205
 0.39105986979707663
 0.3924964595438138
 0.39393300822861893
 0.3953689357731328
 0.39680395859574674
 0.3982382036135917
 0.3996721389859908
 0.4
u: 281-element Vector{Vector{Float64}}:
 [1.0, 0.0, 0.0]
 [0.9999434113374243, 3.283958368828848e-5, 2.3749078887421564e-5]
 [0.9999182177955453, 3.554267892392701e-5, 4.623952553065492e-5]
 [0.9998757150665857, 3.630246922738996e-5, 8.798246418685756e-5]
 [0.9998369766423073, 3.6462803069599716e-5, 0.00012656055462304005]
 [0.9997795672802454, 3.646643085493869e-5, 0.00018396628889956693]
 [0.9997127287562698, 3.6447280004319005e-5, 0.00025082396372578164]
 [0.9996355450580071, 3.636681631277154e-5, 0.00032808812568000767]
 [0.99955869263762, 3.601892856283502e-5, 0.0004052884338170678]
 [0.9994899965749859, 3.4686952113841286e-5, 0.00047531647290014134]
 ⋮
 [0.9855287248204975, 3.3380535729784715e-5, 0.01443789464377367]
 [0.9854791547754341, 3.3371763645216536e-5, 0.01448747346092161]
 [0.985429589879464, 3.3361195969757255e-5, 0.014537048924567189]
 [0.9853800515675893, 3.3349731795215403e-5, 0.014586598700616432]
 [0.9853305597195883, 3.3338642943875154e-5, 0.014636101637468868]
 [0.9852811239988389, 3.33290122744337e-5, 0.014685546988887663]
 [0.9852317399743383, 3.332125091318715e-5, 0.014734938774749495]
 [0.9851823915340508, 3.331492718519977e-5, 0.014784293538765007]
 [0.985171094472304, 3.359314691926523e-5, 0.01479531238077784]

目前找不到解决方法,请求帮助。

内容的提问来源于stack exchange,提问作者Vanessa

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.24 16:18:34