2

I want to install mediapipe on my Mac&Android by following the two tutorials below. https://google.github.io/mediapipe/getting_started/install.html https://google.github.io/mediapipe/getting_started/android.html

So I tried the bazel build command, but I get an error.

I tried the following command.

$ bazel build -c opt --config=android_arm64 mediapipe/examples/android/src/java/com/google/mediapipe/apps/handtrackinggpu:handtrackinggpu

The error message is as follows.

ERROR: /private/var/tmp/_bazel_mac/686390cc5137afebad5267456e3662e5/external/bazel_tools/tools/jdk/BUILD:350:14: Action external/bazel_tools/tools/jdk/platformclasspath.jar failed (Exit 1): java failed: error executing command external/remotejdk11_macos/bin/java -XX:+IgnoreUnrecognizedVMOptions '--add-exports=jdk.compiler/com.sun.tools.javac.platform=ALL-UNNAMED' -cp ... (remaining 4 argument(s) skipped)

The detailed build contents are as follows.

(base) Mac-mini:mediapipe mac$ export ANDROID_HOME=/Users/mac/Library/Android/sdk
(base) Mac-mini:mediapipe mac$ export ANDROID_NDK_HOME=/Users/mac/Library/Android/sdk/ndk/21.4.7075529
(base) Mac-mini:mediapipe mac$ bazel build -c opt --config=android_arm64 mediapipe/examples/android/src/java/com/google/mediapipe/apps/handtrackinggpu:handtrackinggpu
DEBUG: /private/var/tmp/_bazel_mac/686390cc5137afebad5267456e3662e5/external/org_tensorflow/third_party/repo.bzl:109:14: 
Warning: skipping import of repository 'com_google_absl' because it already exists.
DEBUG: /private/var/tmp/_bazel_mac/686390cc5137afebad5267456e3662e5/external/org_tensorflow/third_party/repo.bzl:109:14: 
Warning: skipping import of repository 'com_google_protobuf' because it already exists.
DEBUG: /private/var/tmp/_bazel_mac/686390cc5137afebad5267456e3662e5/external/org_tensorflow/third_party/repo.bzl:109:14: 
Warning: skipping import of repository 'com_google_googletest' because it already exists.
DEBUG: /private/var/tmp/_bazel_mac/686390cc5137afebad5267456e3662e5/external/org_tensorflow/third_party/repo.bzl:109:14: 
Warning: skipping import of repository 'com_github_gflags_gflags' because it already exists.
DEBUG: /private/var/tmp/_bazel_mac/686390cc5137afebad5267456e3662e5/external/org_tensorflow/third_party/repo.bzl:109:14: 
Warning: skipping import of repository 'build_bazel_rules_apple' because it already exists.
DEBUG: /private/var/tmp/_bazel_mac/686390cc5137afebad5267456e3662e5/external/org_tensorflow/third_party/repo.bzl:109:14: 
Warning: skipping import of repository 'build_bazel_rules_swift' because it already exists.
DEBUG: /private/var/tmp/_bazel_mac/686390cc5137afebad5267456e3662e5/external/org_tensorflow/third_party/repo.bzl:109:14: 
Warning: skipping import of repository 'build_bazel_apple_support' because it already exists.
DEBUG: /private/var/tmp/_bazel_mac/686390cc5137afebad5267456e3662e5/external/org_tensorflow/third_party/repo.bzl:109:14: 
Warning: skipping import of repository 'bazel_skylib' because it already exists.
DEBUG: /private/var/tmp/_bazel_mac/686390cc5137afebad5267456e3662e5/external/org_tensorflow/third_party/repo.bzl:109:14: 
Warning: skipping import of repository 'pybind11' because it already exists.
INFO: Build options --compilation_mode, --cpu, --crosstool_top, and 3 more have changed, discarding analysis cache.
WARNING: API level 30 specified by android_ndk_repository 'androidndk' is not available. Using latest known API level 29
DEBUG: Rule 'android_opencv' indicated that a canonical reproducible form can be obtained by modifying arguments sha256 = "cdb0e190c3734edd4052a3535d9e4310af912a9f70a421b1621711942a1028d5"
DEBUG: Repository android_opencv instantiated at:
  /Users/mac/mediapipe/WORKSPACE:218:13: in <toplevel>
