bazel 编译tensorflow Android apk报错

ERROR: /home/jack/.cache/bazel/_bazel_jack/22adf4dd10935ff8fa49ba0372456929/external/flatbuffers/BUILD.bazel:24:1: C++ compilation of rule '@flatbuffers//:flatbuffers' failed (Exit 1)
In file included from external/flatbuffers/src/idl_gen_fbs.cpp:19:
In file included from external/flatbuffers/include/flatbuffers/code_generators.h:20:
In file included from external/androidndk/ndk/sources/cxx-stl/gnu-libstdc++/4.9/include/map:61:
In file included from external/androidndk/ndk/sources/cxx-stl/gnu-libstdc++/4.9/include/bits/stl_map.h:63:
In file included from external/androidndk/ndk/sources/cxx-stl/gnu-libstdc++/4.9/include/tuple:39:
In file included from external/androidndk/ndk/sources/cxx-stl/gnu-libstdc++/4.9/include/array:38:
In file included from external/androidndk/ndk/sources/cxx-stl/gnu-libstdc++/4.9/include/stdexcept:39:
In file included from external/androidndk/ndk/sources/cxx-stl/gnu-libstdc++/4.9/include/string:40:
In file included from external/androidndk/ndk/sources/cxx-stl/gnu-libstdc++/4.9/include/bits/char_traits.h:40:
In file included from external/androidndk/ndk/sources/cxx-stl/gnu-libstdc++/4.9/include/bits/postypes.h:40:
external/androidndk/ndk/sources/cxx-stl/gnu-libstdc++/4.9/include/cwchar:164:11: error: no member named 'vfwscanf' in the global namespace
  using ::vfwscanf;
        ~~^
external/androidndk/ndk/sources/cxx-stl/gnu-libstdc++/4.9/include/cwchar:170:11: error: no member named 'vswscanf' in the global namespace
  using ::vswscanf;
        ~~^
external/androidndk/ndk/sources/cxx-stl/gnu-libstdc++/4.9/include/cwchar:174:11: error: no member named 'vwscanf' in the global namespace
  using ::vwscanf;
        ~~^
external/androidndk/ndk/sources/cxx-stl/gnu-libstdc++/4.9/include/cwchar:191:11: error: no member named 'wcstof' in the global namespace
  using ::wcstof;
        ~~^
external/androidndk/ndk/sources/cxx-stl/gnu-libstdc++/4.9/include/cwchar:280:14: error: no member named 'wcstof' in namespace 'std'
  using std::wcstof;
        ~~~~~^
external/androidndk/ndk/sources/cxx-stl/gnu-libstdc++/4.9/include/cwchar:283:14: error: no member named 'vfwscanf' in namespace 'std'; did you mean 'fwscanf'?
  using std::vfwscanf;
        ~~~~~^
external/androidndk/ndk/sources/cxx-stl/gnu-libstdc++/4.9/include/cwchar:148:11: note: 'fwscanf' declared here
  using ::fwscanf;
          ^
external/androidndk/ndk/sources/cxx-stl/gnu-libstdc++/4.9/include/cwchar:286:14: error: no member named 'vswscanf' in namespace 'std'; did you mean 'swscanf'?
  using std::vswscanf;
        ~~~~~^
external/androidndk/ndk/sources/cxx-stl/gnu-libstdc++/4.9/include/cwchar:160:11: note: 'swscanf' declared here
  using ::swscanf;
          ^
external/androidndk/ndk/sources/cxx-stl/gnu-libstdc++/4.9/include/cwchar:289:14: error: no member named 'vwscanf' in namespace 'std'
  using std::vwscanf;
        ~~~~~^
In file included from external/flatbuffers/src/idl_gen_fbs.cpp:19:
In file included from external/flatbuffers/include/flatbuffers/code_generators.h:21:
In file included from external/androidndk/ndk/sources/cxx-stl/gnu-libstdc++/4.9/include/sstream:38:
In file included from external/androidndk/ndk/sources/cxx-stl/gnu-libstdc++/4.9/include/istream:38:
In file included from external/androidndk/ndk/sources/cxx-stl/gnu-libstdc++/4.9/include/ios:44:
In file included from external/androidndk/ndk/sources/cxx-stl/gnu-libstdc++/4.9/include/bits/basic_ios.h:37:
In file included from external/androidndk/ndk/sources/cxx-stl/gnu-libstdc++/4.9/include/bits/locale_facets.h:39:
external/androidndk/ndk/sources/cxx-stl/gnu-libstdc++/4.9/include/cwctype:89:11: error: no member named 'iswblank' in the global namespace; did you mean 'isblank'?
  using ::iswblank;
        ~~^
