OS Platform and Distribution
Linux Ubuntu 24.04 LTS
Compiler version
Docker build
Programming Language and version
Multiple
Installed using virtualenv? pip? Conda?(if python)
No response
MediaPipe version
0.10.35
Bazel version
No response
XCode and Tulsi versions (if iOS)
No response
Android SDK and NDK versions (if android)
No response
Android AAR (if android)
None
OpenCV version (if running on desktop)
No response
Describe the problem
I am unable to build the docker build for 0.10.35, with Python 3.12. My initial goal was to build with Python 3.14, but that required more edits. The command I have run is: docker build --progress=plain -f Dockerfile.manylinux_2_28_x86_64 -t mp_manylinux . --build-arg "PYTHON_BIN=/opt/python/cp312-cp312/bin/python3.12". The diff I needed to even get this far is pasted and I will attach the full build log.
Complete Logs
$ git diff
diff --git a/Dockerfile.manylinux_2_28_x86_64 b/Dockerfile.manylinux_2_28_x86_64
index 2d14d0e8e..a05529d6a 100644
--- a/Dockerfile.manylinux_2_28_x86_64
+++ b/Dockerfile.manylinux_2_28_x86_64
@@ -29,13 +29,13 @@ FROM quay.io/pypa/manylinux_2_28_x86_64
ARG MEDIAPIPE_DISABLE_GPU=1
ENV MEDIAPIPE_DISABLE_GPU=${MEDIAPIPE_DISABLE_GPU}
-RUN yum install -y java-11-openjdk-devel zip
+RUN yum install -y java-21-openjdk-devel zip
WORKDIR /tmp/bazel_build
ADD https://github.com/bazelbuild/bazel/releases/download/7.4.1/bazel-7.4.1-dist.zip bazel.zip
RUN unzip bazel.zip
RUN rm -f bazel.zip
ENV PATH="/opt/python/cp36-cp36m/bin:${PATH}"
-ENV EXTRA_BAZEL_ARGS="--host_javabase=@local_jdk//:jdk"
+ENV EXTRA_BAZEL_ARGS="--tool_java_runtime_version=local_jdk"
ENV BAZEL_LINKLIBS=-lm:-lstdc++
RUN ./compile.sh
RUN cp /tmp/bazel_build/output/bazel /bin/bazel
@@ -52,8 +52,8 @@ RUN yum install -y mesa-libGL mesa-libGL-devel mesa-libEGL mesa-libEGL-devel
RUN yum install -y mesa-libGLES-devel
# Install Java, zip, emacs, and portaudio.
-RUN yum install -y epel-release && yum install -y java-11-openjdk \
- java-11-openjdk-devel zip emacs portaudio-devel
+RUN yum install -y epel-release && yum install -y java-21-openjdk \
+ java-21-openjdk-devel zip emacs portaudio-devel
# Copy Protobuf Compiler binary
ARG PROTOC_ZIP=protoc-25.1-linux-x86_64.zip
@@ -90,7 +90,7 @@ RUN echo "build --client_env=CC=/usr/lib/llvm-18/bin/clang++" >> .bazelrc && \
sed -i "s|bazel_command.append('--define=OPENCV=source')|pass|g" setup.py
# Apply diff to reduce the number of OpenCV dependencies.
-RUN patch -p1 < mediapipe_python_build.diff
+#RUN patch -p1 < third_party/mediapipe_python_build.diff
ARG PYTHON_BIN="/opt/python/cp312-cp312/bin/python3.12"
RUN $PYTHON_BIN -m pip install --upgrade pip setuptools
Main error at the end of the build log:
#35 5731.0 Computing main repo mapping:
#35 5732.1 Computing main repo mapping:
#35 5732.9 Loading:
#35 5732.9 Loading: 0 packages loaded
#35 5734.4 Loading: 0 packages loaded
#35 5734.4 currently loading: mediapipe/tasks/metadata
#35 5740.7 Loading: 0 packages loaded
#35 5740.7 currently loading: mediapipe/tasks/metadata
#35 5742.4 Loading: 0 packages loaded
#35 5742.4 currently loading: mediapipe/tasks/metadata
#35 5748.3 Loading: 0 packages loaded
#35 5748.3 currently loading: mediapipe/tasks/metadata
#35 5749.4 Loading: 0 packages loaded
#35 5749.4 currently loading: mediapipe/tasks/metadata
#35 5755.7 Loading: 0 packages loaded
#35 5755.7 currently loading: mediapipe/tasks/metadata
#35 5757.4 Loading: 0 packages loaded
#35 5757.4 currently loading: mediapipe/tasks/metadata
#35 5763.3 Loading: 0 packages loaded
#35 5763.3 currently loading: mediapipe/tasks/metadata
#35 5764.4 Loading: 0 packages loaded
#35 5764.4 currently loading: mediapipe/tasks/metadata
#35 5765.4 Loading: 0 packages loaded
#35 5765.4 currently loading: mediapipe/tasks/metadata
#35 5768.7 Loading: 0 packages loaded
#35 5768.7 currently loading: mediapipe/tasks/metadata
#35 5770.4 Loading: 0 packages loaded
#35 5770.4 currently loading: mediapipe/tasks/metadata
#35 5776.2 Loading: 0 packages loaded
#35 5776.2 currently loading: mediapipe/tasks/metadata
#35 5777.4 Loading: 0 packages loaded
#35 5777.4 currently loading: mediapipe/tasks/metadata
#35 5779.9 Loading: 0 packages loaded
#35 5779.9 currently loading: mediapipe/tasks/metadata
#35 5781.4 Loading: 0 packages loaded
#35 5781.4 currently loading: mediapipe/tasks/metadata
#35 5783.7 Loading: 0 packages loaded
#35 5783.7 currently loading: mediapipe/tasks/metadata
#35 5784.8 Analyzing: target //mediapipe/tasks/metadata:image_segmenter_metadata_schema_py (1 packages loaded)
#35 5785.7 Analyzing: target //mediapipe/tasks/metadata:image_segmenter_metadata_schema_py (1 packages loaded, 0 targets configured)
#35 5785.8 Analyzing: target //mediapipe/tasks/metadata:image_segmenter_metadata_schema_py (1 packages loaded, 0 targets configured)
#35 5785.8
#35 5787.0 Analyzing: target //mediapipe/tasks/metadata:image_segmenter_metadata_schema_py (54 packages loaded, 13 targets configured)
#35 5787.0
#35 5788.0 Analyzing: target //mediapipe/tasks/metadata:image_segmenter_metadata_schema_py (73 packages loaded, 870 targets configured)
#35 5788.0
#35 5789.1 Analyzing: target //mediapipe/tasks/metadata:image_segmenter_metadata_schema_py (73 packages loaded, 876 targets configured)
#35 5789.1
#35 5790.2 Analyzing: target //mediapipe/tasks/metadata:image_segmenter_metadata_schema_py (73 packages loaded, 876 targets configured)
#35 5790.2
#35 5791.5 Analyzing: target //mediapipe/tasks/metadata:image_segmenter_metadata_schema_py (78 packages loaded, 905 targets configured)
#35 5791.5
#35 5794.2 Analyzing: target //mediapipe/tasks/metadata:image_segmenter_metadata_schema_py (78 packages loaded, 926 targets configured)
#35 5794.2
#35 5794.9 INFO: Analyzed target //mediapipe/tasks/metadata:image_segmenter_metadata_schema_py (81 packages loaded, 2941 targets configured).
#35 5795.2 [55 / 149] Executing genrule @@flatbuffers//:flatbuffer_py_strip_prefix_python_flatbuffers_builder_py; 0s processwrapper-sandbox ... (13 actions, 10 running)
#35 5796.5 [131 / 175] [Sched] Compiling src/binary_annotator.cpp [for tool] ... (41 actions, 12 running)
#35 5799.3 [131 / 175] [Sched] Compiling src/binary_annotator.cpp [for tool] ... (41 actions, 13 running)
#35 5799.3 ERROR: /root/.cache/bazel/_bazel_root/4884d566396e9b67b62185751879ad14/external/flatbuffers/grpc/src/compiler/BUILD.bazel:101:11: Compiling grpc/src/compiler/swift_generator.cc [for tool] failed: (Exit 1): clang-18 failed: error executing CppCompile command (from target @@flatbuffers//grpc/src/compiler:swift_generator) /usr/lib/llvm-18/bin/clang-18 -U_FORTIFY_SOURCE -fstack-protector -Wall -Wthread-safety -Wself-assign -Wunused-but-set-parameter -Wno-free-nonheap-object -fcolor-diagnostics -fno-omit-frame-pointer -g0 ... (remaining 31 arguments skipped)
#35 5799.3
#35 5799.3 Use --sandbox_debug to see verbose messages from the sandbox and retain the sandbox build root for debugging
#35 5799.3 In file included from external/flatbuffers/grpc/src/compiler/swift_generator.cc:26:
#35 5799.3 In file included from bazel-out/k8-opt-exec-ST-0465588ec812/bin/external/flatbuffers/_virtual_includes/flatbuffers/flatbuffers/util.h:24:
#35 5799.3 bazel-out/k8-opt-exec-ST-0465588ec812/bin/external/flatbuffers/_virtual_includes/flatbuffers/flatbuffers/stl_emulation.h:56:12: fatal error: 'span' file not found
#35 5799.3 56 | #include <span>
#35 5799.3 | ^~~~~~
#35 5799.3 1 error generated.
#35 5799.7 Target //mediapipe/tasks/metadata:image_segmenter_metadata_schema_py failed to build
#35 5799.7 Use --verbose_failures to see the command lines of failed build steps.
#35 5800.5 [172 / 175] checking cached actions
#35 5800.6 INFO: Elapsed time: 5797.935s, Critical Path: 4.23s
#35 5800.6 INFO: 172 processes: 162 internal, 10 processwrapper-sandbox.
#35 5800.6 ERROR: Build did NOT complete successfully
#35 5800.6 Invoking: bazel build --compilation_mode=opt --action_env=PYTHON_BIN_PATH=/opt/python/cp312-cp312/bin/python3.12 //mediapipe/tasks/metadata:image_segmenter_metadata_schema_py --define=MEDIAPIPE_DISABLE_GPU=1
#35 5800.6 Command '['bazel', 'build', '--compilation_mode=opt', '--action_env=PYTHON_BIN_PATH=/opt/python/cp312-cp312/bin/python3.12', '//mediapipe/tasks/metadata:image_segmenter_metadata_schema_py', '--define=MEDIAPIPE_DISABLE_GPU=1']' returned non-zero exit status 1.
#35 ERROR: process "/bin/sh -c ln -sf $PYTHON_BIN /usr/bin/python && ln -sf $PYTHON_BIN /usr/bin/python3 && $PYTHON_BIN setup.py bdist_wheel clean --all" did not complete successfully: exit code: 1
------
> [stage-0 30/32] RUN ln -sf /opt/python/cp312-cp312/bin/python3.12 /usr/bin/python && ln -sf /opt/python/cp312-cp312/bin/python3.12 /usr/bin/python3 && /opt/python/cp312-cp312/bin/python3.12 setup.py bdist_wheel clean --all:
5799.3 | ^~~~~~
5799.3 1 error generated.
5799.7 Target //mediapipe/tasks/metadata:image_segmenter_metadata_schema_py failed to build
5799.7 Use --verbose_failures to see the command lines of failed build steps.
5800.5 [172 / 175] checking cached actions
5800.6 INFO: Elapsed time: 5797.935s, Critical Path: 4.23s
5800.6 INFO: 172 processes: 162 internal, 10 processwrapper-sandbox.
5800.6 ERROR: Build did NOT complete successfully
5800.6 Invoking: bazel build --compilation_mode=opt --action_env=PYTHON_BIN_PATH=/opt/python/cp312-cp312/bin/python3.12 //mediapipe/tasks/metadata:image_segmenter_metadata_schema_py --define=MEDIAPIPE_DISABLE_GPU=1
5800.6 Command '['bazel', 'build', '--compilation_mode=opt', '--action_env=PYTHON_BIN_PATH=/opt/python/cp312-cp312/bin/python3.12', '//mediapipe/tasks/metadata:image_segmenter_metadata_schema_py', '--define=MEDIAPIPE_DISABLE_GPU=1']' returned non-zero exit status 1.
------
Dockerfile.manylinux_2_28_x86_64:98
--------------------
97 | RUN $PYTHON_BIN -m pip install wheel "numpy<2" auditwheel torch pyaudio
98 | >>> RUN ln -sf $PYTHON_BIN /usr/bin/python && \
99 | >>> ln -sf $PYTHON_BIN /usr/bin/python3 && \
100 | >>> $PYTHON_BIN setup.py bdist_wheel clean --all
101 | RUN auditwheel repair dist/*-cp312-cp312-linux_x86_64.whl
--------------------
ERROR: failed to build: failed to solve: process "/bin/sh -c ln -sf $PYTHON_BIN /usr/bin/python && ln -sf $PYTHON_BIN /usr/bin/python3 && $PYTHON_BIN setup.py bdist_wheel clean --all" did not complete successfully: exit code: 1
OS Platform and Distribution
Linux Ubuntu 24.04 LTS
Compiler version
Docker build
Programming Language and version
Multiple
Installed using virtualenv? pip? Conda?(if python)
No response
MediaPipe version
0.10.35
Bazel version
No response
XCode and Tulsi versions (if iOS)
No response
Android SDK and NDK versions (if android)
No response
Android AAR (if android)
None
OpenCV version (if running on desktop)
No response
Describe the problem
I am unable to build the docker build for 0.10.35, with Python 3.12. My initial goal was to build with Python 3.14, but that required more edits. The command I have run is:
docker build --progress=plain -f Dockerfile.manylinux_2_28_x86_64 -t mp_manylinux . --build-arg "PYTHON_BIN=/opt/python/cp312-cp312/bin/python3.12". The diff I needed to even get this far is pasted and I will attach the full build log.Complete Logs
Main error at the end of the build log: