Does anyone know the correct bazel command to build the flex binaries for android? I'm trying to build a more recent version than the ones here . I keep coming up with an error when I try.
I know nothing about bazel, so I'm largely shooting in the dark here.
I'm setting up a build environment using the instructions here and then here
I can build the "non-flex" version using the commands here
I'm also using instructions here for guidance on building with the flex delegate (albeit not for android_arm64)
The error:
ERROR: /tensorflow_src/tensorflow/lite/delegates/flex/BUILD:126:27: Linking tensorflow/lite/delegates/flex/libtensorflowlite_flex.so failed: (Exit 1): clang failed: error executing command external/androidndk/ndk/toolchains/llvm/prebuilt/linux-x86_64/bin/clang -shared -o bazel-out/arm64-v8a-opt/bin/tensorflow/lite/delegates/flex/libtensorflowlite_flex.so -Wl,-whole-archive ... (remaining 752 arguments skipped)
bazel-out/arm64-v8a-opt/bin/tensorflow/core/kernels/libportable_tensorflow_kernels.pic.lo(histogram_summary_op.pic.o): In function `tensorflow::HistogramProto* google::protobuf::MessageLite::CreateMaybeMessage(google::protobuf::Arena*)':
/proc/self/cwd/external/com_google_protobuf/src/google/protobuf/message_lite.h:462: undefined reference to `tensorflow::HistogramProto* google::protobuf::Arena::CreateMaybeMessage(google::protobuf::Arena*)'
/proc/self/cwd/external/com_google_protobuf/src/google/protobuf/message_lite.h:462: undefined reference to `tensorflow::HistogramProto* google::protobuf::Arena::CreateMaybeMessage(google::protobuf::Arena*)'
/proc/self/cwd/external/com_google_protobuf/src/google/protobuf/message_lite.h:462: undefined reference to `tensorflow::HistogramProto* google::protobuf::Arena::CreateMaybeMessage(google::protobuf::Arena*)'
/proc/self/cwd/external/com_google_protobuf/src/google/protobuf/message_lite.h:462: undefined reference to `tensorflow::HistogramProto* google::protobuf::Arena::CreateMaybeMessage(google::protobuf::Arena*)'
/proc/self/cwd/external/com_google_protobuf/src/google/protobuf/message_lite.h:462: undefined reference to `tensorflow::HistogramProto* google::protobuf::Arena::CreateMaybeMessage(google::protobuf::Arena*)'
bazel-out/arm64-v8a-opt/bin/tensorflow/core/kernels/libportable_tensorflow_kernels.pic.lo(histogram_summary_op.pic.o):/proc/self/cwd/external/com_google_protobuf/src/google/protobuf/message_lite.h:462: more undefined references to `tensorflow::HistogramProto* google::protobuf::Arena::CreateMaybeMessage(google::protobuf::Arena*)' follow
bazel-out/arm64-v8a-opt/bin/tensorflow/core/libportable_tensorflow_lib_lite.pic.lo(bfc_allocator.pic.o): In function `tsl::BFCAllocator::MaybeWriteMemoryMap()':
/proc/self/cwd/tensorflow/tsl/framework/bfc_allocator.cc:1134: undefined reference to `tensorflow::MemoryDump::~MemoryDump()'
bazel-out/arm64-v8a-opt/bin/tensorflow/core/libportable_tensorflow_lib_lite.pic.lo(bfc_allocator.pic.o): In function `tsl::BFCAllocator::RecordMemoryMapInternal()':
/proc/self/cwd/tensorflow/tsl/framework/bfc_allocator.cc:1143: undefined reference to `tensorflow::MemoryDump::MemoryDump()'
bazel-out/arm64-v8a-opt/bin/tensorflow/core/libportable_tensorflow_lib_lite.pic.lo(bfc_allocator.pic.o): In function `tensorflow::MemAllocatorStats* google::protobuf::MessageLite::CreateMaybeMessage(google::protobuf::Arena*)':
/proc/self/cwd/external/com_google_protobuf/src/google/protobuf/message_lite.h:462: undefined reference to `tensorflow::MemAllocatorStats* google::protobuf::Arena::CreateMaybeMessage(google::protobuf::Arena*)'
bazel-out/arm64-v8a-opt/bin/tensorflow/core/libportable_tensorflow_lib_lite.pic.lo(bfc_allocator.pic.o): In function `google::protobuf::internal::GenericTypeHandler::New(google::protobuf::Arena*)':
/proc/self/cwd/external/com_google_protobuf/src/google/protobuf/repeated_field.h:683: undefined reference to `tensorflow::BinSummary* google::protobuf::Arena::CreateMaybeMessage(google::protobuf::Arena*)'
bazel-out/arm64-v8a-opt/bin/tensorflow/core/libportable_tensorflow_lib_lite.pic.lo(bfc_allocator.pic.o): In function `google::protobuf::internal::GenericTypeHandler::New(google::protobuf::Arena*)':
/proc/self/cwd/external/com_google_protobuf/src/google/protobuf/repeated_field.h:683: undefined reference to `tensorflow::MemChunk* google::protobuf::Arena::CreateMaybeMessage(google::protobuf::Arena*)'
bazel-out/arm64-v8a-opt/bin/tensorflow/core/libportable_tensorflow_lib_lite.pic.lo(histogram.pic.o): In function `tsl::histogram::Histogram::EncodeToProto(tensorflow::HistogramProto*, bool) const':
/proc/self/cwd/tensorflow/tsl/lib/histogram/histogram.cc:206: undefined reference to `tensorflow::HistogramProto::Clear()'
bazel-out/arm64-v8a-opt/bin/tensorflow/core/framework/libsummary_proto_cc_impl.pic.lo(summary.pb.pic.o): In function `tensorflow::Summary_Value::InitAsDefaultInstance()':
/proc/self/cwd/bazel-out/arm64-v8a-opt/bin/tensorflow/core/framework/summary.pb.cc:2296: undefined reference to `tensorflow::_HistogramProto_default_instance_'
/proc/self/cwd/bazel-out/arm64-v8a-opt/bin/tensorflow/core/framework/summary.pb.cc:2296: undefined reference to `tensorflow::_HistogramProto_default_instance_'
/proc/self/cwd/bazel-out/arm64-v8a-opt/bin/tensorflow/core/framework/summary.pb.cc:2296: undefined reference to `tensorflow::_HistogramProto_default_instance_'
/proc/self/cwd/bazel-out/arm64-v8a-opt/bin/tensorflow/core/framework/summary.pb.cc:2296: undefined reference to `tensorflow::_HistogramProto_default_instance_'
bazel-out/arm64-v8a-opt/bin/tensorflow/core/framework/libsummary_proto_cc_impl.pic.lo(summary.pb.pic.o): In function `tensorflow::HistogramProto* google::protobuf::MessageLite::CreateMaybeMessage(google::protobuf::Arena*)':
/proc/self/cwd/external/com_google_protobuf/src/google/protobuf/message_lite.h:462: undefined reference to `tensorflow::HistogramProto* google::protobuf::Arena::CreateMaybeMessage(google::protobuf::Arena*)'
bazel-out/arm64-v8a-opt/bin/tensorflow/core/framework/libsummary_proto_cc_impl.pic.lo(summary.pb.pic.o): In function `tensorflow::Summary_Value::histo() const':
/proc/self/cwd/bazel-out/arm64-v8a-opt/bin/tensorflow/core/framework/summary.pb.h:2797: undefined reference to `tensorflow::_HistogramProto_default_instance_'
/proc/self/cwd/bazel-out/arm64-v8a-opt/bin/tensorflow/core/framework/summary.pb.h:2797: undefined reference to `tensorflow::_HistogramProto_default_instance_'
bazel-out/arm64-v8a-opt/bin/tensorflow/core/framework/libsummary_proto_cc_impl.pic.lo(summary.pb.pic.o): In function `Summary_Value':
/proc/self/cwd/bazel-out/arm64-v8a-opt/bin/tensorflow/core/framework/summary.pb.cc:2467: undefined reference to `tensorflow::HistogramProto::MergeFrom(tensorflow::HistogramProto const&)'
bazel-out/arm64-v8a-opt/bin/tensorflow/core/framework/libsummary_proto_cc_impl.pic.lo(summary.pb.pic.o): In function `tensorflow::HistogramProto* google::protobuf::MessageLite::CreateMaybeMessage(google::protobuf::Arena*)':
/proc/self/cwd/external/com_google_protobuf/src/google/protobuf/message_lite.h:462: undefined reference to `tensorflow::HistogramProto* google::protobuf::Arena::CreateMaybeMessage(google::protobuf::Arena*)'
bazel-out/arm64-v8a-opt/bin/tensorflow/core/framework/libsummary_proto_cc_impl.pic.lo(summary.pb.pic.o): In function `bool google::protobuf::internal::WireFormatLite::ReadMessage(google::protobuf::io::CodedInputStream*, tensorflow::HistogramProto*)':
/proc/self/cwd/external/com_google_protobuf/src/google/protobuf/wire_format_lite.h:1264: undefined reference to `tensorflow::HistogramProto::MergePartialFromCodedStream(google::protobuf::io::CodedInputStream*)'
bazel-out/arm64-v8a-opt/bin/tensorflow/core/framework/libsummary_proto_cc_impl.pic.lo(summary.pb.pic.o): In function `unsigned char* google::protobuf::internal::WireFormatLite::InternalWriteMessageToArray(int, tensorflow::HistogramProto const&, unsigned char*)':
/proc/self/cwd/external/com_google_protobuf/src/google/protobuf/wire_format_lite.h:1696: undefined reference to `tensorflow::HistogramProto::InternalSerializeWithCachedSizesToArray(unsigned char*) const'
bazel-out/arm64-v8a-opt/bin/tensorflow/core/framework/libsummary_proto_cc_impl.pic.lo(summary.pb.pic.o): In function `unsigned long google::protobuf::internal::WireFormatLite::MessageSize(tensorflow::HistogramProto const&)':
/proc/self/cwd/external/com_google_protobuf/src/google/protobuf/wire_format_lite.h:1761: undefined reference to `tensorflow::HistogramProto::ByteSizeLong() const'
bazel-out/arm64-v8a-opt/bin/tensorflow/core/framework/libsummary_proto_cc_impl.pic.lo(summary.pb.pic.o): In function `tensorflow::HistogramProto* google::protobuf::MessageLite::CreateMaybeMessage(google::protobuf::Arena*)':
/proc/self/cwd/external/com_google_protobuf/src/google/protobuf/message_lite.h:462: undefined reference to `tensorflow::HistogramProto* google::protobuf::Arena::CreateMaybeMessage(google::protobuf::Arena*)'
bazel-out/arm64-v8a-opt/bin/tensorflow/core/framework/libsummary_proto_cc_impl.pic.lo(summary.pb.pic.o): In function `tensorflow::Summary_Value::MergeFrom(tensorflow::Summary_Value const&)':
/proc/self/cwd/bazel-out/arm64-v8a-opt/bin/tensorflow/core/framework/summary.pb.cc:(.text+0x5fe8): undefined reference to `tensorflow::_HistogramProto_default_instance_'
/proc/self/cwd/bazel-out/arm64-v8a-opt/bin/tensorflow/core/framework/summary.pb.cc:(.text+0x5fec): undefined reference to `tensorflow::_HistogramProto_default_instance_'
/proc/self/cwd/bazel-out/arm64-v8a-opt/bin/tensorflow/core/framework/summary.pb.cc:3102: undefined reference to `tensorflow::HistogramProto::MergeFrom(tensorflow::HistogramProto const&)'
bazel-out/arm64-v8a-opt/bin/tensorflow/core/framework/libsummary_proto_cc_impl.pic.lo(summary.pb.pic.o):(.data+0x68): undefined reference to `scc_info_HistogramProto_tensorflow_2ftsl_2fprotobuf_2fhistogram_2eproto'
bazel-out/arm64-v8a-opt/bin/tensorflow/core/framework/libsummary_proto_cc_impl.pic.lo(summary.pb.pic.o):(.data.rel.ro+0x40): undefined reference to `descriptor_table_tensorflow_2ftsl_2fprotobuf_2fhistogram_2eproto'
bazel-out/arm64-v8a-opt/bin/tensorflow/core/lib/core/liberror_codes_proto_cc_impl.pic.lo(error_codes.pb.pic.o):(.data.rel.ro+0x0): undefined reference to `descriptor_table_tensorflow_2ftsl_2fprotobuf_2ferror_5fcodes_2eproto'
bazel-out/arm64-v8a-opt/bin/tensorflow/core/protobuf/liberror_codes_proto_impl_cc_impl.pic.lo(error_codes.pb.pic.o):(.data.rel.ro+0x0): undefined reference to `descriptor_table_tensorflow_2ftsl_2fprotobuf_2ferror_5fcodes_2eproto'
bazel-out/arm64-v8a-opt/bin/tensorflow/core/protobuf/libfor_core_protos_cc_impl.pic.lo(config.pb.pic.o): In function `tensorflow::ConfigProto::InitAsDefaultInstance()':
/proc/self/cwd/bazel-out/arm64-v8a-opt/bin/tensorflow/core/protobuf/config.pb.cc:5881: undefined reference to `tensorflow::_RPCOptions_default_instance_'
/proc/self/cwd/bazel-out/arm64-v8a-opt/bin/tensorflow/core/protobuf/config.pb.cc:5881: undefined reference to `tensorflow::_RPCOptions_default_instance_'
/proc/self/cwd/bazel-out/arm64-v8a-opt/bin/tensorflow/core/protobuf/config.pb.cc:5881: undefined reference to `tensorflow::_RPCOptions_default_instance_'
/proc/self/cwd/bazel-out/arm64-v8a-opt/bin/tensorflow/core/protobuf/config.pb.cc:5881: undefined reference to `tensorflow::_RPCOptions_default_instance_'
bazel-out/arm64-v8a-opt/bin/tensorflow/core/protobuf/libfor_core_protos_cc_impl.pic.lo(config.pb.pic.o): In function `ConfigProto':
/proc/self/cwd/bazel-out/arm64-v8a-opt/bin/tensorflow/core/protobuf/config.pb.cc:6027: undefined reference to `tensorflow::RPCOptions::RPCOptions(tensorflow::RPCOptions const&)'
bazel-out/arm64-v8a-opt/bin/tensorflow/core/protobuf/libfor_core_protos_cc_impl.pic.lo(config.pb.pic.o): In function `tensorflow::RPCOptions* google::protobuf::MessageLite::CreateMaybeMessage(google::protobuf::Arena*)':
/proc/self/cwd/external/com_google_protobuf/src/google/protobuf/message_lite.h:462: undefined reference to `tensorflow::RPCOptions* google::protobuf::Arena::CreateMaybeMessage(google::protobuf::Arena*)'
bazel-out/arm64-v8a-opt/bin/tensorflow/core/protobuf/libfor_core_protos_cc_impl.pic.lo(config.pb.pic.o): In function `bool google::protobuf::internal::WireFormatLite::ReadMessage(google::protobuf::io::CodedInputStream*, tensorflow::RPCOptions*)':
/proc/self/cwd/external/com_google_protobuf/src/google/protobuf/wire_format_lite.h:1264: undefined reference to `tensorflow::RPCOptions::MergePartialFromCodedStream(google::protobuf::io::CodedInputStream*)'
bazel-out/arm64-v8a-opt/bin/tensorflow/core/protobuf/libfor_core_protos_cc_impl.pic.lo(config.pb.pic.o): In function `unsigned char* google::protobuf::internal::WireFormatLite::InternalWriteMessageToArray(int, tensorflow::RPCOptions const&, unsigned char*)':
/proc/self/cwd/external/com_google_protobuf/src/google/protobuf/wire_format_lite.h:1696: undefined reference to `tensorflow::RPCOptions::InternalSerializeWithCachedSizesToArray(unsigned char*) const'
bazel-out/arm64-v8a-opt/bin/tensorflow/core/protobuf/libfor_core_protos_cc_impl.pic.lo(config.pb.pic.o): In function `unsigned long google::protobuf::internal::WireFormatLite::MessageSize(tensorflow::RPCOptions const&)':
/proc/self/cwd/external/com_google_protobuf/src/google/protobuf/wire_format_lite.h:1761: undefined reference to `tensorflow::RPCOptions::ByteSizeLong() const'
bazel-out/arm64-v8a-opt/bin/tensorflow/core/protobuf/libfor_core_protos_cc_impl.pic.lo(config.pb.pic.o): In function `tensorflow::RPCOptions* google::protobuf::MessageLite::CreateMaybeMessage(google::protobuf::Arena*)':
/proc/self/cwd/external/com_google_protobuf/src/google/protobuf/message_lite.h:462: undefined reference to `tensorflow::RPCOptions* google::protobuf::Arena::CreateMaybeMessage(google::protobuf::Arena*)'
bazel-out/arm64-v8a-opt/bin/tensorflow/core/protobuf/libfor_core_protos_cc_impl.pic.lo(config.pb.pic.o): In function `tensorflow::ConfigProto::rpc_options() const':
/proc/self/cwd/bazel-out/arm64-v8a-opt/bin/tensorflow/core/protobuf/config.pb.h:6034: undefined reference to `tensorflow::_RPCOptions_default_instance_'
/proc/self/cwd/bazel-out/arm64-v8a-opt/bin/tensorflow/core/protobuf/config.pb.h:6034: undefined reference to `tensorflow::_RPCOptions_default_instance_'
bazel-out/arm64-v8a-opt/bin/tensorflow/core/protobuf/libfor_core_protos_cc_impl.pic.lo(config.pb.pic.o): In function `tensorflow::ConfigProto::MergeFrom(tensorflow::ConfigProto const&)':
/proc/self/cwd/bazel-out/arm64-v8a-opt/bin/tensorflow/core/protobuf/config.pb.cc:7000: undefined reference to `tensorflow::RPCOptions::MergeFrom(tensorflow::RPCOptions const&)'
bazel-out/arm64-v8a-opt/bin/tensorflow/core/protobuf/libfor_core_protos_cc_impl.pic.lo(config.pb.pic.o):(.data+0x90): undefined reference to `scc_info_RPCOptions_tensorflow_2ftsl_2fprotobuf_2frpc_5foptions_2eproto'
bazel-out/arm64-v8a-opt/bin/tensorflow/core/protobuf/libfor_core_protos_cc_impl.pic.lo(bfc_memory_map.pb.pic.o):(.data.rel.ro+0x0): undefined reference to `descriptor_table_tensorflow_2ftsl_2fprotobuf_2fbfc_5fmemory_5fmap_2eproto'
bazel-out/arm64-v8a-opt/bin/tensorflow/core/protobuf/libfor_core_protos_cc_impl.pic.lo(rpc_options.pb.pic.o):(.data.rel.ro+0x0): undefined reference to `descriptor_table_tensorflow_2ftsl_2fprotobuf_2frpc_5foptions_2eproto'
bazel-out/arm64-v8a-opt/bin/tensorflow/core/util/libtest_log_proto_cc_impl.pic.lo(test_log.pb.pic.o):(.data.rel.ro+0x0): undefined reference to `descriptor_table_tensorflow_2ftsl_2fprotobuf_2ftest_5flog_2eproto'
But I get the same error:
ERROR: /tensorflow_src/tensorflow/lite/delegates/flex/BUILD:126:27: Linking tensorflow/lite/delegates/flex/libtensorflowlite_flex.so failed: (Exit 1): clang failed: error executing command external/androidndk/ndk/toolchains/llvm/prebuilt/linux-x86_64/bin/clang -shared -o bazel-out/arm64-v8a-opt/bin/tensorflow/lite/delegates/flex/libtensorflowlite_flex.so -Wl,-whole-archive ... (remaining 752 arguments skipped)
bazel-out/arm64-v8a-opt/bin/tensorflow/core/kernels/libportable_tensorflow_kernels.pic.lo(histogram_summary_op.pic.o): In function `tensorflow::HistogramProto* google::protobuf::MessageLite::CreateMaybeMessage(google::protobuf::Arena*)':
/proc/self/cwd/external/com_google_protobuf/src/google/protobuf/message_lite.h:462: undefined reference to `tensorflow::HistogramProto* google::protobuf::Arena::CreateMaybeMessage(google::protobuf::Arena*)'
/proc/self/cwd/external/com_google_protobuf/src/google/protobuf/message_lite.h:462: undefined reference to `tensorflow::HistogramProto* google::protobuf::Arena::CreateMaybeMessage(google::protobuf::Arena*)'
/proc/self/cwd/external/com_google_protobuf/src/google/protobuf/message_lite.h:462: undefined reference to `tensorflow::HistogramProto* google::protobuf::Arena::CreateMaybeMessage(google::protobuf::Arena*)'
/proc/self/cwd/external/com_google_protobuf/src/google/protobuf/message_lite.h:462: undefined reference to `tensorflow::HistogramProto* google::protobuf::Arena::CreateMaybeMessage(google::protobuf::Arena*)'
/proc/self/cwd/external/com_google_protobuf/src/google/protobuf/message_lite.h:462: undefined reference to `tensorflow::HistogramProto* google::protobuf::Arena::CreateMaybeMessage(google::protobuf::Arena*)'
bazel-out/arm64-v8a-opt/bin/tensorflow/core/kernels/libportable_tensorflow_kernels.pic.lo(histogram_summary_op.pic.o):/proc/self/cwd/external/com_google_protobuf/src/google/protobuf/message_lite.h:462: more undefined references to `tensorflow::HistogramProto* google::protobuf::Arena::CreateMaybeMessage(google::protobuf::Arena*)' follow
bazel-out/arm64-v8a-opt/bin/tensorflow/core/libportable_tensorflow_lib_lite.pic.lo(bfc_allocator.pic.o): In function `tsl::BFCAllocator::MaybeWriteMemoryMap()':
/proc/self/cwd/tensorflow/tsl/framework/bfc_allocator.cc:1134: undefined reference to `tensorflow::MemoryDump::~MemoryDump()'
bazel-out/arm64-v8a-opt/bin/tensorflow/core/libportable_tensorflow_lib_lite.pic.lo(bfc_allocator.pic.o): In function `tsl::BFCAllocator::RecordMemoryMapInternal()':
/proc/self/cwd/tensorflow/tsl/framework/bfc_allocator.cc:1143: undefined reference to `tensorflow::MemoryDump::MemoryDump()'
bazel-out/arm64-v8a-opt/bin/tensorflow/core/libportable_tensorflow_lib_lite.pic.lo(bfc_allocator.pic.o): In function `tensorflow::MemAllocatorStats* google::protobuf::MessageLite::CreateMaybeMessage(google::protobuf::Arena*)':
/proc/self/cwd/external/com_google_protobuf/src/google/protobuf/message_lite.h:462: undefined reference to `tensorflow::MemAllocatorStats* google::protobuf::Arena::CreateMaybeMessage(google::protobuf::Arena*)'
bazel-out/arm64-v8a-opt/bin/tensorflow/core/libportable_tensorflow_lib_lite.pic.lo(bfc_allocator.pic.o): In function `google::protobuf::internal::GenericTypeHandler::New(google::protobuf::Arena*)':
/proc/self/cwd/external/com_google_protobuf/src/google/protobuf/repeated_field.h:683: undefined reference to `tensorflow::BinSummary* google::protobuf::Arena::CreateMaybeMessage(google::protobuf::Arena*)'
bazel-out/arm64-v8a-opt/bin/tensorflow/core/libportable_tensorflow_lib_lite.pic.lo(bfc_allocator.pic.o): In function `google::protobuf::internal::GenericTypeHandler::New(google::protobuf::Arena*)':
/proc/self/cwd/external/com_google_protobuf/src/google/protobuf/repeated_field.h:683: undefined reference to `tensorflow::MemChunk* google::protobuf::Arena::CreateMaybeMessage(google::protobuf::Arena*)'
bazel-out/arm64-v8a-opt/bin/tensorflow/core/libportable_tensorflow_lib_lite.pic.lo(histogram.pic.o): In function `tsl::histogram::Histogram::EncodeToProto(tensorflow::HistogramProto*, bool) const':
/proc/self/cwd/tensorflow/tsl/lib/histogram/histogram.cc:206: undefined reference to `tensorflow::HistogramProto::Clear()'
bazel-out/arm64-v8a-opt/bin/tensorflow/core/framework/libsummary_proto_cc_impl.pic.lo(summary.pb.pic.o): In function `tensorflow::Summary_Value::InitAsDefaultInstance()':
/proc/self/cwd/bazel-out/arm64-v8a-opt/bin/tensorflow/core/framework/summary.pb.cc:2296: undefined reference to `tensorflow::_HistogramProto_default_instance_'
/proc/self/cwd/bazel-out/arm64-v8a-opt/bin/tensorflow/core/framework/summary.pb.cc:2296: undefined reference to `tensorflow::_HistogramProto_default_instance_'
/proc/self/cwd/bazel-out/arm64-v8a-opt/bin/tensorflow/core/framework/summary.pb.cc:2296: undefined reference to `tensorflow::_HistogramProto_default_instance_'
/proc/self/cwd/bazel-out/arm64-v8a-opt/bin/tensorflow/core/framework/summary.pb.cc:2296: undefined reference to `tensorflow::_HistogramProto_default_instance_'
bazel-out/arm64-v8a-opt/bin/tensorflow/core/framework/libsummary_proto_cc_impl.pic.lo(summary.pb.pic.o): In function `tensorflow::HistogramProto* google::protobuf::MessageLite::CreateMaybeMessage(google::protobuf::Arena*)':
/proc/self/cwd/external/com_google_protobuf/src/google/protobuf/message_lite.h:462: undefined reference to `tensorflow::HistogramProto* google::protobuf::Arena::CreateMaybeMessage(google::protobuf::Arena*)'
bazel-out/arm64-v8a-opt/bin/tensorflow/core/framework/libsummary_proto_cc_impl.pic.lo(summary.pb.pic.o): In function `tensorflow::Summary_Value::histo() const':
/proc/self/cwd/bazel-out/arm64-v8a-opt/bin/tensorflow/core/framework/summary.pb.h:2797: undefined reference to `tensorflow::_HistogramProto_default_instance_'
/proc/self/cwd/bazel-out/arm64-v8a-opt/bin/tensorflow/core/framework/summary.pb.h:2797: undefined reference to `tensorflow::_HistogramProto_default_instance_'
bazel-out/arm64-v8a-opt/bin/tensorflow/core/framework/libsummary_proto_cc_impl.pic.lo(summary.pb.pic.o): In function `Summary_Value':
/proc/self/cwd/bazel-out/arm64-v8a-opt/bin/tensorflow/core/framework/summary.pb.cc:2467: undefined reference to `tensorflow::HistogramProto::MergeFrom(tensorflow::HistogramProto const&)'
bazel-out/arm64-v8a-opt/bin/tensorflow/core/framework/libsummary_proto_cc_impl.pic.lo(summary.pb.pic.o): In function `tensorflow::HistogramProto* google::protobuf::MessageLite::CreateMaybeMessage(google::protobuf::Arena*)':
/proc/self/cwd/external/com_google_protobuf/src/google/protobuf/message_lite.h:462: undefined reference to `tensorflow::HistogramProto* google::protobuf::Arena::CreateMaybeMessage(google::protobuf::Arena*)'
bazel-out/arm64-v8a-opt/bin/tensorflow/core/framework/libsummary_proto_cc_impl.pic.lo(summary.pb.pic.o): In function `bool google::protobuf::internal::WireFormatLite::ReadMessage(google::protobuf::io::CodedInputStream*, tensorflow::HistogramProto*)':
/proc/self/cwd/external/com_google_protobuf/src/google/protobuf/wire_format_lite.h:1264: undefined reference to `tensorflow::HistogramProto::MergePartialFromCodedStream(google::protobuf::io::CodedInputStream*)'
bazel-out/arm64-v8a-opt/bin/tensorflow/core/framework/libsummary_proto_cc_impl.pic.lo(summary.pb.pic.o): In function `unsigned char* google::protobuf::internal::WireFormatLite::InternalWriteMessageToArray(int, tensorflow::HistogramProto const&, unsigned char*)':
/proc/self/cwd/external/com_google_protobuf/src/google/protobuf/wire_format_lite.h:1696: undefined reference to `tensorflow::HistogramProto::InternalSerializeWithCachedSizesToArray(unsigned char*) const'
bazel-out/arm64-v8a-opt/bin/tensorflow/core/framework/libsummary_proto_cc_impl.pic.lo(summary.pb.pic.o): In function `unsigned long google::protobuf::internal::WireFormatLite::MessageSize(tensorflow::HistogramProto const&)':
/proc/self/cwd/external/com_google_protobuf/src/google/protobuf/wire_format_lite.h:1761: undefined reference to `tensorflow::HistogramProto::ByteSizeLong() const'
bazel-out/arm64-v8a-opt/bin/tensorflow/core/framework/libsummary_proto_cc_impl.pic.lo(summary.pb.pic.o): In function `tensorflow::HistogramProto* google::protobuf::MessageLite::CreateMaybeMessage(google::protobuf::Arena*)':
/proc/self/cwd/external/com_google_protobuf/src/google/protobuf/message_lite.h:462: undefined reference to `tensorflow::HistogramProto* google::protobuf::Arena::CreateMaybeMessage(google::protobuf::Arena*)'
bazel-out/arm64-v8a-opt/bin/tensorflow/core/framework/libsummary_proto_cc_impl.pic.lo(summary.pb.pic.o): In function `tensorflow::Summary_Value::MergeFrom(tensorflow::Summary_Value const&)':
/proc/self/cwd/bazel-out/arm64-v8a-opt/bin/tensorflow/core/framework/summary.pb.cc:(.text+0x5fe8): undefined reference to `tensorflow::_HistogramProto_default_instance_'
/proc/self/cwd/bazel-out/arm64-v8a-opt/bin/tensorflow/core/framework/summary.pb.cc:(.text+0x5fec): undefined reference to `tensorflow::_HistogramProto_default_instance_'
/proc/self/cwd/bazel-out/arm64-v8a-opt/bin/tensorflow/core/framework/summary.pb.cc:3102: undefined reference to `tensorflow::HistogramProto::MergeFrom(tensorflow::HistogramProto const&)'
bazel-out/arm64-v8a-opt/bin/tensorflow/core/framework/libsummary_proto_cc_impl.pic.lo(summary.pb.pic.o):(.data+0x68): undefined reference to `scc_info_HistogramProto_tensorflow_2ftsl_2fprotobuf_2fhistogram_2eproto'
bazel-out/arm64-v8a-opt/bin/tensorflow/core/framework/libsummary_proto_cc_impl.pic.lo(summary.pb.pic.o):(.data.rel.ro+0x40): undefined reference to `descriptor_table_tensorflow_2ftsl_2fprotobuf_2fhistogram_2eproto'
bazel-out/arm64-v8a-opt/bin/tensorflow/core/lib/core/liberror_codes_proto_cc_impl.pic.lo(error_codes.pb.pic.o):(.data.rel.ro+0x0): undefined reference to `descriptor_table_tensorflow_2ftsl_2fprotobuf_2ferror_5fcodes_2eproto'
bazel-out/arm64-v8a-opt/bin/tensorflow/core/protobuf/liberror_codes_proto_impl_cc_impl.pic.lo(error_codes.pb.pic.o):(.data.rel.ro+0x0): undefined reference to `descriptor_table_tensorflow_2ftsl_2fprotobuf_2ferror_5fcodes_2eproto'
bazel-out/arm64-v8a-opt/bin/tensorflow/core/protobuf/libfor_core_protos_cc_impl.pic.lo(config.pb.pic.o): In function `tensorflow::ConfigProto::InitAsDefaultInstance()':
/proc/self/cwd/bazel-out/arm64-v8a-opt/bin/tensorflow/core/protobuf/config.pb.cc:5881: undefined reference to `tensorflow::_RPCOptions_default_instance_'
/proc/self/cwd/bazel-out/arm64-v8a-opt/bin/tensorflow/core/protobuf/config.pb.cc:5881: undefined reference to `tensorflow::_RPCOptions_default_instance_'
/proc/self/cwd/bazel-out/arm64-v8a-opt/bin/tensorflow/core/protobuf/config.pb.cc:5881: undefined reference to `tensorflow::_RPCOptions_default_instance_'
/proc/self/cwd/bazel-out/arm64-v8a-opt/bin/tensorflow/core/protobuf/config.pb.cc:5881: undefined reference to `tensorflow::_RPCOptions_default_instance_'
bazel-out/arm64-v8a-opt/bin/tensorflow/core/protobuf/libfor_core_protos_cc_impl.pic.lo(config.pb.pic.o): In function `ConfigProto':
/proc/self/cwd/bazel-out/arm64-v8a-opt/bin/tensorflow/core/protobuf/config.pb.cc:6027: undefined reference to `tensorflow::RPCOptions::RPCOptions(tensorflow::RPCOptions const&)'
bazel-out/arm64-v8a-opt/bin/tensorflow/core/protobuf/libfor_core_protos_cc_impl.pic.lo(config.pb.pic.o): In function `tensorflow::RPCOptions* google::protobuf::MessageLite::CreateMaybeMessage(google::protobuf::Arena*)':
/proc/self/cwd/external/com_google_protobuf/src/google/protobuf/message_lite.h:462: undefined reference to `tensorflow::RPCOptions* google::protobuf::Arena::CreateMaybeMessage(google::protobuf::Arena*)'
bazel-out/arm64-v8a-opt/bin/tensorflow/core/protobuf/libfor_core_protos_cc_impl.pic.lo(config.pb.pic.o): In function `bool google::protobuf::internal::WireFormatLite::ReadMessage(google::protobuf::io::CodedInputStream*, tensorflow::RPCOptions*)':
/proc/self/cwd/external/com_google_protobuf/src/google/protobuf/wire_format_lite.h:1264: undefined reference to `tensorflow::RPCOptions::MergePartialFromCodedStream(google::protobuf::io::CodedInputStream*)'
bazel-out/arm64-v8a-opt/bin/tensorflow/core/protobuf/libfor_core_protos_cc_impl.pic.lo(config.pb.pic.o): In function `unsigned char* google::protobuf::internal::WireFormatLite::InternalWriteMessageToArray(int, tensorflow::RPCOptions const&, unsigned char*)':
/proc/self/cwd/external/com_google_protobuf/src/google/protobuf/wire_format_lite.h:1696: undefined reference to `tensorflow::RPCOptions::InternalSerializeWithCachedSizesToArray(unsigned char*) const'
bazel-out/arm64-v8a-opt/bin/tensorflow/core/protobuf/libfor_core_protos_cc_impl.pic.lo(config.pb.pic.o): In function `unsigned long google::protobuf::internal::WireFormatLite::MessageSize(tensorflow::RPCOptions const&)':
/proc/self/cwd/external/com_google_protobuf/src/google/protobuf/wire_format_lite.h:1761: undefined reference to `tensorflow::RPCOptions::ByteSizeLong() const'
bazel-out/arm64-v8a-opt/bin/tensorflow/core/protobuf/libfor_core_protos_cc_impl.pic.lo(config.pb.pic.o): In function `tensorflow::RPCOptions* google::protobuf::MessageLite::CreateMaybeMessage(google::protobuf::Arena*)':
/proc/self/cwd/external/com_google_protobuf/src/google/protobuf/message_lite.h:462: undefined reference to `tensorflow::RPCOptions* google::protobuf::Arena::CreateMaybeMessage(google::protobuf::Arena*)'
bazel-out/arm64-v8a-opt/bin/tensorflow/core/protobuf/libfor_core_protos_cc_impl.pic.lo(config.pb.pic.o): In function `tensorflow::ConfigProto::rpc_options() const':
/proc/self/cwd/bazel-out/arm64-v8a-opt/bin/tensorflow/core/protobuf/config.pb.h:6034: undefined reference to `tensorflow::_RPCOptions_default_instance_'
/proc/self/cwd/bazel-out/arm64-v8a-opt/bin/tensorflow/core/protobuf/config.pb.h:6034: undefined reference to `tensorflow::_RPCOptions_default_instance_'
bazel-out/arm64-v8a-opt/bin/tensorflow/core/protobuf/libfor_core_protos_cc_impl.pic.lo(config.pb.pic.o): In function `tensorflow::ConfigProto::MergeFrom(tensorflow::ConfigProto const&)':
/proc/self/cwd/bazel-out/arm64-v8a-opt/bin/tensorflow/core/protobuf/config.pb.cc:7000: undefined reference to `tensorflow::RPCOptions::MergeFrom(tensorflow::RPCOptions const&)'
bazel-out/arm64-v8a-opt/bin/tensorflow/core/protobuf/libfor_core_protos_cc_impl.pic.lo(config.pb.pic.o):(.data+0x90): undefined reference to `scc_info_RPCOptions_tensorflow_2ftsl_2fprotobuf_2frpc_5foptions_2eproto'
bazel-out/arm64-v8a-opt/bin/tensorflow/core/protobuf/libfor_core_protos_cc_impl.pic.lo(bfc_memory_map.pb.pic.o):(.data.rel.ro+0x0): undefined reference to `descriptor_table_tensorflow_2ftsl_2fprotobuf_2fbfc_5fmemory_5fmap_2eproto'
bazel-out/arm64-v8a-opt/bin/tensorflow/core/protobuf/libfor_core_protos_cc_impl.pic.lo(rpc_options.pb.pic.o):(.data.rel.ro+0x0): undefined reference to `descriptor_table_tensorflow_2ftsl_2fprotobuf_2frpc_5foptions_2eproto'
bazel-out/arm64-v8a-opt/bin/tensorflow/core/util/libtest_log_proto_cc_impl.pic.lo(test_log.pb.pic.o):(.data.rel.ro+0x0): undefined reference to `descriptor_table_tensorflow_2ftsl_2fprotobuf_2ftest_5flog_2eproto'
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Target //tensorflow/lite/delegates/flex:tensorflowlite_flex failed to build
Use --verbose_failures to see the command lines of failed build steps.
For background, I'm trying to build new binaries because I get an error when running my model: Unsupported data type 14 in tensor, and a bit of googling tells me I need a newer version of tflite.
Does anyone know the correct bazel command to build the flex binaries for android? I'm trying to build a more recent version than the ones here . I keep coming up with an error when I try.
I know nothing about bazel, so I'm largely shooting in the dark here.
I'm using the following build command:
bazel build -c opt --config=android_arm64 tensorflow/lite/delegates/flex:tensorflowlite_flex
The error:
ERROR: /tensorflow_src/tensorflow/lite/delegates/flex/BUILD:126:27: Linking tensorflow/lite/delegates/flex/libtensorflowlite_flex.so failed: (Exit 1): clang failed: error executing command external/androidndk/ndk/toolchains/llvm/prebuilt/linux-x86_64/bin/clang -shared -o bazel-out/arm64-v8a-opt/bin/tensorflow/lite/delegates/flex/libtensorflowlite_flex.so -Wl,-whole-archive ... (remaining 752 arguments skipped) bazel-out/arm64-v8a-opt/bin/tensorflow/core/kernels/libportable_tensorflow_kernels.pic.lo(histogram_summary_op.pic.o): In function `tensorflow::HistogramProto* google::protobuf::MessageLite::CreateMaybeMessageI've also tried the following build command:
bazel build -c opt --cxxopt=--std=c++11 --config=android_arm64 tensorflow/lite/delegates/flex:tensorflowlite_flex
But I get the same error:
ERROR: /tensorflow_src/tensorflow/lite/delegates/flex/BUILD:126:27: Linking tensorflow/lite/delegates/flex/libtensorflowlite_flex.so failed: (Exit 1): clang failed: error executing command external/androidndk/ndk/toolchains/llvm/prebuilt/linux-x86_64/bin/clang -shared -o bazel-out/arm64-v8a-opt/bin/tensorflow/lite/delegates/flex/libtensorflowlite_flex.so -Wl,-whole-archive ... (remaining 752 arguments skipped) bazel-out/arm64-v8a-opt/bin/tensorflow/core/kernels/libportable_tensorflow_kernels.pic.lo(histogram_summary_op.pic.o): In function `tensorflow::HistogramProto* google::protobuf::MessageLite::CreateMaybeMessageFor background, I'm trying to build new binaries because I get an error when running my model:
Unsupported data type 14 in tensor
, and a bit of googling tells me I need a newer version of tflite.