Repository rule http_archive defined at:
  /private/var/tmp/_bazel_mac/686390cc5137afebad5267456e3662e5/external/bazel_tools/tools/build_defs/repo/http.bzl:336:31: in <toplevel>
INFO: Analyzed target //mediapipe/examples/android/src/java/com/google/mediapipe/apps/handtrackinggpu:handtrackinggpu (0 packages loaded, 18053 targets configured).
INFO: Found 1 target...
ERROR: /private/var/tmp/_bazel_mac/686390cc5137afebad5267456e3662e5/external/bazel_tools/tools/jdk/BUILD:350:14: Action external/bazel_tools/tools/jdk/platformclasspath.jar failed (Exit 1): java failed: error executing command external/remotejdk11_macos/bin/java -XX:+IgnoreUnrecognizedVMOptions '--add-exports=jdk.compiler/com.sun.tools.javac.platform=ALL-UNNAMED' -cp ... (remaining 4 argument(s) skipped)

Use --sandbox_debug to see verbose messages from the sandbox java failed: error executing command external/remotejdk11_macos/bin/java -XX:+IgnoreUnrecognizedVMOptions '--add-exports=jdk.compiler/com.sun.tools.javac.platform=ALL-UNNAMED' -cp ... (remaining 4 argument(s) skipped)

Use --sandbox_debug to see verbose messages from the sandbox
Exception in thread "main" java.lang.IllegalArgumentException: external/local_jdk
    at jdk.compiler/com.sun.tools.javac.file.Locations$SystemModulesLocationHandler.update(Locations.java:1853)
    at jdk.compiler/com.sun.tools.javac.file.Locations$SystemModulesLocationHandler.handleOption(Locations.java:1798)
    at jdk.compiler/com.sun.tools.javac.file.Locations.handleOption(Locations.java:2062)
    at jdk.compiler/com.sun.tools.javac.file.BaseFileManager.handleOption(BaseFileManager.java:269)
    at jdk.compiler/com.sun.tools.javac.file.BaseFileManager$2.handleFileManagerOption(BaseFileManager.java:222)
    at jdk.compiler/com.sun.tools.javac.main.Option.process(Option.java:1138)
    at jdk.compiler/com.sun.tools.javac.main.Option.handleOption(Option.java:1086)
    at jdk.compiler/com.sun.tools.javac.file.BaseFileManager.handleOption(BaseFileManager.java:232)
    at jdk.compiler/com.sun.tools.javac.main.Arguments.doProcessArgs(Arguments.java:390)
    at jdk.compiler/com.sun.tools.javac.main.Arguments.processArgs(Arguments.java:347)
    at jdk.compiler/com.sun.tools.javac.main.Arguments.init(Arguments.java:246)
    at jdk.compiler/com.sun.tools.javac.api.JavacTool.getTask(JavacTool.java:185)
    at DumpPlatformClassPath.dumpJDK9AndNewerBootClassPath(DumpPlatformClassPath.java:106)
    at DumpPlatformClassPath.main(DumpPlatformClassPath.java:67)
Target //mediapipe/examples/android/src/java/com/google/mediapipe/apps/handtrackinggpu:handtrackinggpu failed to build
Use --verbose_failures to see the command lines of failed build steps.
INFO: Elapsed time: 2.900s, Critical Path: 0.73s
INFO: 129 processes: 129 internal.
FAILED: Build did NOT complete successfully

I've tried everything, but the bazel build doesn't work and I can't install mediapipe. What should I do?

Any help is welcome.

pekochun
  • 487
  • 1
  • 3
  • 14

0 Answers0