【解决】torch引入过程中的ImportError: __nvJitLinkAddData_12_1, version libnvJitLink.so.12

发布于:2025-05-01 ⋅ 阅读:(20) ⋅ 点赞:(0)

大纲

本文记录在环境配置好后,在 import torch 过程中报了 异常

ImportError: /home/Coding/Envs/envs/only_test/lib/python3.10/site-packages/torch/lib/../../nvidia/cusparse/lib/libcusparse.so.12: undefined symbol: __nvJitLinkAddData_12_1, version libnvJitLink.so.12

 原因剖析

出现此情况的原因主要是pytorch依赖没有正确链接,使用命令

ldd /home/.venv/lib/python3.10/site-packages/torch/lib/../../nvidia/cusparse/lib/libcusparse.so.12

 明显看出 libnvJitLink.so.12 使用的是系统 nvidia 驱动自带的链接文件,由于程序安装过程中,在环境中下载了虚拟环境适配的 nvidia 相关文件,所以此处在 import torch 时 出现了import error 主要是链接文件出了问题

修改链接文件 

1 找到虚拟环境对应的 nvidia 文件夹

cd /home/condaPath/envs/envName/lib/python3.10/site-packages/nvidia

这里主要关注带箭头的两个文件夹 

 其中 nvjitlink 文件夹中为上述的   libnvJitLink.so.12 所在目录

cd nvjitlink/

 cd lib

为安全起见 将在 nvjitlink 中的 libnvJitLink.so.12 链接源文件 建立软连接,指向 cusparse 文件夹 ln -s 源 目标

ln -s /home/condaPath/envs/envName/lib/python3.10/site-packages/nvidia/nvjitlink/lib/libnvJitLink.so.12 /home/condaPath/envs/envName/lib/python3.10/site-packages/nvidia/cusparse/lib/libnvJitLink.so.12

 

2 然后将该软连接建立环境的动态链接

export LD_LIBRARY_PATH=/home/condaPath/envs/envName/lib/python3.10/site-packages/nvidia/cusparse/lib:$LD_LIBRARY_PATH

 上述操作完成,该问题即可解决。可以使用 import torch 做测试。

 

 

 


网站公告

今日签到

点亮在社区的每一天
去签到