报错cannot allocate memory in static TLS block
Traceback (most recent call last):
File “om_infer_2.py”, line 22, in
import cv2
File “/usr/local/lib/python3.8/dist-packages/cv2/init.py”, line 181, in
bootstrap()
File “/usr/local/lib/python3.8/dist-packages/cv2/init.py”, line 153, in bootstrap
native_module = importlib.import_module(“cv2”)
File “/usr/lib/python3.8/importlib/init.py”, line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
ImportError: /lib/aarch64-linux-gnu/libGLdispatch.so.0: cannot allocate memory in static TLS block
错误大概是在导入cv2时报错,无法正确分配内存,原因是找不到相应的.so文件。
解决办法是将相应的.so文件添加到环境变量中,参考一个类似的报错。为了永久解决,直接修改.bashrc文件。
vim ~/.bashrc
在文件末尾添加
export LD_PRELOAD=/lib/aarch64-linux-gnu/libGLdispatch.so.0
刷新
source ~/.bashrc