Compiling tflite-server
-
Hi,
I want to use the tf-lite server sdk to run my own model and write some pre and post process function using the InferenceHelper class.
I'm trying to built tf-lite server from source as it says here on my voxl2 qrb5165 but I keep getting the following compilation errors after I execute the ./build.sh native :./build.sh native -- The C compiler identification is GNU 7.5.0 -- The CXX compiler identification is GNU 7.5.0 -- Check for working C compiler: /usr/bin/cc -- Check for working C compiler: /usr/bin/cc -- works -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Detecting C compile features -- Detecting C compile features - done -- Check for working CXX compiler: /usr/bin/c++ -- Check for working CXX compiler: /usr/bin/c++ -- works -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Detecting CXX compile features -- Detecting CXX compile features - done -- Configuring done -- Generating done -- Build files have been written to: /home/xtend/voxl-tflite-server-sdk-0.9/build Scanning dependencies of target voxl-tflite-server make[2]: Warning: File '/usr/include/abseil-cpp/absl/base/attributes.h' has modification time 2719498 s in the future [ 75%] Building C object src/CMakeFiles/voxl-tflite-server.dir/resize.c.o [ 75%] Building CXX object src/CMakeFiles/voxl-tflite-server.dir/inference_helper.cpp.o [ 75%] Building CXX object src/CMakeFiles/voxl-tflite-server.dir/main.cpp.o [100%] Linking CXX executable voxl-tflite-server /usr/lib64//libtensorflow-lite.a(xnnpack_delegate.cc.o): In function `tflite::xnnpack::(anonymous namespace)::Subgraph::VisitTransposeConvNode(xnn_subgraph*, tflite::xnnpack::(anonymous namespace)::Delegate const&, TfLiteContext*, int, TfLiteNode*, TfLiteTensor const*, TfLiteTransposeConvParams const*, std::unordered_set<int, std::hash<int>, std::equal_to<int>, std::allocator<int> > const&, std::vector<unsigned int, std::allocator<unsigned int> > const&)': xnnpack_delegate.cc:(.text+0x14d4): undefined reference to `xnn_define_deconvolution_2d' /usr/lib64//libtensorflow-lite.a(xnnpack_delegate.cc.o): In function `tflite::xnnpack::(anonymous namespace)::Subgraph::VisitReshapeNode(xnn_subgraph*, tflite::xnnpack::(anonymous namespace)::Delegate const&, TfLiteContext*, int, TfLiteNode*, TfLiteTensor const*, TfLiteReshapeParams const*, std::vector<unsigned int, std::allocator<unsigned int> > const&) [clone .isra.130]': xnnpack_delegate.cc:(.text+0x18b0): undefined reference to `xnn_define_static_reshape' /usr/lib64//libtensorflow-lite.a(xnnpack_delegate.cc.o): In function `tflite::xnnpack::(anonymous namespace)::Subgraph::VisitReluNode(xnn_subgraph*, tflite::xnnpack::(anonymous namespace)::Delegate const&, TfLiteContext*, int, TfLiteNode*, TfLiteTensor const*, float, float, std::vector<unsigned int, std::allocator<unsigned int> > const&) [clone .isra.59]': xnnpack_delegate.cc:(.text+0x1ba8): undefined reference to `xnn_define_clamp' /usr/lib64//libtensorflow-lite.a(xnnpack_delegate.cc.o): In function `tflite::xnnpack::(anonymous namespace)::Subgraph::VisitAveragePool2DNode(xnn_subgraph*, tflite::xnnpack::(anonymous namespace)::Delegate const&, TfLiteContext*, int, TfLiteNode*, TfLiteTensor const*, TfLitePoolParams const*, std::vector<unsigned int, std::allocator<unsigned int> > const&) [clone .isra.49]': xnnpack_delegate.cc:(.text+0x1fe8): undefined reference to `xnn_define_average_pooling_2d' xnnpack_delegate.cc:(.text+0x2050): undefined reference to `xnn_define_clamp' /usr/lib64//libtensorflow-lite.a(xnnpack_delegate.cc.o): In function `tflite::xnnpack::(anonymous namespace)::Subgraph::VisitMaxPool2DNode(xnn_subgraph*, tflite::xnnpack::(anonymous namespace)::Delegate const&, TfLiteContext*, int, TfLiteNode*, TfLiteTensor const*, TfLitePoolParams const*, std::vector<unsigned int, std::allocator<unsigned int> > const&)': xnnpack_delegate.cc:(.text+0x2294): undefined reference to `xnn_define_max_pooling_2d' xnnpack_delegate.cc:(.text+0x2564): undefined reference to `xnn_define_clamp' /usr/lib64//libtensorflow-lite.a(xnnpack_delegate.cc.o): In function `tflite::xnnpack::(anonymous namespace)::Subgraph::VisitMeanNode(xnn_subgraph*, tflite::xnnpack::(anonymous namespace)::Delegate const&, TfLiteContext*, int, TfLiteNode*, TfLiteTensor const*, TfLiteReducerParams const*, std::vector<unsigned int, std::allocator<unsigned int> > const&)': xnnpack_delegate.cc:(.text+0x2a30): undefined reference to `xnn_define_global_average_pooling_2d' /usr/lib64//libtensorflow-lite.a(xnnpack_delegate.cc.o): In function `tflite::xnnpack::(anonymous namespace)::Subgraph::VisitResizeBilinearNode(xnn_subgraph*, tflite::xnnpack::(anonymous namespace)::Delegate const&, TfLiteContext*, int, TfLiteNode*, TfLiteTensor const*, TfLiteResizeBilinearParams const*, std::vector<unsigned int, std::allocator<unsigned int> > const&)': xnnpack_delegate.cc:(.text+0x2ecc): undefined reference to `xnn_define_static_resize_bilinear_2d' /usr/lib64//libtensorflow-lite.a(xnnpack_delegate.cc.o): In function `tflite::xnnpack::(anonymous namespace)::Subgraph::VisitPadNode(xnn_subgraph*, tflite::xnnpack::(anonymous namespace)::Delegate const&, TfLiteContext*, int, TfLiteNode*, TfLiteTensor const*, std::vector<unsigned int, std::allocator<unsigned int> > const&)': xnnpack_delegate.cc:(.text+0x349c): undefined reference to `xnn_define_static_constant_pad' /usr/lib64//libtensorflow-lite.a(xnnpack_delegate.cc.o): In function `tflite::xnnpack::(anonymous namespace)::Subgraph::VisitMediaPipeDeconvolutionNode(xnn_subgraph*, tflite::xnnpack::(anonymous namespace)::Delegate const&, TfLiteContext*, int, TfLiteNode*, TfLiteTensor const*, TfLiteTransposeConvParams const*, std::unordered_set<int, std::hash<int>, std::equal_to<int>, std::allocator<int> > const&, std::vector<unsigned int, std::allocator<unsigned int> > const&) [clone .isra.254]': xnnpack_delegate.cc:(.text+0x3a04): undefined reference to `xnn_define_deconvolution_2d' /usr/lib64//libtensorflow-lite.a(xnnpack_delegate.cc.o): In function `tflite::xnnpack::(anonymous namespace)::Subgraph::VisitDepthwiseConv2DNode(xnn_subgraph*, tflite::xnnpack::(anonymous namespace)::Delegate const&, TfLiteContext*, int, TfLiteNode*, TfLiteTensor const*, TfLiteDepthwiseConvParams const*, std::unordered_set<int, std::hash<int>, std::equal_to<int>, std::allocator<int> > const&, std::vector<unsigned int, std::allocator<unsigned int> > const&)': xnnpack_delegate.cc:(.text+0x4150): undefined reference to `xnn_define_depthwise_convolution_2d' /usr/lib64//libtensorflow-lite.a(xnnpack_delegate.cc.o): In function `tflite::xnnpack::(anonymous namespace)::Subgraph::VisitFullyConnectedNode(xnn_subgraph*, tflite::xnnpack::(anonymous namespace)::Delegate const&, TfLiteContext*, int, TfLiteNode*, TfLiteTensor const*, TfLiteFullyConnectedParams const*, std::unordered_set<int, std::hash<int>, std::equal_to<int>, std::allocator<int> > const&, std::vector<unsigned int, std::allocator<unsigned int> > const&)': xnnpack_delegate.cc:(.text+0x492c): undefined reference to `xnn_define_fully_connected' /usr/lib64//libtensorflow-lite.a(xnnpack_delegate.cc.o): In function `tflite::xnnpack::(anonymous namespace)::Subgraph::VisitPreluNode(xnn_subgraph*, tflite::xnnpack::(anonymous namespace)::Delegate const&, TfLiteContext*, int, TfLiteNode*, TfLiteTensor const*, std::unordered_set<int, std::hash<int>, std::equal_to<int>, std::allocator<int> > const&, std::vector<unsigned int, std::allocator<unsigned int> > const&) [clone .isra.253]': xnnpack_delegate.cc:(.text+0x4df4): undefined reference to `xnn_define_prelu' /usr/lib64//libtensorflow-lite.a(xnnpack_delegate.cc.o): In function `tflite::xnnpack::(anonymous namespace)::Subgraph::VisitMediaPipeMaxPoolingNode(xnn_subgraph*, tflite::xnnpack::(anonymous namespace)::Delegate const&, TfLiteContext*, int, TfLiteNode*, TfLiteTensor const*, TfLitePoolParams const*, std::vector<unsigned int, std::allocator<unsigned int> > const&) [clone .isra.66]': xnnpack_delegate.cc:(.text+0x5244): undefined reference to `xnn_define_argmax_pooling_2d' /usr/lib64//libtensorflow-lite.a(xnnpack_delegate.cc.o): In function `tflite::xnnpack::(anonymous namespace)::Subgraph::VisitMediaPipeUnpoolingNode(xnn_subgraph*, tflite::xnnpack::(anonymous namespace)::Delegate const&, TfLiteContext*, int, TfLiteNode*, TfLiteTensor const*, TfLitePoolParams const*, std::vector<unsigned int, std::allocator<unsigned int> > const&) [clone .isra.67]': xnnpack_delegate.cc:(.text+0x569c): undefined reference to `xnn_define_unpooling_2d' /usr/lib64//libtensorflow-lite.a(xnnpack_delegate.cc.o): In function `tflite::xnnpack::(anonymous namespace)::Subgraph::VisitConv2DNode(xnn_subgraph*, tflite::xnnpack::(anonymous namespace)::Delegate const&, TfLiteContext*, int, TfLiteNode*, TfLiteTensor const*, TfLiteConvParams const*, std::unordered_set<int, std::hash<int>, std::equal_to<int>, std::allocator<int> > const&, std::vector<unsigned int, std::allocator<unsigned int> > const&)': xnnpack_delegate.cc:(.text+0x5e20): undefined reference to `xnn_define_convolution_2d' /usr/lib64//libtensorflow-lite.a(xnnpack_delegate.cc.o): In function `tflite::xnnpack::(anonymous namespace)::Subgraph::VisitNode(xnn_subgraph*, tflite::xnnpack::(anonymous namespace)::Delegate const&, TfLiteContext*, TfLiteRegistration*, TfLiteNode*, int, std::unordered_set<int, std::hash<int>, std::equal_to<int>, std::allocator<int> > const&, std::vector<unsigned int, std::allocator<unsigned int> > const&)': xnnpack_delegate.cc:(.text+0x6854): undefined reference to `xnn_define_negate' xnnpack_delegate.cc:(.text+0x6964): undefined reference to `xnn_define_hardswish' xnnpack_delegate.cc:(.text+0x6a74): undefined reference to `xnn_define_bankers_rounding' xnnpack_delegate.cc:(.text+0x6b84): undefined reference to `xnn_define_convert' xnnpack_delegate.cc:(.text+0x6c98): undefined reference to `xnn_define_elu' xnnpack_delegate.cc:(.text+0x6e3c): undefined reference to `xnn_define_add2' xnnpack_delegate.cc:(.text+0x6f90): undefined reference to `xnn_define_squared_difference' xnnpack_delegate.cc:(.text+0x70a0): undefined reference to `xnn_define_ceiling' xnnpack_delegate.cc:(.text+0x71b0): undefined reference to `xnn_define_abs' xnnpack_delegate.cc:(.text+0x7318): undefined reference to `xnn_define_maximum2' xnnpack_delegate.cc:(.text+0x7428): undefined reference to `xnn_define_square_root' xnnpack_delegate.cc:(.text+0x75cc): undefined reference to `xnn_define_multiply2' xnnpack_delegate.cc:(.text+0x76c8): undefined reference to `xnn_define_convert' xnnpack_delegate.cc:(.text+0x7830): undefined reference to `xnn_define_minimum2' xnnpack_delegate.cc:(.text+0x79d4): undefined reference to `xnn_define_subtract' xnnpack_delegate.cc:(.text+0x7ad0): undefined reference to `xnn_define_square' xnnpack_delegate.cc:(.text+0x7be4): undefined reference to `xnn_define_leaky_relu' xnnpack_delegate.cc:(.text+0x7d04): undefined reference to `xnn_define_depth_to_space' xnnpack_delegate.cc:(.text+0x7e18): undefined reference to `xnn_define_sigmoid' xnnpack_delegate.cc:(.text+0x7f28): undefined reference to `xnn_define_floor' xnnpack_delegate.cc:(.text+0x8110): undefined reference to `xnn_define_divide' xnnpack_delegate.cc:(.text+0x8428): undefined reference to `xnn_define_softmax' /usr/lib64//libtensorflow-lite.a(xnnpack_delegate.cc.o): In function `TfLiteXNNPackDelegateCreate': xnnpack_delegate.cc:(.text+0x8bb4): undefined reference to `xnn_initialize' xnnpack_delegate.cc:(.text+0x8c18): undefined reference to `pthreadpool_destroy' xnnpack_delegate.cc:(.text+0x8c68): undefined reference to `pthreadpool_destroy' xnnpack_delegate.cc:(.text+0x8cbc): undefined reference to `pthreadpool_create' /usr/lib64//libtensorflow-lite.a(xnnpack_delegate.cc.o): In function `tflite::xnnpack::(anonymous namespace)::SubgraphInvoke(TfLiteContext*, TfLiteNode*)': xnnpack_delegate.cc:(.text+0x8f48): undefined reference to `xnn_setup_runtime' xnnpack_delegate.cc:(.text+0x9018): undefined reference to `xnn_invoke_runtime' /usr/lib64//libtensorflow-lite.a(xnnpack_delegate.cc.o): In function `tflite::xnnpack::(anonymous namespace)::Subgraph::Create(TfLiteContext*, TfLiteDelegateParams const*, tflite::xnnpack::(anonymous namespace)::Delegate const&)': xnnpack_delegate.cc:(.text+0xa7bc): undefined reference to `xnn_create_subgraph' xnnpack_delegate.cc:(.text+0xaf04): undefined reference to `xnn_define_channelwise_quantized_tensor_value' xnnpack_delegate.cc:(.text+0xb0d8): undefined reference to `xnn_delete_subgraph' xnnpack_delegate.cc:(.text+0xb2c8): undefined reference to `xnn_define_quantized_tensor_value' xnnpack_delegate.cc:(.text+0xb2f0): undefined reference to `xnn_define_tensor_value' xnnpack_delegate.cc:(.text+0xb56c): undefined reference to `xnn_delete_subgraph' xnnpack_delegate.cc:(.text+0xb710): undefined reference to `xnn_create_runtime_v2' xnnpack_delegate.cc:(.text+0xb748): undefined reference to `xnn_delete_runtime' xnnpack_delegate.cc:(.text+0xb754): undefined reference to `xnn_delete_runtime' /usr/lib64//libabsl_status.a(status.cc.o): In function `absl::lts_20210324::Status::ToStringSlow[abi:cxx11](absl::lts_20210324::StatusToStringMode) const::{lambda(absl::lts_20210324::string_view, absl::lts_20210324::Cord const&)#1}::operator()(absl::lts_20210324::string_view, absl::lts_20210324::Cord const&) const': status.cc:(.text+0x11c): undefined reference to `absl::lts_20210324::Cord::operator std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >() const' /usr/lib64//libabsl_status.a(status.cc.o): In function `absl::lts_20210324::Status::EqualsSlow(absl::lts_20210324::Status const&, absl::lts_20210324::Status const&)': status.cc:(.text+0x1740): undefined reference to `absl::lts_20210324::Cord::EqualsImpl(absl::lts_20210324::Cord const&, unsigned long) const' /usr/lib64//libabsl_status.a(status.cc.o): In function `absl::lts_20210324::Status::PrepareToModify()': status.cc:(.text+0x1e5c): undefined reference to `absl::lts_20210324::raw_logging_internal::RawLog(absl::lts_20210324::LogSeverity, char const*, int, char const*, ...)' /usr/lib64//libabsl_status.a(status.cc.o): In function `absl::lts_20210324::Status::SetPayload(absl::lts_20210324::string_view, absl::lts_20210324::Cord)': status.cc:(.text+0x2010): undefined reference to `absl::lts_20210324::Cord::InlineRep::ClearSlow()' status.cc:(.text+0x2238): undefined reference to `absl::lts_20210324::Cord::DestroyCordSlow()' status.cc:(.text+0x231c): undefined reference to `absl::lts_20210324::Cord::DestroyCordSlow()' /usr/lib64//libabsl_status.a(status.cc.o): In function `absl::lts_20210324::inlined_vector_internal::Storage<absl::lts_20210324::status_internal::Payload, 1ul, std::allocator<absl::lts_20210324::status_internal::Payload> >::Erase(absl::lts_20210324::status_internal::Payload const*, absl::lts_20210324::status_internal::Payload const*)': status.cc:(.text._ZN4absl12lts_2021032423inlined_vector_internal7StorageINS0_15status_internal7PayloadELm1ESaIS4_EE5EraseEPKS4_S8_[_ZN4absl12lts_2021032423inlined_vector_internal7StorageINS0_15status_internal7PayloadELm1ESaIS4_EE5EraseEPKS4_S8_]+0x168): undefined reference to `absl::lts_20210324::Cord::InlineRep::ClearSlow()' status.cc:(.text._ZN4absl12lts_2021032423inlined_vector_internal7StorageINS0_15status_internal7PayloadELm1ESaIS4_EE5EraseEPKS4_S8_[_ZN4absl12lts_2021032423inlined_vector_internal7StorageINS0_15status_internal7PayloadELm1ESaIS4_EE5EraseEPKS4_S8_]+0x1f4): undefined reference to `absl::lts_20210324::Cord::DestroyCordSlow()' /usr/lib64//libabsl_status.a(status.cc.o): In function `absl::lts_20210324::inlined_vector_internal::Storage<absl::lts_20210324::status_internal::Payload, 1ul, std::allocator<absl::lts_20210324::status_internal::Payload> >::DestroyContents()': status.cc:(.text._ZN4absl12lts_2021032423inlined_vector_internal7StorageINS0_15status_internal7PayloadELm1ESaIS4_EE15DestroyContentsEv[_ZN4absl12lts_2021032423inlined_vector_internal7StorageINS0_15status_internal7PayloadELm1ESaIS4_EE15DestroyContentsEv]+0xa4): undefined reference to `absl::lts_20210324::Cord::DestroyCordSlow()' /usr/lib64//libabsl_status.a(status.cc.o): In function `absl::lts_20210324::status_internal::Payload& absl::lts_20210324::inlined_vector_internal::Storage<absl::lts_20210324::status_internal::Payload, 1ul, std::allocator<absl::lts_20210324::status_internal::Payload> >::EmplaceBackSlow<absl::lts_20210324::status_internal::Payload>(absl::lts_20210324::status_internal::Payload&&)': status.cc:(.text._ZN4absl12lts_2021032423inlined_vector_internal7StorageINS0_15status_internal7PayloadELm1ESaIS4_EE15EmplaceBackSlowIJS4_EEERS4_DpOT_[_ZN4absl12lts_2021032423inlined_vector_internal7StorageINS0_15status_internal7PayloadELm1ESaIS4_EE15EmplaceBackSlowIJS4_EEERS4_DpOT_]+0x1d0): undefined reference to `absl::lts_20210324::Cord::DestroyCordSlow()' /usr/lib64//libabsl_status.a(status.cc.o): In function `absl::lts_20210324::inlined_vector_internal::Storage<absl::lts_20210324::status_internal::Payload, 1ul, std::allocator<absl::lts_20210324::status_internal::Payload> >::InitFrom(absl::lts_20210324::inlined_vector_internal::Storage<absl::lts_20210324::status_internal::Payload, 1ul, std::allocator<absl::lts_20210324::status_internal::Payload> > const&)': status.cc:(.text._ZN4absl12lts_2021032423inlined_vector_internal7StorageINS0_15status_internal7PayloadELm1ESaIS4_EE8InitFromERKS6_[_ZN4absl12lts_2021032423inlined_vector_internal7StorageINS0_15status_internal7PayloadELm1ESaIS4_EE8InitFromERKS6_]+0x1f0): undefined reference to `absl::lts_20210324::Cord::DestroyCordSlow()' /usr/lib64//libabsl_hash.a(hash.cc.o): In function `absl::lts_20210324::hash_internal::HashState::CombineLargeContiguousImpl32(unsigned long, unsigned char const*, unsigned long)': hash.cc:(.text+0x60): undefined reference to `absl::lts_20210324::hash_internal::CityHash32(char const*, unsigned long)' hash.cc:(.text+0xac): undefined reference to `absl::lts_20210324::hash_internal::CityHash32(char const*, unsigned long)' /usr/lib64//libabsl_str_format_internal.a(arg.cc.o): In function `absl::lts_20210324::str_format_internal::FormatConvertImpl(absl::lts_20210324::int128, absl::lts_20210324::str_format_internal::FormatConversionSpecImpl, absl::lts_20210324::str_format_internal::FormatSinkImpl*)': arg.cc:(.text+0x2c68): undefined reference to `absl::lts_20210324::operator%(absl::lts_20210324::uint128, absl::lts_20210324::uint128)' arg.cc:(.text+0x2c88): undefined reference to `absl::lts_20210324::operator/(absl::lts_20210324::uint128, absl::lts_20210324::uint128)' arg.cc:(.text+0x2da0): undefined reference to `absl::lts_20210324::operator%(absl::lts_20210324::uint128, absl::lts_20210324::uint128)' arg.cc:(.text+0x2dc0): undefined reference to `absl::lts_20210324::operator/(absl::lts_20210324::uint128, absl::lts_20210324::uint128)' /usr/lib64//libabsl_str_format_internal.a(arg.cc.o): In function `absl::lts_20210324::str_format_internal::FormatConvertImpl(absl::lts_20210324::uint128, absl::lts_20210324::str_format_internal::FormatConversionSpecImpl, absl::lts_20210324::str_format_internal::FormatSinkImpl*)': arg.cc:(.text+0x30a8): undefined reference to `absl::lts_20210324::operator%(absl::lts_20210324::uint128, absl::lts_20210324::uint128)' arg.cc:(.text+0x30c8): undefined reference to `absl::lts_20210324::operator/(absl::lts_20210324::uint128, absl::lts_20210324::uint128)' arg.cc:(.text+0x3110): undefined reference to `absl::lts_20210324::operator%(absl::lts_20210324::uint128, absl::lts_20210324::uint128)' arg.cc:(.text+0x3130): undefined reference to `absl::lts_20210324::operator/(absl::lts_20210324::uint128, absl::lts_20210324::uint128)' /usr/lib64//libabsl_str_format_internal.a(float_conversion.cc.o): In function `absl::lts_20210324::str_format_internal::ConvertFloatImpl(long double, absl::lts_20210324::str_format_internal::FormatConversionSpecImpl const&, absl::lts_20210324::str_format_internal::FormatSinkImpl*)': float_conversion.cc:(.text+0x5dd8): undefined reference to `absl::lts_20210324::uint128::uint128(long double)' /usr/lib64//libabsl_strings.a(numbers.cc.o): In function `absl::lts_20210324::SimpleAtob(absl::lts_20210324::string_view, bool*)': numbers.cc:(.text+0xa90): undefined reference to `absl::lts_20210324::raw_logging_internal::RawLog(absl::lts_20210324::LogSeverity, char const*, int, char const*, ...)' /usr/lib64//libabsl_strings.a(str_split.cc.o): In function `absl::lts_20210324::ByLength::ByLength(long)': str_split.cc:(.text+0x408): undefined reference to `absl::lts_20210324::raw_logging_internal::RawLog(absl::lts_20210324::LogSeverity, char const*, int, char const*, ...)' /usr/lib64//libabsl_strings_internal.a(escaping.cc.o): In function `absl::lts_20210324::strings_internal::Base64EscapeInternal(unsigned char const*, unsigned long, char*, unsigned long, char const*, bool)': escaping.cc:(.text+0x23c): undefined reference to `absl::lts_20210324::raw_logging_internal::RawLog(absl::lts_20210324::LogSeverity, char const*, int, char const*, ...)' /usr/lib64//libabsl_time.a(duration.cc.o): In function `absl::lts_20210324::time_internal::IDivDuration(bool, absl::lts_20210324::Duration, absl::lts_20210324::Duration, absl::lts_20210324::Duration*)': duration.cc:(.text+0x330): undefined reference to `absl::lts_20210324::operator/(absl::lts_20210324::uint128, absl::lts_20210324::uint128)' duration.cc:(.text+0x79c): undefined reference to `absl::lts_20210324::operator/(absl::lts_20210324::uint128, absl::lts_20210324::uint128)' /usr/lib64//libabsl_time.a(duration.cc.o): In function `absl::lts_20210324::Duration::operator*=(long)': duration.cc:(.text+0xa38): undefined reference to `absl::lts_20210324::kuint128max' duration.cc:(.text+0xa44): undefined reference to `absl::lts_20210324::kuint128max' duration.cc:(.text+0xa4c): undefined reference to `absl::lts_20210324::operator/(absl::lts_20210324::uint128, absl::lts_20210324::uint128)' duration.cc:(.text+0xb04): undefined reference to `absl::lts_20210324::operator/(absl::lts_20210324::uint128, absl::lts_20210324::uint128)' duration.cc:(.text+0xb18): undefined reference to `absl::lts_20210324::kuint128max' /usr/lib64//libabsl_time.a(duration.cc.o): In function `absl::lts_20210324::Duration::operator/=(long)': duration.cc:(.text+0xde0): undefined reference to `absl::lts_20210324::operator/(absl::lts_20210324::uint128, absl::lts_20210324::uint128)' duration.cc:(.text+0xeb8): undefined reference to `absl::lts_20210324::operator/(absl::lts_20210324::uint128, absl::lts_20210324::uint128)' /usr/lib64//libruy_cpuinfo.a(cpuinfo.cc.o): In function `ruy::CpuInfo::~CpuInfo()': cpuinfo.cc:(.text+0x10): undefined reference to `cpuinfo_deinitialize' /usr/lib64//libruy_cpuinfo.a(cpuinfo.cc.o): In function `ruy::CpuInfo::Initialize()': cpuinfo.cc:(.text+0x44): undefined reference to `cpuinfo_initialize' cpuinfo.cc:(.text+0x58): undefined reference to `cpuinfo_get_processors_count' cpuinfo.cc:(.text+0x8c): undefined reference to `cpuinfo_get_processor' cpuinfo.cc:(.text+0xb8): undefined reference to `cpuinfo_get_processor' cpuinfo.cc:(.text+0xcc): undefined reference to `cpuinfo_get_processor' /usr/lib64//libruy_cpuinfo.a(cpuinfo.cc.o): In function `ruy::CpuInfo::NeonDotprod()': cpuinfo.cc:(.text+0x21c): undefined reference to `cpuinfo_isa' cpuinfo.cc:(.text+0x220): undefined reference to `cpuinfo_isa' /usr/lib64//libruy_cpuinfo.a(cpuinfo.cc.o): In function `ruy::CpuInfo::CurrentCpuIsA55ish()': cpuinfo.cc:(.text+0x2c0): undefined reference to `cpuinfo_get_current_uarch_index' cpuinfo.cc:(.text+0x2c4): undefined reference to `cpuinfo_get_uarch' /usr/lib64//libruy_cpuinfo.a(cpuinfo.cc.o): In function `ruy::CpuInfo::CurrentCpuIsX1()': cpuinfo.cc:(.text+0x304): undefined reference to `cpuinfo_get_current_uarch_index' cpuinfo.cc:(.text+0x308): undefined reference to `cpuinfo_get_uarch' /usr/lib64//libruy_thread_pool.a(thread_pool.cc.o): In function `ruy::ThreadPool::CreateThreads(int)': thread_pool.cc:(.text+0x1b4): undefined reference to `ruy::BlockingCounter::Reset(int)' thread_pool.cc:(.text+0x308): undefined reference to `ruy::BlockingCounter::Wait(std::chrono::duration<long, std::ratio<1l, 1000000000l> >)' /usr/lib64//libruy_thread_pool.a(thread_pool.cc.o): In function `ruy::ThreadPool::ExecuteImpl(int, int, ruy::Task*)': thread_pool.cc:(.text+0x3dc): undefined reference to `ruy::BlockingCounter::Reset(int)' thread_pool.cc:(.text+0x494): undefined reference to `ruy::BlockingCounter::Wait(std::chrono::duration<long, std::ratio<1l, 1000000000l> >)' /usr/lib64//libruy_thread_pool.a(thread_pool.cc.o): In function `ruy::Thread::ThreadFunc(ruy::Thread*)': thread_pool.cc:(.text._ZN3ruy6Thread10ThreadFuncEPS0_[_ZN3ruy6Thread10ThreadFuncEPS0_]+0xb4): undefined reference to `ruy::BlockingCounter::DecrementCount()' thread_pool.cc:(.text._ZN3ruy6Thread10ThreadFuncEPS0_[_ZN3ruy6Thread10ThreadFuncEPS0_]+0x1ac): undefined reference to `ruy::BlockingCounter::DecrementCount()' /usr/lib64//libruy_trmul.a(trmul.cc.o): In function `ruy::(anonymous namespace)::TrMulTask::Run()': trmul.cc:(.text+0xdc): undefined reference to `ruy::GetBlockByIndex(ruy::BlockMap const&, int, ruy::SidePair<int>*)' trmul.cc:(.text+0xf0): undefined reference to `ruy::GetBlockMatrixCoords(ruy::BlockMap const&, ruy::SidePair<int> const&, ruy::SidePair<int>*, ruy::SidePair<int>*)' trmul.cc:(.text+0x21c): undefined reference to `ruy::GetBlockMatrixCoords(ruy::Side, ruy::BlockMap const&, int, int*, int*)' /usr/lib64//libruy_trmul.a(trmul.cc.o): In function `ruy::TrMul(ruy::Ctx*, ruy::TrMulParams*)': trmul.cc:(.text+0x5a4): undefined reference to `ruy::MakeBlockMap(int, int, int, int, int, int, int, int, ruy::CpuCacheParams const&, ruy::BlockMap*)' trmul.cc:(.text+0x768): undefined reference to `ruy::IsObviouslyLinearTraversal(int, int, int, int, int, ruy::CpuCacheParams const&)' collect2: error: ld returned 1 exit status src/CMakeFiles/voxl-tflite-server.dir/build.make:146: recipe for target 'src/voxl-tflite-server' failed make[2]: *** [src/voxl-tflite-server] Error 1 CMakeFiles/Makefile2:85: recipe for target 'src/CMakeFiles/voxl-tflite-server.dir/all' failed make[1]: *** [src/CMakeFiles/voxl-tflite-server.dir/all] Error 2 Makefile:129: recipe for target 'all' failed make: *** [all] Error 2Can you please guide me how will be the best way to proceed?
My model is a simple tf-lite YOLOv5-like arch that was trained on different dataset.
Thanks a lot.
Ido. -
The readme says to use voxl-cross Docker and ./build.sh qrb5165 .
-
Hi Chad, Thanks for the fast reply!
I've also tried form inside the docker - I'm getting the following error:
root@f235ba938a2b:/compile/voxl-tflite-server-sdk-0.9# ./install_build_deps.sh qrb5165 dev using qrb5165 dev debian repo Ign:1 http://voxl-packages.modalai.com ./dists/qrb5165/dev/binary-arm64/ InRelease Ign:2 http://voxl-packages.modalai.com ./dists/qrb5165/dev/binary-arm64/ Release Get:3 http://voxl-packages.modalai.com ./dists/qrb5165/dev/binary-arm64/ Packages [53.3 kB] Fetched 53.3 kB in 2s (33.1 kB/s) Reading package lists... Done installing: libmodal-pipe libmodal-json voxl-opencv qrb5165-tflite Reading package lists... Done Building dependency tree Reading state information... Done The following NEW packages will be installed: libmodal-json:arm64 libmodal-pipe:arm64 qrb5165-tflite:arm64 voxl-opencv:arm64 0 upgraded, 4 newly installed, 0 to remove and 69 not upgraded. Need to get 24.7 MB of archives. After this operation, 0 B of additional disk space will be used. Get:1 http://voxl-packages.modalai.com ./dists/qrb5165/dev/binary-arm64/ libmodal-json 0.4.3-202209281920 [43.8 kB] Get:2 http://voxl-packages.modalai.com ./dists/qrb5165/dev/binary-arm64/ libmodal-pipe 2.7.2-202302141708 [82.6 kB] Get:3 http://voxl-packages.modalai.com ./dists/qrb5165/dev/binary-arm64/ qrb5165-tflite 2.8.0-2-202210071637 [11.0 MB] Get:4 http://voxl-packages.modalai.com ./dists/qrb5165/dev/binary-arm64/ voxl-opencv 4.5.5-1-202210072305 [13.6 MB] Fetched 24.7 MB in 15s (1613 kB/s) debconf: unable to initialize frontend: Dialog debconf: (No usable dialog-like program is installed, so the dialog based frontend cannot be used. at /usr/share/perl5/Debconf/FrontEnd/Dialog.pm line 76, <> line 4.) debconf: falling back to frontend: Readline Selecting previously unselected package libmodal-json:arm64. (Reading database ... 30768 files and directories currently installed.) Preparing to unpack .../libmodal-json_0.4.3-202209281920_arm64.deb ... Unpacking libmodal-json:arm64 (0.4.3-202209281920) ... Selecting previously unselected package libmodal-pipe:arm64. Preparing to unpack .../libmodal-pipe_2.7.2-202302141708_arm64.deb ... Unpacking libmodal-pipe:arm64 (2.7.2-202302141708) ... Selecting previously unselected package qrb5165-tflite:arm64. Preparing to unpack .../qrb5165-tflite_2.8.0-2-202210071637_arm64.deb ... Unpacking qrb5165-tflite:arm64 (2.8.0-2-202210071637) ... Selecting previously unselected package voxl-opencv:arm64. Preparing to unpack .../voxl-opencv_4.5.5-1-202210072305_arm64.deb ... Unpacking voxl-opencv:arm64 (4.5.5-1-202210072305) ... Setting up qrb5165-tflite:arm64 (2.8.0-2-202210071637) ... Setting up voxl-opencv:arm64 (4.5.5-1-202210072305) ... Setting up libmodal-json:arm64 (0.4.3-202209281920) ... Setting up libmodal-pipe:arm64 (2.7.2-202302141708) ... Processing triggers for libc-bin (2.27-3ubuntu1.6) ... Done installing dependencies root@f235ba938a2b:/compile/voxl-tflite-server-sdk-0.9# ./build.sh qrb5165 -- Configuring done -- Generating done -- Build files have been written to: /compile/voxl-tflite-server-sdk-0.9/build Consolidate compiler generated dependencies of target voxl-tflite-server [ 25%] Building CXX object src/CMakeFiles/voxl-tflite-server.dir/inference_helper.cpp.o [ 75%] Building CXX object src/CMakeFiles/voxl-tflite-server.dir/main.cpp.o [ 75%] Building C object src/CMakeFiles/voxl-tflite-server.dir/resize.c.o [100%] Linking CXX executable voxl-tflite-server /usr/lib/gcc-cross/aarch64-linux-gnu/7/../../../../aarch64-linux-gnu/bin/ld: cannot find -lxnnpack_delegate collect2: error: ld returned 1 exit status src/CMakeFiles/voxl-tflite-server.dir/build.make:128: recipe for target 'src/voxl-tflite-server' failed make[2]: *** [src/voxl-tflite-server] Error 1 CMakeFiles/Makefile2:97: recipe for target 'src/CMakeFiles/voxl-tflite-server.dir/all' failed make[1]: *** [src/CMakeFiles/voxl-tflite-server.dir/all] Error 2 Makefile:135: recipe for target 'all' failed make: *** [all] Error 2I checked it also on the master branch.. I changed it to 0.9 because my voxl-suite is: 0.9.4.
Thanks!
-
The nightly CI passed, you can see it here: https://gitlab.com/voxl-public/voxl-sdk/services/voxl-tflite-server/-/pipelines/793904449/
It looks like you are not using voxl-cross, you need to be using voxl-cross on your development PC
-
Thanks! I managed to compile it!
I want to use the tflite-server and write a client to it to run my own model.
The model is a bit similar to the YOLOv5 arch. but with some changes in the I/O tensors and the post-process function, I still need to use the camera-server as an input and write a simple pre-process function as well.I've search for some guidance online or a simple example on how to do so step by step but couldn't find anything.
Do you have a simple example? it will very helpful.
Thanks a lot again and for the very fast replies!!
-
Hello! It looks like you're interested in this conversation, but you don't have an account yet.
Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.
With your input, this post could be even better 💗
Register Login