# Arb\_jll fails to load/precompile dylib after MacOS update

**URL:** <https://discourse.julialang.org/t/arb-jll-fails-to-load-precompile-dylib-after-macos-update/127989>\
**Category:** General Usage\
**Tags:** binarybuilder, mac-m1\
**Created:** [April 11, 2025, 6:50pm UTC](https://discourse.julialang.org/t/arb-jll-fails-to-load-precompile-dylib-after-macos-update/127989 "2025-04-11T18:50:56Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![hsgg](https://avatars.discourse-cdn.com/v4/letter/h/838e76/32.png) [@hsgg](https://discourse.julialang.org/u/hsgg)\
**Post date:** [April 11, 2025, 6:50pm UTC](https://discourse.julialang.org/t/arb-jll-fails-to-load-precompile-dylib-after-macos-update/127989/1 "2025-04-11T18:50:56Z")

</div>

I upgraded MacOS from Sequoia 15.3 to 15.4 this week. I also updated homebrew at the same time. Julia is installed via `juliaup` and is at 1.11.4.

Since the upgrade, julia fails to load `Arb_jll` needed by [`ArbNumerics.jl`](https://github.com/JeffreySarnoff/ArbNumerics.jl), with the error

```julia
julia> using Arb_jll
ERROR: InitError: could not load library "/Users/henry/.julia/artifacts/0aee3fc14042059a9f00ba046404366d5bdd7607/lib/libarb.dylib"
dlopen(/Users/henry/.julia/artifacts/0aee3fc14042059a9f00ba046404366d5bdd7607/lib/libarb.dylib, 0x0001): tried: '/Users/henry/.julia/artifacts/0aee3fc14042059a9f00ba046404366d5bdd7607/lib/libarb.dylib' (duplicate LC_RPATH '/workspace/destdir/lib'), '/System/Volumes/Preboot/Cryptexes/OS/Users/henry/.julia/artifacts/0aee3fc14042059a9f00ba046404366d5bdd7607/lib/libarb.dylib' (no such file), '/Users/henry/.julia/artifacts/0aee3fc14042059a9f00ba046404366d5bdd7607/lib/libarb.dylib' (duplicate LC_RPATH '/workspace/destdir/lib'), '/Users/henry/.julia/artifacts/0aee3fc14042059a9f00ba046404366d5bdd7607/lib/libarb-2.14.0.dylib' (duplicate LC_RPATH '/workspace/destdir/lib'), '/System/Volumes/Preboot/Cryptexes/OS/Users/henry/.julia/artifacts/0aee3fc14042059a9f00ba046404366d5bdd7607/lib/libarb-2.14.0.dylib' (no such file), '/Users/henry/.julia/artifacts/0aee3fc14042059a9f00ba046404366d5bdd7607/lib/libarb-2.14.0.dylib' (duplicate LC_RPATH '/workspace/destdir/lib')
Stacktrace:
  [1] dlopen(s::String, flags::UInt32; throw_error::Bool)
    @ Base.Libc.Libdl ./libdl.jl:120
  [2] dlopen(s::String, flags::UInt32)
    @ Base.Libc.Libdl ./libdl.jl:119
  [3] macro expansion
    @ ~/.julia/packages/JLLWrappers/GfYNv/src/products/library_generators.jl:63 [inlined]
  [4] __init__ ()
    @ Arb_jll ~/.julia/dev/Arb_jll/src/wrappers/aarch64-apple-darwin.jl:11
  [5] run_module_init(mod::Module, i::Int64)
    @ Base ./loading.jl:1378
  [6] register_restored_modules(sv::Core.SimpleVector, pkg::Base.PkgId, path::String)
    @ Base ./loading.jl:1366
  [7] _include_from_serialized(pkg::Base.PkgId, path::String, ocachepath::String, depmods::Vector{…}, ignore_native::Nothing; register::Bool)
    @ Base ./loading.jl:1254
  [8] _include_from_serialized (repeats 2 times)
    @ ./loading.jl:1210 [inlined]
  [9] _require_search_from_serialized(pkg::Base.PkgId, sourcepath::String, build_id::UInt128, stalecheck::Bool; reasons::Dict{…}, DEPOT_PATH::Vector{…})
    @ Base ./loading.jl:2057
 [10] _require(pkg::Base.PkgId, env::String)
    @ Base ./loading.jl:2527
 [11] __require_prelocked(uuidkey::Base.PkgId, env::String)
    @ Base ./loading.jl:2388
 [12] #invoke_in_world#3
    @ ./essentials.jl:1089 [inlined]
 [13] invoke_in_world
    @ ./essentials.jl:1086 [inlined]
 [14] _require_prelocked(uuidkey::Base.PkgId, env::String)
    @ Base ./loading.jl:2375
 [15] macro expansion
    @ ./loading.jl:2314 [inlined]
 [16] macro expansion
    @ ./lock.jl:273 [inlined]
 [17] __require(into::Module, mod::Symbol)
    @ Base ./loading.jl:2271
 [18] #invoke_in_world#3
    @ ./essentials.jl:1089 [inlined]
 [19] invoke_in_world
    @ ./essentials.jl:1086 [inlined]
 [20] require(into::Module, mod::Symbol)
    @ Base ./loading.jl:2260
during initialization of module Arb_jll
Some type information was truncated. Use `show(err)` to see complete types.

```

The file `/Users/henry/.julia/artifacts/0aee3fc14042059a9f00ba046404366d5bdd7607/lib/libarb.dylib` exists and points to another existing file:

```julia
% file /Users/henry/.julia/artifacts/0aee3fc14042059a9f00ba046404366d5bdd7607/lib/libarb-2.14.0.dylib
/Users/henry/.julia/artifacts/0aee3fc14042059a9f00ba046404366d5bdd7607/lib/libarb-2.14.0.dylib: Mach-O 64-bit dynamically linked shared library arm64

```

Any help deciphering the error message is much appreciated!

I also nuked by `~/.julia` to verify there is no problem in there.

```julia
julia> versioninfo()
Julia Version 1.11.4
Commit 8561cc3d68d (2025-03-10 11:36 UTC)
Build Info:
  Official https://julialang.org/ release
Platform Info:
  OS: macOS (arm64-apple-darwin24.0.0)
  CPU: 10 × Apple M1 Max
  WORD_SIZE: 64
  LLVM: libLLVM-16.0.6 (ORCJIT, apple-m1)
Threads: 1 default, 0 interactive, 1 GC (on 8 virtual cores)

```

---

<div class="post-metadata">

**Author:** ![giordano](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/giordano/32/2166_2.png) [@giordano](https://discourse.julialang.org/u/giordano)\
**Post date:** [April 11, 2025, 8:47pm UTC](https://discourse.julialang.org/t/arb-jll-fails-to-load-precompile-dylib-after-macos-update/127989/2 "2025-04-11T20:47:45Z")

</div>

Works for me on macOS 14.4.1, I guess Apple broke something once again.

As a temporary workaround, someone suggested you may have some luck with

```julia
install_name_tool -delete_rpath /workspace/destdir/lib /Users/henry/.julia/artifacts/0aee3fc14042059a9f00ba046404366d5bdd7607/lib/libarb.dylib
install_name_tool -delete_rpath /workspace/destdir/lib /Users/henry/.julia/artifacts/0aee3fc14042059a9f00ba046404366d5bdd7607/lib/libarb.dylib

```

(yes, repeat the same command twice). And thank Apple for breaking loading of libraries in every other release.

---

<div class="post-metadata">

**Author:** ![hsgg](https://avatars.discourse-cdn.com/v4/letter/h/838e76/32.png) [@hsgg](https://discourse.julialang.org/u/hsgg)\
**Post date:** [April 11, 2025, 8:52pm UTC](https://discourse.julialang.org/t/arb-jll-fails-to-load-precompile-dylib-after-macos-update/127989/3 "2025-04-11T20:52:23Z")

</div>

Thanks, I did the above, and now I get

```julia
julia> using Arb_jll
zsh: killed julia

```

That’s it.

---

<div class="post-metadata">

**Author:** ![giordano](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/giordano/32/2166_2.png) [@giordano](https://discourse.julialang.org/u/giordano)\
**Post date:** [April 11, 2025, 9:03pm UTC](https://discourse.julialang.org/t/arb-jll-fails-to-load-precompile-dylib-after-macos-update/127989/4 "2025-04-11T21:03:39Z")

</div>

macOS is amazing, isn’t it? Every day making life harder for users.

---

<div class="post-metadata">

**Author:** ![hsgg](https://avatars.discourse-cdn.com/v4/letter/h/838e76/32.png) [@hsgg](https://discourse.julialang.org/u/hsgg)\
**Post date:** [April 12, 2025, 12:18am UTC](https://discourse.julialang.org/t/arb-jll-fails-to-load-precompile-dylib-after-macos-update/127989/5 "2025-04-12T00:18:19Z")

</div>

Solution _might_ be simple. I made a PR: [libarb is merged into FLINT by hsgg · Pull Request #80 · JeffreySarnoff/ArbNumerics.jl · GitHub](https://github.com/JeffreySarnoff/ArbNumerics.jl/pull/80)
