2017-04-21 100 views
0

操作系統:Ubuntu 16.04 巴澤勒:0.4.5 tensorflow:CPU版本R1.0 gcc版本:(Ubuntu的5.4.0-6ubuntu1〜16.04.4)5.4.0 20160609當我使用巴澤勒到bulid libtensorflow_inference.so

巴澤勒構建-c選擇//tensorflow/contrib/android:libtensorflow_inference.so \

--crosstool_top = //外部:安卓/ crosstool的\ --host_crosstool_top = @ bazel_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

這些錯誤來自於交換機從海灣合作委員會的Android NDK R13到鏘。在與Bazel一起使用NDK r12b進行建造時,獲得最佳效果。

+0

非常感謝你,首先我使用r14b版本,現在我使用r12b版本。 –