Arch Linux下Julia包安装失败及curl_multi_assign错误求助
问题描述
- 不确定错误触发原因,推测是更新系统软件包或修改Python环境导致
- 启动Julia后发现之前安装的所有包都消失了
- 尝试重装包时Makie构建失败,操作过程中反复出现
curl_multi_assign: 1错误,最终程序触发信号6中止并生成核心转储,错误日志如下:
(@v1.11) pkg> ┌ Error: curl_multi_assign: 1 └ @ Downloads.Curl /usr/share/julia/stdlib/v1.11/Downloads/src/Curl/utils.jl:57 ┌ Error: curl_multi_assign: 1 └ @ Downloads.Curl /usr/share/julia/stdlib/v1.11/Downloads/src/Curl/utils.jl:57 ┌ Error: curl_multi_assign: 1 └ @ Downloads.Curl /usr/share/julia/stdlib/v1.11/Downloads/src/Curl/utils.jl:57 ┌ Error: curl_multi_assign: 1 └ @ Downloads.Curl /usr/share/julia/stdlib/v1.11/Downloads/src/Curl/utils.jl:57 [4095] signal 6 (-6): Aborted in expression starting at none:0 unknown function (ip: 0x7f9acf93a3f4) gsignal at /usr/bin/../lib/libc.so.6 (unknown line) abort at /usr/bin/../lib/libc.so.6 (unknown line) unknown function (ip: 0x7f9acee23f1f) unknown function (ip: 0x7f9acef3fa7d) uv_run at /usr/bin/../lib/julia/libjulia-internal.so.1.11 (unknown line) ijl_process_events at /usr/bin/../lib/julia/libjulia-internal.so.1.11 (unknown line) unknown function (ip: 0x7f9ab60db78e) unknown function (ip: 0x7f9ab5c8bbbf) wait at ./condition.jl:125 [inlined] _wait at /build/julia/src/julia-1.11.1/usr/share/julia/stdlib/v1.11/FileWatching/src/FileWatching.jl:572 wait at /build/julia/src/julia-1.11.1/usr/share/julia/stdlib/v1.11/FileWatching/src/FileWatching.jl:600 #58 at /build/julia/src/julia-1.11.1/usr/share/julia/stdlib/v1.11/Downloads/src/Curl/Multi.jl:188 unknown function (ip: 0x7f9abe6807d3) unknown function (ip: 0x7f9acee6683e) Allocations: 18680311 (Pool: 18677468; Big: 2843); GC: 34 Aborted (core dumped)
解决方案
1. 重置Julia包环境
彻底清理现有包环境,重新初始化:
- 关闭所有Julia进程,执行命令删除Julia包目录:
rm -rf ~/.julia
- 重新启动Julia,更新包管理器:
using Pkg Pkg.update()
2. 修复系统依赖兼容问题
Arch Linux滚动更新可能导致libcurl、libuv等依赖版本不匹配,先更新系统并重装相关组件:
sudo pacman -Syu sudo pacman -S julia curl libuv
3. 手动处理Makie构建问题
重置环境后如果Makie仍构建失败,尝试指定稳定版本并补全系统图形依赖:
- 在Julia中安装指定版本的Makie并构建:
using Pkg Pkg.add(name="Makie", version="0.20.0") Pkg.build("Makie")
- 安装系统层面的图形依赖:
sudo pacman -S glfw mesa vulkan-icd-loader
4. 排查Python环境冲突
如果修改过Python环境变量或版本,可能影响Julia的PyCall等依赖,重置关联:
using Pkg Pkg.build("PyCall") ENV["PYTHON"] = "" # 让Julia使用自带的Python环境 Pkg.build("PyCall")
内容的提问来源于stack exchange,提问作者Mstislav Keldysh
相关产品推荐
相关产品推荐

