安装Wan 2.1遇flash_attn报错:failed to map segment from shared object
解决flash_attn安装时torch共享库映射失败的问题
以下是几种可行的解决方向:
1. 检查并补充内存/交换空间
远程服务器内存不足时,加载大体积共享库极易出现映射失败:
- 用
free -h查看当前内存与交换空间使用状态 - 若交换空间不足,临时创建交换文件应急:
安装完成后可执行sudo fallocate -l 4G /swapfile sudo chmod 600 /swapfile sudo mkswap /swapfile sudo swapon /swapfilesudo swapoff /swapfile && sudo rm /swapfile清理临时交换文件
2. 重新安装完整适配的torch版本
当前torch可能存在安装损坏或版本不兼容问题:
- 先卸载现有torch组件:
pip uninstall -y torch torchvision torchaudio - 根据服务器CUDA版本重新安装对应torch(以CUDA 11.8为例):
pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118 - 安装完成后运行
python -c "import torch; print(torch.cuda.is_available())"验证torch是否能正常加载
3. 改用预编译版本安装flash_attn
跳过源码编译步骤,直接安装兼容的预编译wheel包:
- 指定版本并禁用编译隔离:
pip install flash-attn==2.8.0.post2 --no-build-isolation - 或直接安装适配当前环境的最新兼容版本:
pip install flash-attn --no-build-isolation --upgrade
4. 确认临时目录的权限与可用空间
即使调整过TMPDIR,也需再次验证目标目录状态:
- 指定用户目录下的自定义临时目录:
export TMPDIR=/home/jagar005/dev/custom_tmp mkdir -p $TMPDIR pip install -r requirements.txt - 用
df -h $TMPDIR检查目录剩余空间,确保至少有10G以上可用
5. 临时禁用LD_PRELOAD环境变量
服务器若设置了LD_PRELOAD,可能干扰共享库的正常加载:
- 执行以下命令后重新安装:
unset LD_PRELOAD pip install -r requirements.txt
内容的提问来源于stack exchange,提问作者easythrees
相关产品推荐
相关产品推荐

