[PYTHON]cv2.cpython-37m-arm-linux-gnueabihf.so: undefined symbol: __atomic_fetch_add_8

在 PI3 上安裝PYTHON3 的 OPENCV 後,從 Python3 去執行 import cv2 時會出現下面的錯誤訊息

pi@raspberrypi:~ $ python3.7
Python 3.7.3 (default, Dec 20 2019, 18:57:59)
[GCC 8.3.0] on linux
Type “help", “copyright", “credits" or “license" for more information.
>>> import cv2
Traceback (most recent call last):
   File “<stdin>", line 1, in <module>
   File “/usr/local/lib/python3.7/dist-packages/cv2/__init__.py", line 3, in <module>
     from .cv2 import *
ImportError: /usr/local/lib/python3.7/dist-packages/cv2/cv2.cpython-37m-arm-linux-gnueabihf.so: undefined symbol: __atomic_fetch_add_8
>>>

執行載入文件

export LD_PRELOAD=/usr/lib/arm-linux-gnueabihf/libatomic.so.1

root@raspberrypi:/home/pi# python3
Python 3.4.3 |Continuum Analytics, Inc.| (default, Aug 21 2015, 00:53:08)
[GCC 4.6.3] on linux
Type “help", “copyright", “credits" or “license" for more information.
>>> import cv2
Traceback (most recent call last):
   File “<stdin>", line 1, in <module>
ImportError: No module named ‘cv2’
>>>
KeyboardInterrupt
>>>
root@raspberrypi:/home/pi# python3.7
Python 3.7.3 (default, Dec 20 2019, 18:57:59)
[GCC 8.3.0] on linux
Type “help", “copyright", “credits" or “license" for more information.
>>> import cv2
>>> cv2.__version__
‘4.1.1’
>>>

問題已解決

將PATH加入到./bashrc

vi ~./bashrc
加入export LD_PRELOAD=/usr/lib/arm-linux-gnueabihf/libatomic.so.1
讓每次啟動都去行加載這個 PATH

image

發表迴響

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com 標誌

您的留言將使用 WordPress.com 帳號。 登出 /  變更 )

Google photo

您的留言將使用 Google 帳號。 登出 /  變更 )

Twitter picture

您的留言將使用 Twitter 帳號。 登出 /  變更 )

Facebook照片

您的留言將使用 Facebook 帳號。 登出 /  變更 )

連結到 %s