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

Linux aarch64架构下Miniconda环境多包触发Illegal instruction问题求助

解决aarch64架构下conda环境Illegal instruction (core dumped)错误

核心原因

conda-forge提供的预编译TensorFlow、NumPy等包,可能包含当前aarch64设备不支持的CPU指令集(如高级NEON扩展);同时你使用的Miniconda 4.9.2版本较老,在aarch64架构上的包兼容性存在缺陷。

解决步骤

1. 升级Miniconda至最新版本

先修复老版本conda的兼容性问题:

# 激活base环境
source /home/su/miniconda3/bin/activate base
# 升级conda核心组件
conda update -n base -c defaults conda -y

2. 重建环境并重新安装兼容包

删除原有环境,重新创建后安装指令集匹配的预编译包:

# 删除旧环境
conda remove -n myenv --all -y
# 创建新的Python3.8环境
conda create -n myenv python=3.8 -y
# 激活环境
conda activate myenv
# 强制重新安装指定版本的包,优先选择aarch64兼容构建
conda install -c conda-forge tensorflow=2.8.2 numpy=1.21.5 keras=2.8.0 --force-reinstall -y

如果仍报错,尝试降级NumPy到1.20.x版本(该版本对旧aarch64设备兼容性更好):

conda install -c conda-forge numpy=1.20.3 -y

3. 针对当前设备源码编译(终极方案)

若预编译包均不兼容,直接针对设备指令集从源码编译:

  • 先安装编译依赖:
conda install -c conda-forge gcc gfortran make cmake -y
  • 编译NumPy:
pip uninstall numpy -y
git clone https://github.com/numpy/numpy.git
cd numpy
git checkout v1.21.5
python setup.py build --fcompiler=gnu95 install
  • 编译TensorFlow:
pip uninstall tensorflow keras -y
git clone https://github.com/tensorflow/tensorflow.git
cd tensorflow
git checkout v2.8.2
# 配置编译选项,根据提示禁用当前设备不支持的指令集
./configure
# 开始编译(耗时较长,需根据设备性能调整并行数)
bazel build --config=opt //tensorflow/tools/pip_package:build_pip_package
# 生成并安装pip包
./bazel-bin/tensorflow/tools/pip_package/build_pip_package /tmp/tensorflow_pkg
pip install /tmp/tensorflow_pkg/tensorflow-*.whl

4. 验证设备指令集支持

通过以下命令查看当前设备支持的CPU指令集,确认包依赖的指令集是否匹配:

cat /proc/cpuinfo | grep Features

如果输出中缺少neon等关键指令集,说明预编译包不兼容,必须通过源码编译并禁用对应指令。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.23 00:54:31