如何解决树莓派 Bullseye 中的“导入错误:/lib/arm-linux-gnueabihf/libstdc++.so.6:版本‘GLIBCXX_3.4.29’未找到”

问题描述 投票:0回答:3

嗨,我正在尝试测试张量流视频分类教程。这是链接。安装完所有依赖项后,我遇到了问题你能给我建议一个解决方案吗?

我已经尝试了一些关于此事的方法,但它对我不起作用。 链接

c++ tensorflow raspberry-pi tensorflow-lite
3个回答
5
投票

TL;博士

降级需要这个GLIBCXX_3.4.29的pip包

更长的答案

嗨,我遇到了同样的问题,尽管它是来自

examples
git 存储库的图像分类(而不是您的情况下的视频分类)。在我的堆栈跟踪中,它指出
tflite_support
是需要
GLIBCXX_3.4.29
的那个,它比 Raspberry Pi Bullseye 中存在的内容更新。

我可以通过使用以下命令将这个

tflite_support
从版本0.4.4降级到0.4.3来解决问题:

python -m pip install --upgrade tflite-support==0.4.3

我希望它可以帮助更多人。读取堆栈跟踪并降级需要 GLIBCXX_3.4.29 的 pip 包。

要列出软件包及其版本(在虚拟环境中本地安装),请运行以下命令:

pip list -l

我的堆栈跟踪

Traceback (most recent call last):
  File "/home/mirontoli/examples/lite/examples/image_classification/raspberry_pi/classify.py", line 21, in <module>
    from tflite_support.task import core
  File "/home/mirontoli/.local/lib/python3.9/site-packages/tflite_support/__init__.py", line 48, in <module>
    from tensorflow_lite_support.metadata.python import metadata
  File "/home/mirontoli/.local/lib/python3.9/site-packages/tensorflow_lite_support/metadata/python/metadata.py", line 30, in <module>
    from tensorflow_lite_support.metadata.cc.python import _pywrap_metadata_version
ImportError: /lib/arm-linux-gnueabihf/libstdc++.so.6: version `GLIBCXX_3.4.29' not found (required by /home/mirontoli/.local/lib/python3.9/site-packages/tensorflow_lite_support/metadata/cc/python/_pywrap_metadata_version.so)

我的工作 pip 包列表(截至 2023-07-13,Raspberry pi 3 model b,bullseye 32bit):

Package        Version
-------------- --------------
absl-py        1.4.0
cffi           1.15.1
flatbuffers    20181003210633
numpy          1.25.1
opencv-python  4.5.3.56
picamera       1.13
pip            23.1.2
protobuf       3.20.3
pybind11       2.10.4
pycparser      2.21
setuptools     67.8.0
sounddevice    0.4.6
tflite-runtime 2.13.0
tflite-support 0.4.3
wheel          0.40.0

1
投票

太棒了,这对我有用!尽管我还必须执行降级 tflte-runtime 的额外步骤。所以我所做的是:

python -m pip install --upgrade tflite-support==0.4.2
python -m pip install --upgrade tflite-runtime==2.11.0

0
投票

在进行上述两次升级之前,就我而言(带有 Buster-64 位的 RPi4b),有必要将 Python3 设置为默认值。如果不这样做,Python2 是默认的,并且与“tflite-support==0.4.2”和“tflite-runtime==2.11.0”没有关系。

© www.soinside.com 2019 - 2024. All rights reserved.