Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Bazel build failed in Android Studio #38

Closed
guojunyao419 opened this issue Aug 21, 2019 · 9 comments
Closed

Bazel build failed in Android Studio #38

guojunyao419 opened this issue Aug 21, 2019 · 9 comments

Comments

@guojunyao419
Copy link

Hi, I followed the installation instruction of "Setting up Android Studio with MediaPipe". When I imported the bazel project, bazel build failed in Android Studio.

Android Studio: 3.5
SDK Platform 28
NDK 20.0.5594570
SDK Tools 26.1.1
SDK Platform-Tools 29.0.2
SDK Build-Tools 28.0.3

The following are the errors reported in the Bazel Console in Android Studio:
ERROR: /private/var/tmp/_bazel_junyaoguo/fd64e915985bd32c3dd281a6a4d37a1c/external/androidsdk/BUILD.bazel:8:1: in @intellij_aspect//:intellij_info_bundled.bzl%intellij_info_aspect aspect on android_sdk rule @androidsdk//:sdk-28:
Traceback (most recent call last):
File"/private/var/tmp/_bazel_junyaoguo/fd64e915985bd32c3dd281a6a4d37a1c/external/androidsdk/BUILD.bazel", line 8
@intellij_aspect//:intellij_info_bundled.bzl%intellij_info_aspect(...)

File"/private/var/tmp/_bazel_junyaoguo/fd64e915985bd32c3dd281a6a4d37a1c/external/intellij_aspect/intellij_info_bundled.bzl", line 54, in _aspect_impl
intellij_info_aspect_impl(target, ctx, semantics)

File"/private/var/tmp/_bazel_junyaoguo/fd64e915985bd32c3dd281a6a4d37a1c/external/intellij_aspect/intellij_info_impl.bzl", line 896, in intellij_info_aspect_impl
collect_android_sdk_info(ctx, ide_info, ide_info_file, output_g...)

File"/private/var/tmp/_bazel_junyaoguo/fd64e915985bd32c3dd281a6a4d37a1c/external/intellij_aspect/intellij_info_impl.bzl", line 743, in collect_android_sdk_info
list(ctx.rule.attr.android_jar.files)
type 'depset' is not iterable. Use the to_list() method to get a list. Use --incompatible_depset_is_not_iterable=false to temporarily disable this check.

ERROR: /Users/junyaoguo/Documents/SVL_Projects/mediapipe/mediapipe/java/com/google/mediapipe/components/BUILD:60:1: no such package 'third_party/java/jsr305_annotations': BUILD file not found in any of the following directories.

  • /Users/junyaoguo/Documents/SVL_Projects/mediapipe/third_party/java/jsr305_annotations and referenced by '//mediapipe/java/com/google/mediapipe/components:android_microphone_helper'
    WARNING: errors encountered while analyzing target '//mediapipe/java/com/google/mediapipe/components:android_microphone_helper': it will not be built

Screen Shot 2019-08-21 at 3 10 21 PM

Also, I can't run the example on Android phone as instructed in the last step (step 8) in the installation manual. Could you please take a look?Thanks.

@jiuqiant
Copy link
Contributor

For the build error, the error message suggests that you need to append --incompatible_depset_is_not_iterable=false to the build command.

Please do

$ bazel clean --expunge
$ bazel build -c opt --config=android_arm64 --incompatible_depset_is_not_iterable=false mediapipe/examples/android/src/java/com/google/mediapipe/apps/handtrackinggpu

I also recommend that you keep the version of your SDK Platform, SDK Platform-Tools, and SDK Build-Tools in sync, either 28 or 29.

Moreover, can you report what error you encounter in step 8?

@guojunyao419
Copy link
Author

@jiuqiant Thank you so much for your prompt reply. I can build the app successfully using bazel in command line. It's just in the Android Studio, when I import the entire mediapipe workspace, the above error occurs. I can also implement step 8 successfully. Then I guess the above error in Android Studio console shouldn't matter that much, as I can successfully build and run the apps on Android phone, right?

@orgicus
Copy link

orgicus commented Aug 22, 2019

Hi @jiuqiant and team,

First off, this by far one of the best documented open source google projects I've been 👏
Also, needless to say, really impressive computer vision algorithms, supported on so many platforms !

That being said, I've gone through a number of markdown files in the docs folder first, but I'm still stuck with android build errors very similar to guojunyao419.

I've updated Android Studio to 3.5 stable, installed the Android SDK/NDK/bazel plugin/etc. as per Setting up Android SDK and NDK install notes and eagerly tried to compile the handtracking example, but ran into errors.

I've tried bazel clean --expunge, but still had errors:

gp:mediapipe George$ bazel clean --expunge
INFO: Starting clean.
gp:mediapipe George$ bazel build -c opt --config=android_arm64 mediapipe/examples/android/src/java/com/google/mediapipe/apps/edgedetectiongpu
Starting local Bazel server and connecting to it...
DEBUG: Rule 'build_bazel_rules_apple' modified arguments {"commit": "6c9fcae7a3597aabd43f28be89466afe0eab18de", "shallow_since": "1565379803 -0700"} and dropped ["tag"]
ERROR: /private/var/tmp/_bazel_George/175af2d4352cd903fbaf66a4920193e6/external/build_bazel_rules_apple/apple/internal/transition_support.bzl:73:26: transition() is experimental and disabled by default. This API is in development and subject to change at any time. Use --experimental_starlark_config_transitions to use this experimental API.
ERROR: /Users/George/Downloads/Grouped/cv/mediapipe/mediapipe/java/com/google/mediapipe/framework/jni/BUILD:27:1: error loading package 'mediapipe/gpu': in /private/var/tmp/_bazel_George/175af2d4352cd903fbaf66a4920193e6/external/build_bazel_rules_apple/apple/ios.bzl: in /private/var/tmp/_bazel_George/175af2d4352cd903fbaf66a4920193e6/external/build_bazel_rules_apple/apple/internal/ios_rules.bzl: in /private/var/tmp/_bazel_George/175af2d4352cd903fbaf66a4920193e6/external/build_bazel_rules_apple/apple/internal/rule_support.bzl: Extension file 'apple/internal/transition_support.bzl' has errors and referenced by '//mediapipe/java/com/google/mediapipe/framework/jni:mediapipe_framework_jni'
ERROR: /Users/George/Downloads/Grouped/cv/mediapipe/mediapipe/java/com/google/mediapipe/framework/jni/BUILD:27:1: error loading package 'mediapipe/gpu': in /private/var/tmp/_bazel_George/175af2d4352cd903fbaf66a4920193e6/external/build_bazel_rules_apple/apple/ios.bzl: in /private/var/tmp/_bazel_George/175af2d4352cd903fbaf66a4920193e6/external/build_bazel_rules_apple/apple/internal/ios_rules.bzl: in /private/var/tmp/_bazel_George/175af2d4352cd903fbaf66a4920193e6/external/build_bazel_rules_apple/apple/internal/rule_support.bzl: Extension file 'apple/internal/transition_support.bzl' has errors and referenced by '//mediapipe/java/com/google/mediapipe/framework/jni:mediapipe_framework_jni'
ERROR: /Users/George/Downloads/Grouped/cv/mediapipe/mediapipe/java/com/google/mediapipe/framework/jni/BUILD:27:1: error loading package 'mediapipe/gpu': in /private/var/tmp/_bazel_George/175af2d4352cd903fbaf66a4920193e6/external/build_bazel_rules_apple/apple/ios.bzl: in /private/var/tmp/_bazel_George/175af2d4352cd903fbaf66a4920193e6/external/build_bazel_rules_apple/apple/internal/ios_rules.bzl: in /private/var/tmp/_bazel_George/175af2d4352cd903fbaf66a4920193e6/external/build_bazel_rules_apple/apple/internal/rule_support.bzl: Extension file 'apple/internal/transition_support.bzl' has errors and referenced by '//mediapipe/java/com/google/mediapipe/framework/jni:mediapipe_framework_jni'
ERROR: Analysis of target '//mediapipe/examples/android/src/java/com/google/mediapipe/apps/edgedetectiongpu:edgedetectiongpu' failed; build aborted: error loading package 'mediapipe/gpu': in /private/var/tmp/_bazel_George/175af2d4352cd903fbaf66a4920193e6/external/build_bazel_rules_apple/apple/ios.bzl: in /private/var/tmp/_bazel_George/175af2d4352cd903fbaf66a4920193e6/external/build_bazel_rules_apple/apple/internal/ios_rules.bzl: in /private/var/tmp/_bazel_George/175af2d4352cd903fbaf66a4920193e6/external/build_bazel_rules_apple/apple/internal/rule_support.bzl: Extension file 'apple/internal/transition_support.bzl' has errors
INFO: Elapsed time: 24.968s
INFO: 0 processes.
FAILED: Build did NOT complete successfully (48 packages loaded, 548 targets configured)
    currently loading: mediapipe/gpu ... (4 packages)
    Fetching @remotejdk10_macos; fetching
    Fetching @maven; fetching
    Fetching @com_google_protobuf; fetching
    Fetching @android_opencv; fetching
