最近在做项目时,在centos服务器上提示导入opencv包“ImportError: dlopen: cannot load any more object with static TLS”,在网上参考了很多方法,其中有把包换名字顺序导入的,但是我试了都不行,最后在一台能跑相同代码的华为云服务器(系统为Ubuntu)上检查了一下glibc还有gcc的版本,在对gcc还有glibc进行升级后问题解决
检查gcc版本
cd /usr/lib64
gcc -v
检查glibc版本
strings /lib64/libc.so.6 | grep GLIBC
其实我想说的是有时候换包顺序并不能解决问题,导入静态TLS本质上还是系统的问题,在参考文章(参考链接:升级gcc和glibc)对这些包进行升级之后最后成功解决,代码也能正常的运行起来了!!
最后感谢这位大佬提供的升级方法!!