external/androidndk/ndk/sysroot/usr/include/ctype.h:66:5: note: 'isblank' declared here
int isblank(int);
    ^
In file included from external/flatbuffers/src/idl_gen_fbs.cpp:19:
In file included from external/flatbuffers/include/flatbuffers/code_generators.h:22:
In file included from external/flatbuffers/include/flatbuffers/idl.h:24:
In file included from external/flatbuffers/include/flatbuffers/base.h:37:
In file included from external/androidndk/ndk/sources/cxx-stl/gnu-libstdc++/4.9/include/algorithm:62:
In file included from external/androidndk/ndk/sources/cxx-stl/gnu-libstdc++/4.9/include/bits/stl_algo.h:66:
In file included from external/androidndk/ndk/sources/cxx-stl/gnu-libstdc++/4.9/include/random:38:
external/androidndk/ndk/sources/cxx-stl/gnu-libstdc++/4.9/include/cmath:1044:11: error: no member named 'acoshl' in the global namespace
  using ::acoshl;
        ~~^
external/androidndk/ndk/sources/cxx-stl/gnu-libstdc++/4.9/include/cmath:1048:11: error: no member named 'asinhl' in the global namespace
  using ::asinhl;
        ~~^
external/androidndk/ndk/sources/cxx-stl/gnu-libstdc++/4.9/include/cmath:1052:11: error: no member named 'atanhl' in the global namespace
  using ::atanhl;
        ~~^
external/androidndk/ndk/sources/cxx-stl/gnu-libstdc++/4.9/include/cmath:1056:11: error: no member named 'cbrtl' in the global namespace
  using ::cbrtl;
        ~~^
external/androidndk/ndk/sources/cxx-stl/gnu-libstdc++/4.9/include/cmath:1064:11: error: no member named 'erfl' in the global namespace
  using ::erfl;
        ~~^
external/androidndk/ndk/sources/cxx-stl/gnu-libstdc++/4.9/include/cmath:1068:11: error: no member named 'erfcl' in the global namespace
  using ::erfcl;
        ~~^
external/androidndk/ndk/sources/cxx-stl/gnu-libstdc++/4.9/include/cmath:1072:11: error: no member named 'exp2l' in the global namespace
  using ::exp2l;
        ~~^
external/androidndk/ndk/sources/cxx-stl/gnu-libstdc++/4.9/include/cmath:1076:11: error: no member named 'expm1l' in the global namespace
  using ::expm1l;
        ~~^
external/androidndk/ndk/sources/cxx-stl/gnu-libstdc++/4.9/include/cmath:1096:11: error: no member named 'hypotl' in the global namespace
  using ::hypotl;
        ~~^
external/androidndk/ndk/sources/cxx-stl/gnu-libstdc++/4.9/include/cmath:1104:11: error: no member named 'lgammal' in the global namespace
  using ::lgammal;
        ~~^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
20 errors generated.
Target //tensorflow/contrib/lite/examples/android:tflite_demo failed to build
Use --verbose_failures to see the command lines of failed build steps.
INFO: Elapsed time: 37.621s, Critical Path: 1.09s
INFO: 5 processes: 5 local.
FAILED: Build did NOT complete successfully

error: no member named 'iswblank' in the global namespace; did you mean 'isblank'

编译环境

bazel 0.15.2 

NDK: android-ndk-r15c-linux-x86_64.zip

SDK:api26

SDK build tools:26

该问题是由于NDK版本太高,和tensorflow源码不匹配,将NDK降低到r14b版本,即可编译通过

NDK版本下载地址:https://developer.android.com/ndk/downloads/older_releases#ndk-14b-downloads

猜你喜欢

转载自blog.csdn.net/u010349092/article/details/81169019