gp:mediapipe George$ bazel run --define MEDIAPIPE_DISABLE_GPU=1 \
>     mediapipe/examples/desktop/hello_world:hello_world
DEBUG: Rule 'build_bazel_rules_apple' modified arguments {"commit": "6c9fcae7a3597aabd43f28be89466afe0eab18de", "shallow_since": "1565379803 -0700"} and dropped ["tag"]
INFO: Build options --compilation_mode, --cpu, --crosstool_top, and 4 more have changed, discarding analysis cache.
ERROR: /private/var/tmp/_bazel_George/175af2d4352cd903fbaf66a4920193e6/external/build_bazel_rules_apple/apple/internal/transition_support.bzl:73:26: transition() is experimental and disabled by default. This API is in development and subject to change at any time. Use --experimental_starlark_config_transitions to use this experimental API.
ERROR: /Users/George/Downloads/Grouped/cv/mediapipe/mediapipe/framework/BUILD:416:1: error loading package 'mediapipe/gpu': in /private/var/tmp/_bazel_George/175af2d4352cd903fbaf66a4920193e6/external/build_bazel_rules_apple/apple/ios.bzl: in /private/var/tmp/_bazel_George/175af2d4352cd903fbaf66a4920193e6/external/build_bazel_rules_apple/apple/internal/ios_rules.bzl: in /private/var/tmp/_bazel_George/175af2d4352cd903fbaf66a4920193e6/external/build_bazel_rules_apple/apple/internal/rule_support.bzl: Extension file 'apple/internal/transition_support.bzl' has errors and referenced by '//mediapipe/framework:calculator_graph'
ERROR: /Users/George/Downloads/Grouped/cv/mediapipe/mediapipe/framework/BUILD:416:1: error loading package 'mediapipe/gpu': in /private/var/tmp/_bazel_George/175af2d4352cd903fbaf66a4920193e6/external/build_bazel_rules_apple/apple/ios.bzl: in /private/var/tmp/_bazel_George/175af2d4352cd903fbaf66a4920193e6/external/build_bazel_rules_apple/apple/internal/ios_rules.bzl: in /private/var/tmp/_bazel_George/175af2d4352cd903fbaf66a4920193e6/external/build_bazel_rules_apple/apple/internal/rule_support.bzl: Extension file 'apple/internal/transition_support.bzl' has errors and referenced by '//mediapipe/framework:calculator_graph'
ERROR: Analysis of target '//mediapipe/examples/desktop/hello_world:hello_world' failed; build aborted: error loading package 'mediapipe/gpu': in /private/var/tmp/_bazel_George/175af2d4352cd903fbaf66a4920193e6/external/build_bazel_rules_apple/apple/ios.bzl: in /private/var/tmp/_bazel_George/175af2d4352cd903fbaf66a4920193e6/external/build_bazel_rules_apple/apple/internal/ios_rules.bzl: in /private/var/tmp/_bazel_George/175af2d4352cd903fbaf66a4920193e6/external/build_bazel_rules_apple/apple/internal/rule_support.bzl: Extension file 'apple/internal/transition_support.bzl' has errors
INFO: Elapsed time: 1.544s
INFO: 0 processes.
FAILED: Build did NOT complete successfully (5 packages loaded, 52 targets configured)
FAILED: Build did NOT complete successfully (5 packages loaded, 52 targets configured)
    currently loading: mediapipe/gpu ... (2 packages)
    Fetching @com_google_absl; fetching

I get a similar error compiling the hello world example:

