导入torch报错:ImportError: libtorch_cpu.so: cannot enable executable stack as shared object requires: Invalid argument解决方法
问题描述
使用Conda部署PyTorch环境的时候,发现torch包无法导入,导入会报错,错误如下:
1 | |
问题原因
cannot enable executable stack as shared object requires: Invalid argument错误出现的原因是glibc 2.40及更高版本引入了一项安全变更,导致系统不再允许某些共享库(.so文件)启用可执行栈。
简单来说,可以这样理解:你的Linux系统更新了核心库glibc,它现在会对所有共享库进行更严格的检查。如果一个共享库被标记为“需要可执行栈”(这通常是老旧的程序或编译时的问题),新版的glibc会直接拒绝加载并报出你看到的这个错误,而不是像以前那样悄悄允许,以此来防范潜在的安全风险。
解决方法
推荐的解决方法是用patchelf工具对出现错误的库进行处理:
1 | |
将路径替换为你的libtorch_cpu.so的实际路径,执行命令后,import torch报错的问题应该可以得到解决。
导入torch报错:ImportError: libtorch_cpu.so: cannot enable executable stack as shared object requires: Invalid argument解决方法
https://blog.kitramgp.cn/2026/03/08/torch-libtorch-error/