mediapipe 库无法在 High Sierra 上构建

问题描述

我正在尝试在运行 High Sierra 的 MacBook Pro 上使用 gcc ver 11.1.0 和 bazel ver 3.7.2 编译 mediapipe 库的最新版本 (v0.8.5)。

按照 mediapipe GitHub 站点上提到的所有安装步骤进行操作后,我能够成功运行 HelloWorld 示例,如下所示。

  int result = await audioPlayer.seek(Duration(milliseconds: 1200));

然后,我按照步骤运行 YouTube-8M 特征提取图,当我尝试运行 mediapipe 二进制文件提取如下特征时,编译失败。

bazel run --define MEDIAPIPE_disABLE_GPU=1 \
    mediapipe/examples/desktop/hello_world:hello_world

我得到的错误如下

bazel build -c opt --linkopt=-s \
  --define MEDIAPIPE_disABLE_GPU=1 --define no_aws_support=true \
  mediapipe/examples/desktop/youtube8m:extract_yt8m_features

有人可以帮忙提供解决此问题的方法吗?

我尝试使用较旧的 gcc 版本 - 10 和 4 - 但没有成功。我也尝试使用旧版本的 mediapipe 0.8.1 再次没有成功。

安装步骤中提到的所有必需的 python 库也已安装。

解决方法

TL;DR - MediaPipe 不支持 High Sierra


我在尝试在 High Sierra (10.13.6) 上安装 MediaPipe 时也遇到了很多问题,详见我的博客 MediaPipe install fails on OS X。这些问题在 2010 年和 2011 年的 MacBook Pro 上都存在(仅限于 High Sierra (10.13.6))。

为了运行与 MediaPipe 兼容的 OS X 版本,我不得不购买 稍微更新的 2012 MBP (13" i7) - 运行 Mavericks (10.14) 和 Catalina (10.15)。

显然 MediaPipe 仅适用于 Catalina 10.15.x 及更高版本,请参阅:

来自this post

MediaPipe PyPI 支持 macOS 10.15 及更高版本。见https://github.com/google/mediapipe/blob/master/docs/getting_started/troubleshooting.md#python-pip-install-failure

但是,您可以使用 High Sierra 上的 Docker 映像 - 再次来自我的博客:

还有用于 mediapipe 的 Docker 安装,请参阅 Installing using Docker。另见Docker for High Sierra