openvino: Inference-engine build fails on ARM/Raspberry Pi

[dev] [mav@maverick-raspberry ~/var/build/opencv_dldt/inference-engine/build]$ cmake ..
-- BUILD_CONFIGURATION: Release
-- INTEL_VTUNE_DIR is not defined
-- Could NOT find INTEL_ITT (missing:  Located_ITT_INCLUDE_DIRS Located_ITT_LIBS)
-- INTEL_ITT is disabled
-- Detected 32 bit architecture
CMake Error at cmake/linux_name.cmake:22 (string):
  string sub-command REGEX, mode MATCH needs at least 5 arguments total to
  command.
Call Stack (most recent call first):
  cmake/check_features.cmake:50 (get_linux_name)
  cmake/dependencies.cmake:9 (include)
  CMakeLists.txt:90 (include)


CMake Warning at cmake/check_features.cmake:58 (message):
  Cannot detect Linux OS via reading /etc/*-release:


Call Stack (most recent call first):
  cmake/dependencies.cmake:9 (include)
  CMakeLists.txt:90 (include)


-- CI_BUILD_NUMBER: custom_HEAD_eae43f84291492e5e6094eb7efa6077f68d7aca8
-- ENABLE_MKL_DNN = OFF
-- ENABLE_CLDNN = OFF
-- ENABLE_CLDNN_BUILD = OFF
-- ENABLE_PROFILING_ITT = ON
-- ENABLE_PROFILING_RAW = OFF
-- ENABLE_OMP = ON
-- ENABLE_INTEL_OMP = ON
-- ENABLE_TESTS = OFF
-- ENABLE_SAMPLES_CORE = ON
-- ENABLE_SANITIZER = OFF
-- COVERAGE = OFF
-- ENABLE_STRESS_UNIT_TESTS = OFF
-- VERBOSE_BUILD = OFF
-- ENABLE_UNSAFE_LOCATIONS = OFF
-- ENABLE_ALTERNATIVE_TEMP = ON
-- ENABLE_SEGMENTATION_TESTS = ON
-- ENABLE_OBJECT_DETECTION_TESTS = ON
-- ENABLE_OPENCV = ON
-- OS_FOLDER = OFF
-- ENABLE_PLUGIN_RPATH = ON
-- GEMM = OPENBLAS
-- DL_SDK_TEMP envionment not set
-- A library with BLAS API found.
CMake Error at cmake/dependencies.cmake:97 (if):
  if given arguments:

    "STREQUAL" "Ubuntu 16.04"

  Unknown arguments specified
Call Stack (most recent call first):
  CMakeLists.txt:90 (include)


-- Configuring incomplete, errors occurred!
See also "/srv/maverick/var/build/opencv_dldt/inference-engine/build/CMakeFiles/CMakeOutput.log".
See also "/srv/maverick/var/build/opencv_dldt/inference-engine/build/CMakeFiles/CMakeError.log".

Is this project intended for Intel-only architecture, or should/will it work on ARM?

About this issue

  • Original URL
  • State: closed
  • Created 6 years ago
  • Comments: 74 (15 by maintainers)

Commits related to this issue

Most upvoted comments

Yes, it should be available before new year. I’m not able to say more exact date though, sorry guys.

R5 released!!! support raspberry pi

Hi, No, this will be fixed. We have a fix, but would like to do some checks on it first. But just to make sure we are talking about same thing. It will not be possible to do inference on ARM CPU, just use ARM as a host for accelerator. There are no primitives to run on ARM itself.

I’m trying to get OpenVino/NCS2 combination running on a PINE64 SoPine Clusterboard ( 7 x 4-core Arm64). Combatting all the little gotchas in getting the SoPine (SoDimm format) single unit to load OpenVino right to the point of:

root@pine64:~/Developer/inference_engine_vpu_arm/deployment_tools/inference_engine/samples/build# make -j2 object_detection_sample_ssd Scanning dependencies of target format_reader Scanning dependencies of target ie_cpu_extension [ 0%] Building CXX object ie_cpu_extension/CMakeFiles/ie_cpu_extension.dir/ext_argmax.cpp.o [ 0%] Building CXX object common/format_reader/CMakeFiles/format_reader.dir/MnistUbyte.cpp.o [ 4%] Building CXX object common/format_reader/CMakeFiles/format_reader.dir/bmp.cpp.o [ 8%] Building CXX object common/format_reader/CMakeFiles/format_reader.dir/format_reader.cpp.o [ 12%] Building CXX object ie_cpu_extension/CMakeFiles/ie_cpu_extension.dir/ext_base.cpp.o [ 16%] Building CXX object common/format_reader/CMakeFiles/format_reader.dir/opencv_wraper.cpp.o [ 20%] Building CXX object ie_cpu_extension/CMakeFiles/ie_cpu_extension.dir/ext_ctc_greedy.cpp.o [ 24%] Building CXX object ie_cpu_extension/CMakeFiles/ie_cpu_extension.dir/ext_detectionoutput.cpp.o [ 24%] Linking CXX shared library ../../intel64/Release/lib/libformat_reader.so /home/ubuntu/Developer/inference_engine_vpu_arm/opencv/lib/libopencv_imgcodecs.so.4.0.1: error adding symbols: File in wrong format clang: error: linker command failed with exit code 1 (use -v to see invocation) common/format_reader/CMakeFiles/format_reader.dir/build.make:175: recipe for target 'intel64/Release/lib/libformat_reader.so' failed make[3]: *** [intel64/Release/lib/libformat_reader.so] Error 1 CMakeFiles/Makefile2:190: recipe for target 'common/format_reader/CMakeFiles/format_reader.dir/all' failed make[2]: *** [common/format_reader/CMakeFiles/format_reader.dir/all] Error 2 make[2]: *** Waiting for unfinished jobs.... [ 24%] Building CXX object ie_cpu_extension/CMakeFiles/ie_cpu_extension.dir/ext_gather.cpp.o [ 28%] Building CXX object ie_cpu_extension/CMakeFiles/ie_cpu_extension.dir/ext_grn.cpp.o [ 32%] Building CXX object ie_cpu_extension/CMakeFiles/ie_cpu_extension.dir/ext_interp.cpp.o [ 36%] Building CXX object ie_cpu_extension/CMakeFiles/ie_cpu_extension.dir/ext_list.cpp.o [ 36%] Building CXX object ie_cpu_extension/CMakeFiles/ie_cpu_extension.dir/ext_mvn.cpp.o [ 40%] Building CXX object ie_cpu_extension/CMakeFiles/ie_cpu_extension.dir/ext_normalize.cpp.o [ 44%] Building CXX object ie_cpu_extension/CMakeFiles/ie_cpu_extension.dir/ext_pad.cpp.o [ 44%] Building CXX object ie_cpu_extension/CMakeFiles/ie_cpu_extension.dir/ext_powerfile.cpp.o [ 48%] Building CXX object ie_cpu_extension/CMakeFiles/ie_cpu_extension.dir/ext_priorbox.cpp.o [ 52%] Building CXX object ie_cpu_extension/CMakeFiles/ie_cpu_extension.dir/ext_priorbox_clustered.cpp.o [ 56%] Building CXX object ie_cpu_extension/CMakeFiles/ie_cpu_extension.dir/ext_proposal.cpp.o [ 56%] Building CXX object ie_cpu_extension/CMakeFiles/ie_cpu_extension.dir/ext_psroi.cpp.o [ 60%] Building CXX object ie_cpu_extension/CMakeFiles/ie_cpu_extension.dir/ext_region_yolo.cpp.o [ 64%] Building CXX object ie_cpu_extension/CMakeFiles/ie_cpu_extension.dir/ext_reorg_yolo.cpp.o [ 68%] Building CXX object ie_cpu_extension/CMakeFiles/ie_cpu_extension.dir/ext_resample.cpp.o [ 68%] Building CXX object ie_cpu_extension/CMakeFiles/ie_cpu_extension.dir/ext_simplernms.cpp.o [ 72%] Building CXX object ie_cpu_extension/CMakeFiles/ie_cpu_extension.dir/ext_spatial_transformer.cpp.o [ 76%] Building CXX object ie_cpu_extension/CMakeFiles/ie_cpu_extension.dir/simple_copy.cpp.o [ 80%] Linking CXX shared library ../intel64/Release/lib/libcpu_extension.so /home/ubuntu/Developer/inference_engine_vpu_arm/deployment_tools/inference_engine/lib/ubuntu_18.04/libinference_engine.so: error adding symbols: File in wrong format clang: error: linker command failed with exit code 1 (use -v to see invocation) ie_cpu_extension/CMakeFiles/ie_cpu_extension.dir/build.make:642: recipe for target 'intel64/Release/lib/libcpu_extension.so' failed make[3]: *** [intel64/Release/lib/libcpu_extension.so] Error 1 CMakeFiles/Makefile2:85: recipe for target 'ie_cpu_extension/CMakeFiles/ie_cpu_extension.dir/all' failed make[2]: *** [ie_cpu_extension/CMakeFiles/ie_cpu_extension.dir/all] Error 2 CMakeFiles/Makefile2:1343: recipe for target 'object_detection_sample_ssd/CMakeFiles/object_detection_sample_ssd.dir/rule' failed make[1]: *** [object_detection_sample_ssd/CMakeFiles/object_detection_sample_ssd.dir/rule] Error 2 Makefile:450: recipe for target 'object_detection_sample_ssd' failed make: *** [object_detection_sample_ssd] Error 2

Which basically means that obviously trying to link 32-bit arm7-a libraries to 64-bit aarch64 architecture doesn’t work…

Please release the source for these libraries so I can recompile for aarch64… Please Intel!

I started a repo to share how I setup OpenVINO R5 on ARM64 / AARCH64 using Schroot, I can imagine this will help many of you while we wait for more from Intel. Feel free to help contribute! https://github.com/skhameneh/OpenVINO-ARM64

I have a number of details I need to collect from my devices and add. Most specifically the many cmake flags needed and the schroot config. I should have most of the details added in the next day or so.

@mpeniak, If you have a question about specific model - let’s create a separate thread

@larrylart, I’d like to ask you to do the same. You know, it’ll be easier for other users to find solution this way.

@kakubotics, of course OpenVINO is not only about a single face detection network. There is an entire repository of pre-trained Intel models: https://github.com/opencv/open_model_zoo. @nikogamulin, BTW you may be interested in different face detectors (i.e. https://github.com/opencv/open_model_zoo/blob/2018/intel_models/face-detection-retail-0004/description/face-detection-retail-0004.md).

If you have your own network in one of the popular formats, you may convert it to Intermediate Representation (IR) using Model Optimizer or use OpenCV’s readNet plus setPreferableBackend(DNN_BACKEND_INFERENCE_ENGINE).

Read more about:

I just tried to implement “real-time” face detection on RPi by modifying the script the provided in the instructions. The code is available here

Hope it helps and above all hopefully, we will be able to achieve speedups in the following days and implement other models for useful edge AI cases. Thanks again!

Yes, it should be available before new year. I’m not able to say more exact date though, sorry guys.

Hi @yury-gorbachev, do you know if we can now use Raspberry Pi 3 B+ with NCS2 already? If not, is the estimate still no later than the end of this year please?