首页 文章

当我使用bazel来构建libtensorflow_inference.so时

提问于
浏览
0

system:ubuntu 16.04 bazel:0.4.5 tensorflow:cpu version r1.0 gcc version:(Ubuntu 5.4.0-6ubuntu1~16.04.4)5.4.0 20160609

bazel build -c opt //tensorflow/contrib/android:libtensorflow_inference.so \

--crosstool_top = // external:android / crosstool \ --host_crosstool_top = @ bazel_tools // tools / cpp:toolchain \ --cpu = armeabi-v7a

错误是:

tensorflow/core/kernels/BUILD:3749:1: C++ compilation of rule '//tensorflow/core/kernels:android_tensorflow_kernels' failed: Process exited with status 1 [sandboxed].
tensorflow/core/kernels/split_v_op.cc:212:28: error: non-constant-expression cannot be narrowed from type 'value_type' (aka 'long long') to 'int' in initializer list [-Wc++11-narrowing]
          prefix_dim_size, split_sizes_vec[i], suffix_dim_size};
                           ^~~~~~~~~~~~~~~~~~
tensorflow/core/kernels/split_v_op.cc:172:12: note: in instantiation of member function 'tensorflow::SplitVOpCPU<int, long long>::Compute' requested here
  explicit SplitVOpCPU(OpKernelConstruction* c) : Base(c) {}
           ^
tensorflow/core/kernels/split_v_op.cc:355:19: note: in instantiation of member function 'tensorflow::SplitVOpCPU<int, long long>::SplitVOpCPU' requested here
TF_CALL_ALL_TYPES(REGISTER_SPLIT_LEN);
                  ^
tensorflow/core/kernels/split_v_op.cc:212:28: note: insert an explicit cast to silence this issue
          prefix_dim_size, split_sizes_vec[i], suffix_dim_size};
                           ^~~~~~~~~~~~~~~~~~
                           static_cast<int>( )
tensorflow/core/kernels/split_v_op.cc:212:28: error: non-constant-expression cannot be narrowed from type 'value_type' (aka 'long long') to 'int' in initializer list [-Wc++11-narrowing]
          prefix_dim_size, split_sizes_vec[i], suffix_dim_size};
                           ^~~~~~~~~~~~~~~~~~
tensorflow/core/kernels/split_v_op.cc:172:12: note: in instantiation of member function 'tensorflow::SplitVOpCPU<float, long long>::Compute' requested here
  explicit SplitVOpCPU(OpKernelConstruction* c) : Base(c) {}
           ^
tensorflow/core/kernels/split_v_op.cc:355:19: note: in instantiation of member function 'tensorflow::SplitVOpCPU<float, long long>::SplitVOpCPU' requested here
TF_CALL_ALL_TYPES(REGISTER_SPLIT_LEN);
                  ^
tensorflow/core/kernels/split_v_op.cc:212:28: note: insert an explicit cast to silence this issue
          prefix_dim_size, split_sizes_vec[i], suffix_dim_size};
                           ^~~~~~~~~~~~~~~~~~
                           static_cast<int>( )
tensorflow/core/kernels/split_v_op.cc:212:28: error: non-constant-expression cannot be narrowed from type 'value_type' (aka 'long long') to 'int' in initializer list [-Wc++11-narrowing]
          prefix_dim_size, split_sizes_vec[i], suffix_dim_size};
                           ^~~~~~~~~~~~~~~~~~
tensorflow/core/kernels/split_v_op.cc:172:12: note: in instantiation of member function 'tensorflow::SplitVOpCPU<tensorflow::bfloat16, long long>::Compute' requested here
  explicit SplitVOpCPU(OpKernelConstruction* c) : Base(c) {}
           ^
tensorflow/core/kernels/split_v_op.cc:356:1: note: in instantiation of member function 'tensorflow::SplitVOpCPU<tensorflow::bfloat16, long long>::SplitVOpCPU' requested here
REGISTER_SPLIT_LEN(bfloat16);
^
tensorflow/core/kernels/split_v_op.cc:353:3: note: expanded from macro 'REGISTER_SPLIT_LEN'
  REGISTER_SPLIT(type, int64);
  ^
tensorflow/core/kernels/split_v_op.cc:349:27: note: expanded from macro 'REGISTER_SPLIT'
                          SplitVOpCPU<type, len_type>);
                          ^
tensorflow/core/kernels/split_v_op.cc:212:28: note: insert an explicit cast to silence this issue
          prefix_dim_size, split_sizes_vec[i], suffix_dim_size};
                           ^~~~~~~~~~~~~~~~~~
                           static_cast<int>( )
3 errors generated.
Use --strategy=CppCompile=standalone to disable sandboxing for the failing actions.
Target //tensorflow/contrib/android:libtensorflow_inference.so failed to build
Use --verbose_failures to see the command lines of failed build steps.

1 回答

  • 1

    这些错误来自Android NDK r13中从gcc切换到Clang . 使用Bazel进行建筑时,为了获得最佳效果,请暂时使用NDK r12b .

相关问题