gp:mediapipe George$ bazel clean --expunge
INFO: Starting clean.
^[[Agp:mediapipe Geor
gp:mediapipe George$ bazel run --define MEDIAPIPE_DISABLE_GPU=1     mediapipe/examples/desktop/hello_world:hello_world
Starting local Bazel server and connecting to it...
DEBUG: Rule 'build_bazel_rules_apple' modified arguments {"commit": "6c9fcae7a3597aabd43f28be89466afe0eab18de", "shallow_since": "1565379803 -0700"} and dropped ["tag"]
ERROR: /private/var/tmp/_bazel_George/175af2d4352cd903fbaf66a4920193e6/external/build_bazel_rules_apple/apple/internal/transition_support.bzl:73:26: transition() is experimental and disabled by default. This API is in development and subject to change at any time. Use --experimental_starlark_config_transitions to use this experimental API.
ERROR: /Users/George/Downloads/Grouped/cv/mediapipe/mediapipe/framework/BUILD:416:1: error loading package 'mediapipe/gpu': in /private/var/tmp/_bazel_George/175af2d4352cd903fbaf66a4920193e6/external/build_bazel_rules_apple/apple/ios.bzl: in /private/var/tmp/_bazel_George/175af2d4352cd903fbaf66a4920193e6/external/build_bazel_rules_apple/apple/internal/ios_rules.bzl: in /private/var/tmp/_bazel_George/175af2d4352cd903fbaf66a4920193e6/external/build_bazel_rules_apple/apple/internal/rule_support.bzl: Extension file 'apple/internal/transition_support.bzl' has errors and referenced by '//mediapipe/framework:calculator_graph'
ERROR: /Users/George/Downloads/Grouped/cv/mediapipe/mediapipe/framework/BUILD:416:1: error loading package 'mediapipe/gpu': in /private/var/tmp/_bazel_George/175af2d4352cd903fbaf66a4920193e6/external/build_bazel_rules_apple/apple/ios.bzl: in /private/var/tmp/_bazel_George/175af2d4352cd903fbaf66a4920193e6/external/build_bazel_rules_apple/apple/internal/ios_rules.bzl: in /private/var/tmp/_bazel_George/175af2d4352cd903fbaf66a4920193e6/external/build_bazel_rules_apple/apple/internal/rule_support.bzl: Extension file 'apple/internal/transition_support.bzl' has errors and referenced by '//mediapipe/framework:calculator_graph'
ERROR: Analysis of target '//mediapipe/examples/desktop/hello_world:hello_world' failed; build aborted: error loading package 'mediapipe/gpu': in /private/var/tmp/_bazel_George/175af2d4352cd903fbaf66a4920193e6/external/build_bazel_rules_apple/apple/ios.bzl: in /private/var/tmp/_bazel_George/175af2d4352cd903fbaf66a4920193e6/external/build_bazel_rules_apple/apple/internal/ios_rules.bzl: in /private/var/tmp/_bazel_George/175af2d4352cd903fbaf66a4920193e6/external/build_bazel_rules_apple/apple/internal/rule_support.bzl: Extension file 'apple/internal/transition_support.bzl' has errors
INFO: Elapsed time: 19.437s
INFO: 0 processes.
FAILED: Build did NOT complete successfully (13 packages loaded, 58 targets configured)
FAILED: Build did NOT complete successfully (13 packages loaded, 58 targets configured)
    currently loading: mediapipe/gpu ... (2 packages)
    Fetching @com_github_glog_glog; fetching
    Fetching @com_google_absl; fetching

I'm fairly new to bazel, this is the second time I use it since last year for compiling TensorFlow 1.6 on OSX with CUDA support. I'm not sure what the tranzition API error is about, but I'm confused when it references this file private/var/tmp/_bazel_George/175af2d4352cd903fbaf66a4920193e6/external/build_bazel_rules_apple/apple/ios.bzl 3 times. I had a peek, and the name implies, it has Apple IOS related configuration settings.

Why is bazel doing that instead of macos(Desktop) or android_arm64 ?
Any flags I can pass to help bazel not try to build for IOS when it isn't meant to ?

Any tips on how I can compile the handtrackinggpu sample ?

Thank you so much,
George

@jiuqiant
Copy link
Contributor

orgicus@, could you report the bazel version you use? You can find it by running $ bazel version. --experimental_starlark_config_transitions was already removed in bazel 27.0, which indicates that you may have an earlier version of bazel.

From the error message, it seems like bazel wants you to append --experimental_starlark_config_transitions to the build command. If you don't like to upgrade bazel, I guess you can try the following first:

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

@orgicus
Copy link

orgicus commented Aug 22, 2019

@jiuqiant I am using bazel 23 (which the readme mentioned is the minimum version):

Build label: 0.23.0
Build target: bazel-out/darwin-opt/bin/src/main/java/com/google/devtools/build/lib/bazel/BazelServer_deploy.jar
Build time: Tue Feb 26 17:41:30 2019 (1551202890)
Build timestamp: 1551202890
Build timestamp as int: 1551202890

I can confirm the bazel build moves forward with the --experimental_starlark_config_transitions however it stops on another error:

gp:mediapipe George$ bazel clean --expunge
INFO: Starting clean.
gp:mediapipe George$ bazel build -c opt --config=android_arm64 --experimental_starlark_config_transitions mediapipe/examples/android/src/java/com/google/mediapipe/apps/handtrackinggpu
Starting local Bazel server and connecting to it...
DEBUG: Rule 'build_bazel_rules_apple' modified arguments {"commit": "6c9fcae7a3597aabd43f28be89466afe0eab18de", "shallow_since": "1565379803 -0700"} and dropped ["tag"]
INFO: Analysed target //mediapipe/examples/android/src/java/com/google/mediapipe/apps/handtrackinggpu:handtrackinggpu (135 packages loaded, 13307 targets configured).
INFO: Found 1 target...
INFO: From Compiling external/zlib_archive/crc32.c [for host]:
warning: unknown warning option '-Wno-shift-negative-value'; did you mean '-Wno-shift-sign-overflow'? [-Wunknown-warning-option]
1 warning generated.
INFO: From Compiling external/zlib_archive/compress.c [for host]:
warning: unknown warning option '-Wno-shift-negative-value'; did you mean '-Wno-shift-sign-overflow'? [-Wunknown-warning-option]
1 warning generated.
INFO: From Compiling external/zlib_archive/uncompr.c [for host]:
warning: unknown warning option '-Wno-shift-negative-value'; did you mean '-Wno-shift-sign-overflow'? [-Wunknown-warning-option]
1 warning generated.
INFO: From Compiling external/zlib_archive/gzclose.c [for host]:
warning: unknown warning option '-Wno-shift-negative-value'; did you mean '-Wno-shift-sign-overflow'? [-Wunknown-warning-option]
1 warning generated.
INFO: From Compiling external/zlib_archive/zutil.c [for host]:
warning: unknown warning option '-Wno-shift-negative-value'; did you mean '-Wno-shift-sign-overflow'? [-Wunknown-warning-option]
1 warning generated.
INFO: From Compiling external/zlib_archive/gzlib.c [for host]:
warning: unknown warning option '-Wno-shift-negative-value'; did you mean '-Wno-shift-sign-overflow'? [-Wunknown-warning-option]
1 warning generated.
INFO: From Compiling external/zlib_archive/adler32.c [for host]:
warning: unknown warning option '-Wno-shift-negative-value'; did you mean '-Wno-shift-sign-overflow'? [-Wunknown-warning-option]
1 warning generated.
INFO: From Compiling external/zlib_archive/inftrees.c [for host]:
warning: unknown warning option '-Wno-shift-negative-value'; did you mean '-Wno-shift-sign-overflow'? [-Wunknown-warning-option]
1 warning generated.
INFO: From Compiling external/zlib_archive/gzwrite.c [for host]:
warning: unknown warning option '-Wno-shift-negative-value'; did you mean '-Wno-shift-sign-overflow'? [-Wunknown-warning-option]
1 warning generated.
INFO: From Compiling external/zlib_archive/gzread.c [for host]:
warning: unknown warning option '-Wno-shift-negative-value'; did you mean '-Wno-shift-sign-overflow'? [-Wunknown-warning-option]
1 warning generated.
INFO: From Compiling external/zlib_archive/deflate.c [for host]:
warning: unknown warning option '-Wno-shift-negative-value'; did you mean '-Wno-shift-sign-overflow'? [-Wunknown-warning-option]
1 warning generated.
INFO: From Compiling external/zlib_archive/inffast.c [for host]:
warning: unknown warning option '-Wno-shift-negative-value'; did you mean '-Wno-shift-sign-overflow'? [-Wunknown-warning-option]
1 warning generated.
INFO: From Compiling external/zlib_archive/infback.c [for host]:
warning: unknown warning option '-Wno-shift-negative-value'; did you mean '-Wno-shift-sign-overflow'? [-Wunknown-warning-option]
1 warning generated.
INFO: From Compiling external/zlib_archive/trees.c [for host]:
warning: unknown warning option '-Wno-shift-negative-value'; did you mean '-Wno-shift-sign-overflow'? [-Wunknown-warning-option]
1 warning generated.
INFO: From Compiling external/zlib_archive/inflate.c [for host]:
warning: unknown warning option '-Wno-shift-negative-value'; did you mean '-Wno-shift-sign-overflow'? [-Wunknown-warning-option]
1 warning generated.
INFO: From Compiling external/com_google_protobuf_javalite/src/google/protobuf/util/time_util.cc [for host]:
external/com_google_protobuf_javalite/src/google/protobuf/util/time_util.cc:52:18: warning: unused variable 'kMicrosPerMillisecond' [-Wunused-const-variable]
static const int kMicrosPerMillisecond = 1000;
                 ^
external/com_google_protobuf_javalite/src/google/protobuf/util/time_util.cc:56:19: warning: unused variable 'kTimestampFormat' [-Wunused-const-variable]
static const char kTimestampFormat[] = "%E4Y-%m-%dT%H:%M:%S";
                  ^
2 warnings generated.
INFO: From Executing genrule @com_github_glog_glog//:run_configure:
/private/var/tmp/_bazel_George/175af2d4352cd903fbaf66a4920193e6/sandbox/darwin-sandbox/42/execroot/mediapipe/external/com_github_glog_glog/missing: Unknown `--is-lightweight' option
Try `/private/var/tmp/_bazel_George/175af2d4352cd903fbaf66a4920193e6/sandbox/darwin-sandbox/42/execroot/mediapipe/external/com_github_glog_glog/missing --help' for more information
configure: WARNING: 'missing' script is too old or missing
checking for a BSD-compatible install... /usr/local/bin/ginstall -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /usr/local/bin/gmkdir -p
checking for gawk... no
checking for mawk... no
checking for nawk... no
checking for awk... awk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables... 
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking whether gcc understands -c and -o together... yes
checking for style of include used by make... GNU
checking dependency style of gcc... none
checking how to run the C preprocessor... gcc -E
checking for g++... g++
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking dependency style of g++... none
checking build system type... i386-apple-darwin15.6.0
checking host system type... i386-apple-darwin15.6.0
checking how to print strings... printf
checking for a sed that does not truncate output... /usr/bin/sed
checking for grep that handles long lines and -e... /usr/bin/grep
checking for egrep... /usr/bin/grep -E
checking for fgrep... /usr/bin/grep -F
checking for ld used by gcc... /Applications/IDEsAndEditors/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld
checking if the linker (/Applications/IDEsAndEditors/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld) is GNU ld... no
checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm
checking the name lister (/usr/bin/nm) interface... BSD nm
checking whether ln -s works... yes
checking the maximum length of command line arguments... 196608
checking whether the shell understands some XSI constructs... yes
checking whether the shell understands "+="... yes
checking how to convert i386-apple-darwin15.6.0 file names to i386-apple-darwin15.6.0 format... func_convert_file_noop
checking how to convert i386-apple-darwin15.6.0 file names to toolchain format... func_convert_file_noop
checking for /Applications/IDEsAndEditors/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld option to reload object files... -r
checking for objdump... no
checking how to recognize dependent libraries... pass_all
checking for dlltool... no
checking how to associate runtime and link libraries... printf %s\n
checking for ar... ar
checking for archiver @FILE support... no
checking for strip... strip
checking for ranlib... ranlib
checking command to parse /usr/bin/nm output from gcc object... ok
checking for sysroot... no
checking for mt... no
checking if : is a manifest tool... no
checking for dsymutil... dsymutil
checking for nmedit... nmedit
checking for lipo... lipo
checking for otool... otool
checking for otool64... no
checking for -single_module linker flag... yes
checking for -exported_symbols_list linker flag... yes
checking for -force_load linker flag... yes
checking for ANSI C header files... no
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking for dlfcn.h... yes
checking for objdir... .libs
checking if gcc supports -fno-rtti -fno-exceptions... yes
checking for gcc option to produce PIC... -fno-common -DPIC
checking if gcc PIC flag -fno-common -DPIC works... yes
checking if gcc static flag -static works... no
checking if gcc supports -c -o file.o... yes
checking if gcc supports -c -o file.o... (cached) yes
checking whether the gcc linker (/Applications/IDEsAndEditors/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld) supports shared libraries... yes
checking dynamic linker characteristics... darwin15.6.0 dyld
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... yes
checking how to run the C++ preprocessor... g++ -E
checking for ld used by g++... /Applications/IDEsAndEditors/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld
checking if the linker (/Applications/IDEsAndEditors/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld) is GNU ld... no
checking whether the g++ linker (/Applications/IDEsAndEditors/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld) supports shared libraries... yes
checking for g++ option to produce PIC... -fno-common -DPIC
checking if g++ PIC flag -fno-common -DPIC works... yes
checking if g++ static flag -static works... no
checking if g++ supports -c -o file.o... yes
checking if g++ supports -c -o file.o... (cached) yes
checking whether the g++ linker (/Applications/IDEsAndEditors/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld) supports shared libraries... yes
checking dynamic linker characteristics... darwin15.6.0 dyld
checking how to hardcode library paths into programs... immediate
checking for ANSI C header files... (cached) no
checking for stdint.h... (cached) yes
checking for sys/types.h... (cached) yes
checking for inttypes.h... (cached) yes
checking for unistd.h... (cached) yes
checking syscall.h usability... no
checking syscall.h presence... no
checking for syscall.h... no
checking sys/syscall.h usability... yes
checking sys/syscall.h presence... yes
checking for sys/syscall.h... yes
checking execinfo.h usability... yes
checking execinfo.h presence... yes
checking for execinfo.h... yes
checking libunwind.h usability... yes
checking libunwind.h presence... yes
checking for libunwind.h... yes
checking ucontext.h usability... no
checking ucontext.h presence... no
checking for ucontext.h... no
checking sys/utsname.h usability... yes
checking sys/utsname.h presence... yes
checking for sys/utsname.h... yes
checking pwd.h usability... yes
checking pwd.h presence... yes
checking for pwd.h... yes
checking syslog.h usability... yes
checking syslog.h presence... yes
checking for syslog.h... yes
checking sys/time.h usability... yes
checking sys/time.h presence... yes
checking for sys/time.h... yes
checking glob.h usability... yes
checking glob.h presence... yes
checking for glob.h... yes
checking unwind.h usability... yes
checking unwind.h presence... yes
checking for unwind.h... yes
checking windows.h usability... no
checking windows.h presence... no
checking for windows.h... no
checking size of void *... 8
checking for uint16_t... yes
checking for u_int16_t... yes
checking for __uint16... no
checking for sigaltstack... yes
checking for sigaction... yes
checking for dladdr... yes
checking for fcntl... yes
checking for pread... yes
checking for pwrite... yes
checking for __attribute__... yes
checking for __builtin_expect... yes
checking for __sync_val_compare_and_swap... yes
checking for the pthreads library -lpthreads... no
checking whether pthreads work without any flags... yes
checking for joinable pthread attribute... PTHREAD_CREATE_JOINABLE
checking if more special flags are required for pthreads... -D_THREAD_SAFE
checking whether to check for GCC pthread/shared inconsistencies... no
checking for pthread_self in -lpthread... yes
checking for main in -lgflags... yes
checking for gtest-config... no
checking for main in -lgtest... no
checking for backtrace in -lunwind... no
checking support for pthread_rwlock_* functions... yes
checking whether the compiler implements namespaces... yes
checking what namespace STL code is in... std
checking whether compiler supports using ::operator<<... 1
checking for ucontext.h... (cached) no
checking sys/ucontext.h usability... yes
checking sys/ucontext.h presence... yes
checking for sys/ucontext.h... yes
checking how to access the program counter from a struct ucontext... uc_mcontext->__ss.__rip
checking that generated files are newer than configure... done
configure: creating ./config.status
config.status: creating Makefile
config.status: creating src/glog/logging.h
config.status: creating src/glog/raw_logging.h
config.status: creating src/glog/vlog_is_on.h
config.status: creating src/glog/stl_logging.h
config.status: creating libglog.pc
config.status: creating src/config.h
config.status: executing depfiles commands
config.status: executing libtool commands
src/config.h -> bazel-out/android-arm64-v8a-opt/genfiles/external/com_github_glog_glog/config.h.tmp
src/glog/logging.h -> bazel-out/android-arm64-v8a-opt/genfiles/external/com_github_glog_glog/src/glog/logging.h.tmp
src/glog/raw_logging.h -> bazel-out/android-arm64-v8a-opt/genfiles/external/com_github_glog_glog/src/glog/raw_logging.h
src/glog/stl_logging.h -> bazel-out/android-arm64-v8a-opt/genfiles/external/com_github_glog_glog/src/glog/stl_logging.h
src/glog/vlog_is_on.h -> bazel-out/android-arm64-v8a-opt/genfiles/external/com_github_glog_glog/src/glog/vlog_is_on.h
INFO: From Executing genrule @com_github_glog_glog//:run_configure [for host]:
/private/var/tmp/_bazel_George/175af2d4352cd903fbaf66a4920193e6/sandbox/darwin-sandbox/43/execroot/mediapipe/external/com_github_glog_glog/missing: Unknown `--is-lightweight' option
Try `/private/var/tmp/_bazel_George/175af2d4352cd903fbaf66a4920193e6/sandbox/darwin-sandbox/43/execroot/mediapipe/external/com_github_glog_glog/missing --help' for more information
configure: WARNING: 'missing' script is too old or missing
checking for a BSD-compatible install... /usr/local/bin/ginstall -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /usr/local/bin/gmkdir -p
checking for gawk... no
checking for mawk... no
checking for nawk... no
checking for awk... awk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables... 
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking whether gcc understands -c and -o together... yes
checking for style of include used by make... GNU
checking dependency style of gcc... none
checking how to run the C preprocessor... gcc -E
checking for g++... g++
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking dependency style of g++... none
checking build system type... i386-apple-darwin15.6.0
checking host system type... i386-apple-darwin15.6.0
checking how to print strings... printf
checking for a sed that does not truncate output... /usr/bin/sed
checking for grep that handles long lines and -e... /usr/bin/grep
checking for egrep... /usr/bin/grep -E
checking for fgrep... /usr/bin/grep -F
checking for ld used by gcc... /Applications/IDEsAndEditors/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld
checking if the linker (/Applications/IDEsAndEditors/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld) is GNU ld... no
checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm
checking the name lister (/usr/bin/nm) interface... BSD nm
checking whether ln -s works... yes
checking the maximum length of command line arguments... 196608
checking whether the shell understands some XSI constructs... yes
checking whether the shell understands "+="... yes
checking how to convert i386-apple-darwin15.6.0 file names to i386-apple-darwin15.6.0 format... func_convert_file_noop
checking how to convert i386-apple-darwin15.6.0 file names to toolchain format... func_convert_file_noop
checking for /Applications/IDEsAndEditors/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld option to reload object files... -r
checking for objdump... no
checking how to recognize dependent libraries... pass_all
checking for dlltool... no
checking how to associate runtime and link libraries... printf %s\n
checking for ar... ar
checking for archiver @FILE support... no
checking for strip... strip
checking for ranlib... ranlib
checking command to parse /usr/bin/nm output from gcc object... ok
checking for sysroot... no
checking for mt... no
checking if : is a manifest tool... no
checking for dsymutil... dsymutil
checking for nmedit... nmedit
checking for lipo... lipo
checking for otool... otool
checking for otool64... no
checking for -single_module linker flag... yes
checking for -exported_symbols_list linker flag... yes
checking for -force_load linker flag... yes
checking for ANSI C header files... no
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking for dlfcn.h... yes
checking for objdir... .libs
checking if gcc supports -fno-rtti -fno-exceptions... yes
checking for gcc option to produce PIC... -fno-common -DPIC
checking if gcc PIC flag -fno-common -DPIC works... yes
checking if gcc static flag -static works... no
checking if gcc supports -c -o file.o... yes
checking if gcc supports -c -o file.o... (cached) yes
checking whether the gcc linker (/Applications/IDEsAndEditors/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld) supports shared libraries... yes
checking dynamic linker characteristics... darwin15.6.0 dyld
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... yes
checking how to run the C++ preprocessor... g++ -E
checking for ld used by g++... /Applications/IDEsAndEditors/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld
checking if the linker (/Applications/IDEsAndEditors/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld) is GNU ld... no
checking whether the g++ linker (/Applications/IDEsAndEditors/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld) supports shared libraries... yes
checking for g++ option to produce PIC... -fno-common -DPIC
checking if g++ PIC flag -fno-common -DPIC works... yes
checking if g++ static flag -static works... no
checking if g++ supports -c -o file.o... yes
checking if g++ supports -c -o file.o... (cached) yes
checking whether the g++ linker (/Applications/IDEsAndEditors/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld) supports shared libraries... yes
checking dynamic linker characteristics... darwin15.6.0 dyld
checking how to hardcode library paths into programs... immediate
checking for ANSI C header files... (cached) no
checking for stdint.h... (cached) yes
checking for sys/types.h... (cached) yes
checking for inttypes.h... (cached) yes
checking for unistd.h... (cached) yes
checking syscall.h usability... no
checking syscall.h presence... no
checking for syscall.h... no
checking sys/syscall.h usability... yes
checking sys/syscall.h presence... yes
checking for sys/syscall.h... yes
checking execinfo.h usability... yes
checking execinfo.h presence... yes
checking for execinfo.h... yes
checking libunwind.h usability... yes
checking libunwind.h presence... yes
checking for libunwind.h... yes
checking ucontext.h usability... no
checking ucontext.h presence... no
checking for ucontext.h... no
checking sys/utsname.h usability... yes
checking sys/utsname.h presence... yes
checking for sys/utsname.h... yes
checking pwd.h usability... yes
checking pwd.h presence... yes
checking for pwd.h... yes
checking syslog.h usability... yes
checking syslog.h presence... yes
checking for syslog.h... yes
checking sys/time.h usability... yes
checking sys/time.h presence... yes
checking for sys/time.h... yes
checking glob.h usability... yes
checking glob.h presence... yes
checking for glob.h... yes
checking unwind.h usability... yes
checking unwind.h presence... yes
checking for unwind.h... yes
checking windows.h usability... no
checking windows.h presence... no
checking for windows.h... no
checking size of void *... 8
checking for uint16_t... yes
checking for u_int16_t... yes
checking for __uint16... no
checking for sigaltstack... yes
checking for sigaction... yes
checking for dladdr... yes
checking for fcntl... yes
checking for pread... yes
checking for pwrite... yes
checking for __attribute__... yes
checking for __builtin_expect... yes
checking for __sync_val_compare_and_swap... yes
checking for the pthreads library -lpthreads... no
checking whether pthreads work without any flags... yes
checking for joinable pthread attribute... PTHREAD_CREATE_JOINABLE
checking if more special flags are required for pthreads... -D_THREAD_SAFE
checking whether to check for GCC pthread/shared inconsistencies... no
checking for pthread_self in -lpthread... yes
checking for main in -lgflags... yes
checking for gtest-config... no
checking for main in -lgtest... no
checking for backtrace in -lunwind... no
checking support for pthread_rwlock_* functions... yes
checking whether the compiler implements namespaces... yes
checking what namespace STL code is in... std
checking whether compiler supports using ::operator<<... 1
checking for ucontext.h... (cached) no
checking sys/ucontext.h usability... yes
checking sys/ucontext.h presence... yes
checking for sys/ucontext.h... yes
checking how to access the program counter from a struct ucontext... uc_mcontext->__ss.__rip
checking that generated files are newer than configure... done
configure: creating ./config.status
config.status: creating Makefile
config.status: creating src/glog/logging.h
config.status: creating src/glog/raw_logging.h
config.status: creating src/glog/vlog_is_on.h
config.status: creating src/glog/stl_logging.h
config.status: creating libglog.pc
config.status: creating src/config.h
config.status: executing depfiles commands
config.status: executing libtool commands
src/config.h -> bazel-out/host/genfiles/external/com_github_glog_glog/config.h.tmp
src/glog/logging.h -> bazel-out/host/genfiles/external/com_github_glog_glog/src/glog/logging.h.tmp
src/glog/raw_logging.h -> bazel-out/host/genfiles/external/com_github_glog_glog/src/glog/raw_logging.h
src/glog/stl_logging.h -> bazel-out/host/genfiles/external/com_github_glog_glog/src/glog/stl_logging.h
src/glog/vlog_is_on.h -> bazel-out/host/genfiles/external/com_github_glog_glog/src/glog/vlog_is_on.h
INFO: From Executing genrule @com_github_glog_glog//:config_h:
select bazel-out/android-arm64-v8a-opt/genfiles/external/com_github_glog_glog/config.h.android_arm to be the glog config file.
INFO: From Executing genrule @com_github_glog_glog//:logging_h:
select bazel-out/android-arm64-v8a-opt/genfiles/external/com_github_glog_glog/src/glog/logging.h.arm to be the glog logging.h file.
INFO: From Executing genrule @com_github_glog_glog//:config_h [for host]:
select bazel-out/host/genfiles/external/com_github_glog_glog/config.h.tmp to be the glog config file.
INFO: From Executing genrule @com_github_glog_glog//:logging_h [for host]:
select bazel-out/host/genfiles/external/com_github_glog_glog/src/glog/logging.h.tmp to be the glog logging.h file.
INFO: From Linking mediapipe/framework/tool/encode_as_c_string [for host]:
clang: warning: argument unused during compilation: '-pthread'
ERROR: /private/var/tmp/_bazel_George/175af2d4352cd903fbaf66a4920193e6/external/org_tensorflow/tensorflow/core/BUILD:2785:1: Executing genrule @org_tensorflow//tensorflow/core:version_info_gen failed (Exit 1)
Traceback (most recent call last):
  File "/private/var/tmp/_bazel_George/175af2d4352cd903fbaf66a4920193e6/execroot/mediapipe/bazel-out/host/bin/external/org_tensorflow/tensorflow/tools/git/gen_git_source.runfiles/org_tensorflow/tensorflow/tools/git/gen_git_source.py", line 29, in <module>
    from builtins import bytes  # pylint: disable=redefined-builtin
ImportError: No module named builtins
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: 208.977s, Critical Path: 144.26s
INFO: 484 processes: 482 darwin-sandbox, 2 worker.
FAILED: Build did NOT complete successfully

Googling the error I did pip install future (as I use both Python 2.7 (default) and Python 3.74.

I've tried again and got to another error:

gp:mediapipe George$ bazel build -c opt --config=android_arm64 --experimental_starlark_config_transitions mediapipe/examples/android/src/java/com/google/mediapipe/apps/handtrackinggpu
DEBUG: Rule 'build_bazel_rules_apple' modified arguments {"commit": "6c9fcae7a3597aabd43f28be89466afe0eab18de", "shallow_since": "1565379803 -0700"} and dropped ["tag"]
INFO: Analysed target //mediapipe/examples/android/src/java/com/google/mediapipe/apps/handtrackinggpu:handtrackinggpu (0 packages loaded, 0 targets configured).
INFO: Found 1 target...
ERROR: /private/var/tmp/_bazel_George/175af2d4352cd903fbaf66a4920193e6/external/org_tensorflow/tensorflow/lite/delegates/gpu/BUILD:27:1: C++ compilation of rule '@org_tensorflow//tensorflow/lite/delegates/gpu:gl_delegate' failed (Exit 1) clang failed: error executing command external/androidndk/ndk/toolchains/llvm/prebuilt/darwin-x86_64/bin/clang -gcc-toolchain external/androidndk/ndk/toolchains/aarch64-linux-android-4.9/prebuilt/darwin-x86_64 -target ... (remaining 85 argument(s) skipped)

Use --sandbox_debug to see verbose messages from the sandbox
In file included from external/org_tensorflow/tensorflow/lite/delegates/gpu/gl_delegate.cc:43:
In file included from external/org_tensorflow/tensorflow/lite/delegates/gpu/gl/egl_environment.h:22:
external/org_tensorflow/tensorflow/lite/delegates/gpu/gl/egl_context.h:40:17: error: use of undeclared identifier 'EGL_NO_CONFIG_KHR'
        config_(EGL_NO_CONFIG_KHR),
                ^
1 error generated.
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: 146.081s, Critical Path: 142.92s
INFO: 219 processes: 219 darwin-sandbox.
FAILED: Build did NOT complete successfully

Should upgrade to bazel 27.0 ?
What's the ideal setup to compile on OSX ?

Thank you,
George

@jiuqiant
Copy link
Contributor

You can stay with bazel 23.0 for now. May I know which Android SDK and NDK you use?
Undeclared identifier 'EGL_NO_CONFIG_KHR' seems to be an Android NDK issue.

@orgicus
Copy link

orgicus commented Aug 22, 2019

Based on the install guide I've installed Android SDK 28 and 29 and Android NDK (Android Studio installed version 20).

Screen Shot 2019-08-22 at 22 41 47

Screen Shot 2019-08-22 at 22 42 11

I've tried temporarily switching to python 3 (via alias python="python3")
but I'm back to ImportError: No module named builtins

full log:

gp:mediapipe George$ alias python="python3"
gp:mediapipe George$ python -V
Python 3.7.4
gp:mediapipe George$ bazel build -c opt --config=android_arm64 --experimental_starlark_config_transitions mediapipe/examples/android/src/java/com/google/mediapipe/apps/handtrackinggpu
WARNING: The major revision of the Android NDK referenced by android_ndk_repository rule 'androidndk' is 20. The major revisions supported by Bazel are [10, 11, 12, 13, 14, 15, 16, 17, 18]. Bazel will attempt to treat the NDK as if it was r18. This may cause compilation and linkage problems. Please download a supported NDK version.
WARNING: API level 29 specified by android_ndk_repository 'androidndk' is not available. Using latest known API level 28
INFO: Analysed target //mediapipe/examples/android/src/java/com/google/mediapipe/apps/handtrackinggpu:handtrackinggpu (0 packages loaded, 0 targets configured).
INFO: Found 1 target...
INFO: From ProtoCompile mediapipe/calculators/image/image_transformation_calculator.pb.h:
bazel-out/android-arm64-v8a-opt/genfiles/external/com_google_protobuf/src: warning: directory does not exist.
INFO: From ProtoCompile mediapipe/framework/calculator.pb.h:
bazel-out/android-arm64-v8a-opt/genfiles/external/com_google_protobuf/src: warning: directory does not exist.
INFO: From ProtoCompile mediapipe/framework/calculator_profile.pb.h:
bazel-out/android-arm64-v8a-opt/genfiles/external/com_google_protobuf/src: warning: directory does not exist.
INFO: From ProtoCompile mediapipe/calculators/tflite/tflite_inference_calculator.pb.h:
bazel-out/android-arm64-v8a-opt/genfiles/external/com_google_protobuf/src: warning: directory does not exist.
INFO: From ProtoCompile mediapipe/calculators/tflite/tflite_tensors_to_detections_calculator.pb.h:
bazel-out/android-arm64-v8a-opt/genfiles/external/com_google_protobuf/src: warning: directory does not exist.
INFO: From ProtoCompile mediapipe/calculators/util/detections_to_render_data_calculator.pb.h [for host]:
bazel-out/host/genfiles/external/com_google_protobuf/src: warning: directory does not exist.
INFO: From ProtoCompile mediapipe/calculators/util/non_max_suppression_calculator.pb.h:
bazel-out/android-arm64-v8a-opt/genfiles/external/com_google_protobuf/src: warning: directory does not exist.
INFO: From ProtoCompile mediapipe/calculators/tflite/ssd_anchors_calculator.pb.h:
bazel-out/android-arm64-v8a-opt/genfiles/external/com_google_protobuf/src: warning: directory does not exist.
INFO: From ProtoCompile mediapipe/calculators/util/annotation_overlay_calculator.pb.h [for host]:
bazel-out/host/genfiles/external/com_google_protobuf/src: warning: directory does not exist.
INFO: From ProtoCompile mediapipe/calculators/util/rect_transformation_calculator.pb.h:
bazel-out/android-arm64-v8a-opt/genfiles/external/com_google_protobuf/src: warning: directory does not exist.
INFO: From ProtoCompile mediapipe/calculators/tflite/tflite_custom_op_resolver_calculator.pb.h:
bazel-out/android-arm64-v8a-opt/genfiles/external/com_google_protobuf/src: warning: directory does not exist.
INFO: From ProtoCompile mediapipe/calculators/util/rect_to_render_data_calculator.pb.h:
bazel-out/android-arm64-v8a-opt/genfiles/external/com_google_protobuf/src: warning: directory does not exist.
INFO: From ProtoCompile mediapipe/calculators/util/rect_transformation_calculator.pb.h [for host]:
bazel-out/host/genfiles/external/com_google_protobuf/src: warning: directory does not exist.
INFO: From ProtoCompile mediapipe/calculators/util/detection_label_id_to_text_calculator.pb.h:
bazel-out/android-arm64-v8a-opt/genfiles/external/com_google_protobuf/src: warning: directory does not exist.
INFO: From ProtoCompile mediapipe/calculators/util/detections_to_rects_calculator.pb.h [for host]:
bazel-out/host/genfiles/external/com_google_protobuf/src: warning: directory does not exist.
INFO: From ProtoCompile mediapipe/calculators/util/detection_label_id_to_text_calculator.pb.h [for host]:
bazel-out/host/genfiles/external/com_google_protobuf/src: warning: directory does not exist.
INFO: From ProtoCompile mediapipe/calculators/util/landmarks_to_detection_calculator.pb.h [for host]:
bazel-out/host/genfiles/external/com_google_protobuf/src: warning: directory does not exist.
INFO: From ProtoCompile mediapipe/calculators/tflite/tflite_tensors_to_detections_calculator.pb.h [for host]:
bazel-out/host/genfiles/external/com_google_protobuf/src: warning: directory does not exist.
INFO: From ProtoCompile mediapipe/calculators/core/split_vector_calculator.pb.h [for host]:
bazel-out/host/genfiles/external/com_google_protobuf/src: warning: directory does not exist.
INFO: From ProtoCompile mediapipe/calculators/tflite/tflite_custom_op_resolver_calculator.pb.h [for host]:
bazel-out/host/genfiles/external/com_google_protobuf/src: warning: directory does not exist.
INFO: From ProtoCompile mediapipe/calculators/image/image_cropping_calculator.pb.h:
bazel-out/android-arm64-v8a-opt/genfiles/external/com_google_protobuf/src: warning: directory does not exist.
INFO: From ProtoCompile mediapipe/calculators/tflite/ssd_anchors_calculator.pb.h [for host]:
bazel-out/host/genfiles/external/com_google_protobuf/src: warning: directory does not exist.
INFO: From ProtoCompile mediapipe/calculators/tflite/tflite_converter_calculator.pb.h [for host]:
bazel-out/host/genfiles/external/com_google_protobuf/src: warning: directory does not exist.
INFO: From ProtoCompile mediapipe/framework/calculator.pb.h [for host]:
bazel-out/host/genfiles/external/com_google_protobuf/src: warning: directory does not exist.
INFO: From ProtoCompile mediapipe/framework/calculator_profile.pb.h [for host]:
bazel-out/host/genfiles/external/com_google_protobuf/src: warning: directory does not exist.
INFO: From ProtoCompile mediapipe/calculators/internal/callback_packet_calculator.pb.h [for host]:
bazel-out/host/genfiles/external/com_google_protobuf/src: warning: directory does not exist.
INFO: From ProtoCompile mediapipe/calculators/image/image_transformation_calculator.pb.h [for host]:
bazel-out/host/genfiles/external/com_google_protobuf/src: warning: directory does not exist.
INFO: From ProtoCompile mediapipe/gpu/gl_context_options.pb.h [for host]:
bazel-out/host/genfiles/external/com_google_protobuf/src: warning: directory does not exist.
INFO: From ProtoCompile mediapipe/calculators/core/split_vector_calculator.pb.h:
bazel-out/android-arm64-v8a-opt/genfiles/external/com_google_protobuf/src: warning: directory does not exist.
INFO: From ProtoCompile mediapipe/calculators/tflite/tflite_converter_calculator.pb.h:
bazel-out/android-arm64-v8a-opt/genfiles/external/com_google_protobuf/src: warning: directory does not exist.
INFO: From ProtoCompile mediapipe/calculators/util/landmarks_to_detection_calculator.pb.h:
bazel-out/android-arm64-v8a-opt/genfiles/external/com_google_protobuf/src: warning: directory does not exist.
INFO: From ProtoCompile mediapipe/calculators/util/landmark_projection_calculator.pb.h:
bazel-out/android-arm64-v8a-opt/genfiles/external/com_google_protobuf/src: warning: directory does not exist.
INFO: From ProtoCompile mediapipe/calculators/util/thresholding_calculator.pb.h:
bazel-out/android-arm64-v8a-opt/genfiles/external/com_google_protobuf/src: warning: directory does not exist.
INFO: From ProtoCompile mediapipe/calculators/tflite/tflite_tensors_to_landmarks_calculator.pb.h:
bazel-out/android-arm64-v8a-opt/genfiles/external/com_google_protobuf/src: warning: directory does not exist.
INFO: From ProtoCompile mediapipe/calculators/image/image_cropping_calculator.pb.h [for host]:
bazel-out/host/genfiles/external/com_google_protobuf/src: warning: directory does not exist.
INFO: From ProtoCompile mediapipe/calculators/util/detections_to_rects_calculator.pb.h:
bazel-out/android-arm64-v8a-opt/genfiles/external/com_google_protobuf/src: warning: directory does not exist.
INFO: From ProtoCompile mediapipe/calculators/tflite/tflite_tensors_to_landmarks_calculator.pb.h [for host]:
bazel-out/host/genfiles/external/com_google_protobuf/src: warning: directory does not exist.
INFO: From ProtoCompile mediapipe/calculators/util/landmark_projection_calculator.pb.h [for host]:
bazel-out/host/genfiles/external/com_google_protobuf/src: warning: directory does not exist.
INFO: From ProtoCompile mediapipe/calculators/util/thresholding_calculator.pb.h [for host]:
bazel-out/host/genfiles/external/com_google_protobuf/src: warning: directory does not exist.
INFO: From ProtoCompile mediapipe/framework/tool/calculator_graph_template.pb.h:
bazel-out/android-arm64-v8a-opt/genfiles/external/com_google_protobuf/src: warning: directory does not exist.
INFO: From ProtoCompile mediapipe/calculators/util/detections_to_render_data_calculator.pb.h:
bazel-out/android-arm64-v8a-opt/genfiles/external/com_google_protobuf/src: warning: directory does not exist.
INFO: From ProtoCompile mediapipe/calculators/util/annotation_overlay_calculator.pb.h:
bazel-out/android-arm64-v8a-opt/genfiles/external/com_google_protobuf/src: warning: directory does not exist.
INFO: From ProtoCompile mediapipe/calculators/util/landmarks_to_render_data_calculator.pb.h [for host]:
bazel-out/host/genfiles/external/com_google_protobuf/src: warning: directory does not exist.
INFO: From ProtoCompile mediapipe/calculators/util/rect_to_render_data_calculator.pb.h [for host]:
bazel-out/host/genfiles/external/com_google_protobuf/src: warning: directory does not exist.
INFO: From ProtoCompile mediapipe/gpu/gl_context_options.pb.h:
bazel-out/android-arm64-v8a-opt/genfiles/external/com_google_protobuf/src: warning: directory does not exist.
INFO: From ProtoCompile mediapipe/calculators/tflite/tflite_inference_calculator.pb.h [for host]:
bazel-out/host/genfiles/external/com_google_protobuf/src: warning: directory does not exist.
INFO: From ProtoCompile mediapipe/framework/tool/calculator_graph_template.pb.h [for host]:
bazel-out/host/genfiles/external/com_google_protobuf/src: warning: directory does not exist.
INFO: From ProtoCompile mediapipe/gpu/gl_surface_sink_calculator.pb.h:
bazel-out/android-arm64-v8a-opt/genfiles/external/com_google_protobuf/src: warning: directory does not exist.
INFO: From ProtoCompile mediapipe/calculators/internal/callback_packet_calculator.pb.h:
bazel-out/android-arm64-v8a-opt/genfiles/external/com_google_protobuf/src: warning: directory does not exist.
INFO: From ProtoCompile mediapipe/calculators/util/non_max_suppression_calculator.pb.h [for host]:
bazel-out/host/genfiles/external/com_google_protobuf/src: warning: directory does not exist.
INFO: From ProtoCompile mediapipe/calculators/core/gate_calculator.pb.h:
bazel-out/android-arm64-v8a-opt/genfiles/external/com_google_protobuf/src: warning: directory does not exist.
INFO: From ProtoCompile mediapipe/calculators/util/landmarks_to_render_data_calculator.pb.h:
bazel-out/android-arm64-v8a-opt/genfiles/external/com_google_protobuf/src: warning: directory does not exist.
INFO: From Compiling mediapipe/framework/stream_handler/fixed_size_input_stream_handler.cc:
mediapipe/framework/stream_handler/fixed_size_input_stream_handler.cc:150:17: warning: 'GetNodeReadiness' overrides a member function but is not marked 'override' [-Winconsistent-missing-override]
  NodeReadiness GetNodeReadiness(Timestamp* min_stream_timestamp) {
                ^
./mediapipe/framework/stream_handler/default_input_stream_handler.h:43:17: note: overridden virtual function is here
  NodeReadiness GetNodeReadiness(Timestamp* min_stream_timestamp) override;
                ^
1 warning generated.
INFO: From Compiling mediapipe/calculators/tflite/tflite_inference_calculator.cc:
In file included from mediapipe/calculators/tflite/tflite_inference_calculator.cc:30:
In file included from external/org_tensorflow/tensorflow/lite/delegates/gpu/gl/gl_buffer.h:24:
external/org_tensorflow/tensorflow/lite/delegates/gpu/common/status.h:65:9: warning: 'RETURN_IF_ERROR' macro redefined [-Wmacro-redefined]
#define RETURN_IF_ERROR(status)        \
        ^
./mediapipe/framework/deps/status_macros.h:84:9: note: previous definition is here
#define RETURN_IF_ERROR(expr)                                             \
        ^
1 warning generated.
INFO: From Compiling mediapipe/calculators/tflite/tflite_tensors_to_detections_calculator.cc:
In file included from mediapipe/calculators/tflite/tflite_tensors_to_detections_calculator.cc:31:
In file included from external/org_tensorflow/tensorflow/lite/delegates/gpu/gl/gl_buffer.h:24:
external/org_tensorflow/tensorflow/lite/delegates/gpu/common/status.h:65:9: warning: 'RETURN_IF_ERROR' macro redefined [-Wmacro-redefined]
#define RETURN_IF_ERROR(status)        \
        ^
./mediapipe/framework/deps/status_macros.h:84:9: note: previous definition is here
#define RETURN_IF_ERROR(expr)                                             \
        ^
1 warning generated.
INFO: From Compiling mediapipe/calculators/tflite/tflite_converter_calculator.cc:
In file included from mediapipe/calculators/tflite/tflite_converter_calculator.cc:31:
In file included from external/org_tensorflow/tensorflow/lite/delegates/gpu/gl/gl_buffer.h:24:
external/org_tensorflow/tensorflow/lite/delegates/gpu/common/status.h:65:9: warning: 'RETURN_IF_ERROR' macro redefined [-Wmacro-redefined]
#define RETURN_IF_ERROR(status)        \
        ^
./mediapipe/framework/deps/status_macros.h:84:9: note: previous definition is here
#define RETURN_IF_ERROR(expr)                                             \
        ^
1 warning generated.
INFO: From Linking mediapipe/graphs/hand_tracking/hand_landmark_gpu_graph_text_to_binary_graph [for host]:
clang: warning: argument unused during compilation: '-pthread'
INFO: From Linking mediapipe/graphs/hand_tracking/renderer_gpu_graph_text_to_binary_graph [for host]:
clang: warning: argument unused during compilation: '-pthread'
INFO: From Linking mediapipe/graphs/hand_tracking/hand_detection_gpu_graph_text_to_binary_graph [for host]:
clang: warning: argument unused during compilation: '-pthread'
INFO: From Compiling mediapipe/java/com/google/mediapipe/framework/jni/graph.cc:
mediapipe/java/com/google/mediapipe/framework/jni/graph.cc:201:9: warning: 'AddCallbackWithHeaderCalculator' is deprecated: Header packets are being deprecated. [-Wdeprecated-declarations]
  tool::AddCallbackWithHeaderCalculator(output_stream_name, output_stream_name,
        ^
./mediapipe/framework/tool/sink.h:124:1: note: 'AddCallbackWithHeaderCalculator' has been explicitly marked deprecated here
ABSL_DEPRECATED("Header packets are being deprecated.")
^
external/com_google_absl/absl/base/macros.h:148:49: note: expanded from macro 'ABSL_DEPRECATED'
#define ABSL_DEPRECATED(message) __attribute__((deprecated(message)))
                                                ^
1 warning generated.
ERROR: /private/var/tmp/_bazel_George/175af2d4352cd903fbaf66a4920193e6/external/org_tensorflow/tensorflow/core/BUILD:2785:1: Executing genrule @org_tensorflow//tensorflow/core:version_info_gen failed (Exit 1)
Traceback (most recent call last):
  File "/private/var/tmp/_bazel_George/175af2d4352cd903fbaf66a4920193e6/execroot/mediapipe/bazel-out/host/bin/external/org_tensorflow/tensorflow/tools/git/gen_git_source.runfiles/org_tensorflow/tensorflow/tools/git/gen_git_source.py", line 29, in <module>
    from builtins import bytes  # pylint: disable=redefined-builtin
ImportError: No module named builtins
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: 852.149s, Critical Path: 796.71s
INFO: 1066 processes: 1065 darwin-sandbox, 1 worker.
FAILED: Build did NOT complete successfully

Update I've finally managed to compile with a hacky workaround: simply commenting out the line that threw the error (line 29 in gen_git_source.py).

If there's a more elegant solution, happy to use that instead :)

Thank you so much for your patience and support

@jiuqiant
Copy link
Contributor

Glad to hear that. Now, we need to send a PR to Tensorflow ;)

However, it's still unclear to me why the error Undeclared identifier 'EGL_NO_CONFIG_KHR was triggered in your previous build with Python2. I was wondering if you have multiple NDKs and Bazel picks the one without EGL_NO_CONFIG_KHR. EGL_NO_CONFIG_KHR was added in NDK 16b in 2017.

@orgicus
Copy link

orgicus commented Aug 23, 2019

No worries at all.

I must admit it's pretty solid if it runs on my weird setup.
I do have multiple NDKs installed

The builtins ImportError happened with both NDK 18b and 20.
I did find a stray NDK 13.1 on my system:

cat ~/android-ndk/source.properties 
Pkg.Desc = Android NDK
Pkg.Revision = 13.1.3345770

but it was commented out from ~/.bash_profile (wasn't present in $PATH, nor $ANDROID_NDK_HOME).
Must've somehow got picked up for that EGL_NO_CONFIG_KHR error to show up.

Thanks again ! Amazing support 🎉

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants