openvinotoolkit / openvino

OpenVINO™ is an open-source toolkit for optimizing and deploying AI inference
https://docs.openvino.ai
Apache License 2.0
6.79k stars 2.16k forks source link

[2020.2] Cannot build samples on arm64 #461

Closed fischermario closed 4 years ago

fischermario commented 4 years ago

I want to build dldt on a Jetson Nano to do inferencing with a NCSv2. The system is based on Ubuntu 18.04 (bionic) and ships with an outdated version of cmake (3.10.2). I have built a custom version of cmake (3.14.1) that I know to be working well.

All my steps from here on are based on these two documents:

https://github.com/opencv/dldt/blob/2020/build-instruction.md#build-for-raspbian-stretch-os https://software.intel.com/en-us/articles/ARM64-sbc-and-NCS2

I have built and installed OpenCV 4.3.0 beforehand. After that I did the following:

cd ~/Downloads
git clone https://github.com/opencv/dldt.git
cd dldt/
git submodule update --init --recursive
sh install_dependencies.sh
mkdir build && cd build
export OpenCV_DIR=/usr/local/lib
~/CMake/bin/cmake \
    -D CMAKE_BUILD_TYPE=Release \
    -D ENABLE_GNA=OFF \
    -D ENABLE_SSE42=OFF \
    -D THREADING=SEQ \
    ..
make -j4

The process got interrupted by the follwing error:

[ 98%] Linking CXX executable ../../../../bin/aarch64/Release/style_transfer_sample
../../../../bin/aarch64/Release/lib/libinference_engine.so: undefined reference to `ngraph::Dimension::get_length() const'
/home/nvidia/Downloads/dldt/bin/aarch64/Release/lib/libinference_engine_transformations.so: undefined reference to `ngraph::Input<ngraph::Node>::get_element_type() const'
../../../../bin/aarch64/Release/lib/libinference_engine.so: undefined reference to `ngraph::get_opset2()'
../../../../bin/aarch64/Release/lib/libinference_engine.so: undefined reference to `ngraph::op::v0::TensorIterator::set_invariant_input(std::shared_ptr<ngraph::op::v0::Parameter> const&, ngraph::Output<ngraph::Node> const&)'
../../../../bin/aarch64/Release/lib/libinference_engine.so: undefined reference to `typeinfo for ngraph::op::v0::Result'
../../../../bin/aarch64/Release/lib/libinference_engine.so: undefined reference to `ngraph::Output<ngraph::Node>::get_index() const'
../../../../bin/aarch64/Release/lib/libinference_engine.so: undefined reference to `ngraph::Node::clone_with_new_inputs(std::vector<ngraph::Output<ngraph::Node>, std::allocator<ngraph::Output<ngraph::Node> > > const&) const'
../../../../bin/aarch64/Release/lib/libinference_engine.so: undefined reference to `ngraph::Function::replace_parameter(unsigned long, std::shared_ptr<ngraph::op::v0::Parameter> const&)'
../../../../bin/aarch64/Release/lib/libinference_engine.so: undefined reference to `ngraph::AttributeAdapter<std::vector<float, std::allocator<float> > >::type_info'
../../../../bin/aarch64/Release/lib/libinference_engine.so: undefined reference to `ngraph::op::v1::DeformableConvolution::DeformableConvolution(ngraph::Output<ngraph::Node> const&, ngraph::Output<ngraph::Node> const&, ngraph::Output<ngraph::Node> const&, ngraph::Strides const&, ngraph::CoordinateDiff const&, ngraph::CoordinateDiff const&, ngraph::Strides const&, ngraph::op::PadType const&, long, long)'
../../../../bin/aarch64/Release/lib/libinference_engine.so: undefined reference to `ngraph::Output<ngraph::Node>::get_element_type() const'
/home/nvidia/Downloads/dldt/bin/aarch64/Release/lib/libinference_engine_transformations.so: undefined reference to `ngraph::Input<ngraph::Node>::replace_source_output(ngraph::Output<ngraph::Node> const&) const'
../../../../bin/aarch64/Release/lib/libinference_engine.so: undefined reference to `ngraph::Node::write_description(std::ostream&, unsigned int) const'
../../../../bin/aarch64/Release/lib/libinference_engine.so: undefined reference to `ngraph::Node::input_value(unsigned long) const'
../../../../bin/aarch64/Release/lib/libinference_engine.so: undefined reference to `ngraph::op::v0::Constant::are_all_data_elements_bitwise_identical() const'
../../../../bin/aarch64/Release/lib/libinference_engine.so: undefined reference to `ngraph::op::v0::TensorIterator::set_sliced_input(std::shared_ptr<ngraph::op::v0::Parameter> const&, ngraph::Output<ngraph::Node> const&, long, long, long, long, long)'
../../../../bin/aarch64/Release/lib/libinference_engine.so: undefined reference to `ngraph::Function::Function(std::vector<std::shared_ptr<ngraph::op::v0::Result>, std::allocator<std::shared_ptr<ngraph::op::v0::Result> > > const&, std::vector<std::shared_ptr<ngraph::op::v0::Parameter>, std::allocator<std::shared_ptr<ngraph::op::v0::Parameter> > > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
/home/nvidia/Downloads/dldt/bin/aarch64/Release/lib/libinference_engine_transformations.so: undefined reference to `typeinfo for ngraph::op::v1::SpaceToBatch'
../../../../bin/aarch64/Release/lib/libinference_engine.so: undefined reference to `ngraph::op::v0::TensorIterator::set_merged_input(std::shared_ptr<ngraph::op::v0::Parameter> const&, ngraph::Output<ngraph::Node> const&, ngraph::Output<ngraph::Node> const&)'
../../../../bin/aarch64/Release/lib/libinference_engine.so: undefined reference to `typeinfo for ngraph::op::v0::Parameter'
/home/nvidia/Downloads/dldt/bin/aarch64/Release/lib/libinference_engine_transformations.so: undefined reference to `ngraph::op::v0::Constant::convert_value_to_string[abi:cxx11](unsigned long) const'
../../../../bin/aarch64/Release/lib/libinference_engine.so: undefined reference to `ngraph::Input<ngraph::Node>::get_shape() const'
/home/nvidia/Downloads/dldt/bin/aarch64/Release/lib/libinference_engine_transformations.so: undefined reference to `ngraph::op::v1::BatchToSpace::BatchToSpace(ngraph::Output<ngraph::Node> const&, ngraph::Output<ngraph::Node> const&, ngraph::Output<ngraph::Node> const&, ngraph::Output<ngraph::Node> const&)'
../../../../bin/aarch64/Release/lib/libinference_engine.so: undefined reference to `ngraph::Output<ngraph::Node>::get_node_shared_ptr() const'
../../../../bin/aarch64/Release/lib/libinference_engine.so: undefined reference to `ngraph::Lambda::Lambda(std::vector<std::shared_ptr<ngraph::op::v0::Result>, std::allocator<std::shared_ptr<ngraph::op::v0::Result> > > const&, std::vector<std::shared_ptr<ngraph::op::v0::Parameter>, std::allocator<std::shared_ptr<ngraph::op::v0::Parameter> > > const&)'
/home/nvidia/Downloads/dldt/bin/aarch64/Release/lib/libinference_engine_transformations.so: undefined reference to `typeinfo for ngraph::op::v1::BatchToSpace'
../../../../bin/aarch64/Release/lib/libinference_engine.so: undefined reference to `ngraph::traverse_nodes(std::vector<std::shared_ptr<ngraph::Node>, std::allocator<std::shared_ptr<ngraph::Node> > > const&, std::function<void (std::shared_ptr<ngraph::Node>)>, std::vector<std::shared_ptr<ngraph::Node>, std::allocator<std::shared_ptr<ngraph::Node> > > const&)'
../../../../bin/aarch64/Release/lib/libinference_engine.so: undefined reference to `ngraph::AttributeAdapter<std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >::type_info'
/home/nvidia/Downloads/dldt/bin/aarch64/Release/lib/libinference_engine_transformations.so: undefined reference to `ngraph::Dimension::operator unsigned long() const'
../../../../bin/aarch64/Release/lib/libinference_engine.so: undefined reference to `ngraph::op::v0::Parameter::Parameter(ngraph::element::Type const&, ngraph::PartialShape const&, bool)'
../../../../bin/aarch64/Release/lib/libinference_engine.so: undefined reference to `ngraph::Output<ngraph::Node>::Output(std::shared_ptr<ngraph::Node> const&, unsigned long)'
/home/nvidia/Downloads/dldt/bin/aarch64/Release/lib/libinference_engine_transformations.so: undefined reference to `ngraph::pass::ConstantFolding::construct_constant_one_hot()'
../../../../bin/aarch64/Release/lib/libinference_engine.so: undefined reference to `vtable for ngraph::op::v0::Constant'
../../../../bin/aarch64/Release/lib/libinference_engine.so: undefined reference to `ngraph::Function::get_ordered_ops() const'
/home/nvidia/Downloads/dldt/bin/aarch64/Release/lib/libinference_engine_transformations.so: undefined reference to `ngraph::Input<ngraph::Node>::get_node() const'
/home/nvidia/Downloads/dldt/bin/aarch64/Release/lib/libinference_engine_transformations.so: undefined reference to `ngraph::pattern::op::Label::wrap_values(std::vector<ngraph::Output<ngraph::Node>, std::allocator<ngraph::Output<ngraph::Node> > > const&)'
../../../../bin/aarch64/Release/lib/libinference_engine.so: undefined reference to `ngraph::Node::match_value(ngraph::pattern::Matcher*, ngraph::Output<ngraph::Node> const&, ngraph::Output<ngraph::Node> const&)'
../../../../bin/aarch64/Release/lib/libinference_engine.so: undefined reference to `ngraph::op::v0::Constant::Constant(ngraph::element::Type const&, ngraph::Shape const&, void const*)'
../../../../bin/aarch64/Release/lib/libinference_engine.so: undefined reference to `ngraph::Function::get_ops() const'
../../../../bin/aarch64/Release/lib/libinference_engine.so: undefined reference to `ngraph::Input<ngraph::Node>::get_source_output() const'
../../../../bin/aarch64/Release/lib/libinference_engine.so: undefined reference to `ngraph::op::v0::Result::Result(ngraph::Output<ngraph::Node> const&, bool)'
/home/nvidia/Downloads/dldt/bin/aarch64/Release/lib/libinference_engine_transformations.so: undefined reference to `ngraph::pass::ConstantFolding::construct_constant_tile()'
../../../../bin/aarch64/Release/lib/libinference_engine.so: undefined reference to `typeinfo for ngraph::op::v0::Constant'
../../../../bin/aarch64/Release/lib/libinference_engine.so: undefined reference to `ngraph::Output<ngraph::Node>::get_node() const'
/home/nvidia/Downloads/dldt/bin/aarch64/Release/lib/libinference_engine_transformations.so: undefined reference to `ngraph::op::v1::SpaceToBatch::SpaceToBatch(ngraph::Output<ngraph::Node> const&, ngraph::Output<ngraph::Node> const&, ngraph::Output<ngraph::Node> const&, ngraph::Output<ngraph::Node> const&)'
/home/nvidia/Downloads/dldt/bin/aarch64/Release/lib/libinference_engine_transformations.so: undefined reference to `ngraph::Input<ngraph::Node>::get_partial_shape() const'
../../../../bin/aarch64/Release/lib/libinference_engine.so: undefined reference to `ngraph::Input<ngraph::Node>::get_index() const'
../../../../bin/aarch64/Release/lib/libinference_engine.so: undefined reference to `ngraph::op::v1::TopK::get_axis() const'
../../../../bin/aarch64/Release/lib/libinference_engine.so: undefined reference to `ngraph::Node::copy_with_new_args(std::vector<std::shared_ptr<ngraph::Node>, std::allocator<std::shared_ptr<ngraph::Node> > > const&) const'
/home/nvidia/Downloads/dldt/bin/aarch64/Release/lib/libinference_engine_transformations.so: undefined reference to `ngraph::pattern::Matcher::get_pattern_map() const'
../../../../bin/aarch64/Release/lib/libinference_engine.so: undefined reference to `ngraph::Output<ngraph::Node>::get_partial_shape() const'
../../../../bin/aarch64/Release/lib/libinference_engine.so: undefined reference to `ngraph::Output<ngraph::Node>::get_shape() const'
collect2: error: ld returned 1 exit status
inference-engine/samples/style_transfer_sample/CMakeFiles/style_transfer_sample.dir/build.make:89: recipe for target '../bin/aarch64/Release/style_transfer_sample' failed
make[2]: *** [../bin/aarch64/Release/style_transfer_sample] Error 1
CMakeFiles/Makefile2:4446: recipe for target 'inference-engine/samples/style_transfer_sample/CMakeFiles/style_transfer_sample.dir/all' failed
make[1]: *** [inference-engine/samples/style_transfer_sample/CMakeFiles/style_transfer_sample.dir/all] Error 2
Makefile:162: recipe for target 'all' failed
make: *** [all] Error 2

It seems that there is a problem with some symbols in the libinference_engine.so library. To skip building the samples I have changed the cmake parameters:

~/CMake/bin/cmake \
    -D CMAKE_BUILD_TYPE=Release \
    -D ENABLE_SAMPLES=OFF \
    -D ENABLE_GNA=OFF \
    -D ENABLE_SSE42=OFF \
    -D THREADING=SEQ \
    ..

Unfortunately this produces another similar error while trying to build myriad_perfcheck:

[ 98%] Linking CXX executable ../../../../../bin/aarch64/Release/myriad_perfcheck
/home/nvidia/Downloads/dldt/bin/aarch64/Release/lib/libinference_engine_transformations.so: undefined reference to `ngraph::Dimension::operator unsigned long() const'
../../../../../bin/aarch64/Release/lib/libinference_engine.so: undefined reference to `ngraph::Output<ngraph::Node>::get_index() const'
/home/nvidia/Downloads/dldt/bin/aarch64/Release/lib/libinference_engine_transformations.so: undefined reference to `ngraph::pattern::op::Label::wrap_values(std::vector<ngraph::Output<ngraph::Node>, std::allocator<ngraph::Output<ngraph::Node> > > const&)'
/home/nvidia/Downloads/dldt/bin/aarch64/Release/lib/libinference_engine_transformations.so: undefined reference to `ngraph::Input<ngraph::Node>::get_node() const'
../../../../../bin/aarch64/Release/lib/libinference_engine.so: undefined reference to `ngraph::Output<ngraph::Node>::get_partial_shape() const'
../../../../../bin/aarch64/Release/lib/libinference_engine.so: undefined reference to `ngraph::Function::get_ordered_ops() const'
/home/nvidia/Downloads/dldt/bin/aarch64/Release/lib/libinference_engine_transformations.so: undefined reference to `ngraph::Input<ngraph::Node>::get_element_type() const'
/home/nvidia/Downloads/dldt/bin/aarch64/Release/lib/libinference_engine_transformations.so: undefined reference to `ngraph::pattern::Matcher::get_pattern_map() const'
../../../../../bin/aarch64/Release/lib/libinference_engine.so: undefined reference to `ngraph::Input<ngraph::Node>::get_shape() const'
../../../../../bin/aarch64/Release/lib/libinference_engine.so: undefined reference to `ngraph::op::v0::TensorIterator::set_merged_input(std::shared_ptr<ngraph::op::v0::Parameter> const&, ngraph::Output<ngraph::Node> const&, ngraph::Output<ngraph::Node> const&)'
../../../../../bin/aarch64/Release/lib/libinference_engine.so: undefined reference to `ngraph::get_opset2()'
../../../../../bin/aarch64/Release/lib/libinference_engine.so: undefined reference to `ngraph::Output<ngraph::Node>::get_element_type() const'
/home/nvidia/Downloads/dldt/bin/aarch64/Release/lib/libinference_engine_transformations.so: undefined reference to `ngraph::op::v1::SpaceToBatch::SpaceToBatch(ngraph::Output<ngraph::Node> const&, ngraph::Output<ngraph::Node> const&, ngraph::Output<ngraph::Node> const&, ngraph::Output<ngraph::Node> const&)'
../../../../../bin/aarch64/Release/lib/libinference_engine.so: undefined reference to `ngraph::AttributeAdapter<std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >::type_info'
/home/nvidia/Downloads/dldt/bin/aarch64/Release/lib/libinference_engine_transformations.so: undefined reference to `ngraph::Input<ngraph::Node>::replace_source_output(ngraph::Output<ngraph::Node> const&) const'
../../../../../bin/aarch64/Release/lib/libinference_engine.so: undefined reference to `ngraph::Lambda::Lambda(std::vector<std::shared_ptr<ngraph::op::v0::Result>, std::allocator<std::shared_ptr<ngraph::op::v0::Result> > > const&, std::vector<std::shared_ptr<ngraph::op::v0::Parameter>, std::allocator<std::shared_ptr<ngraph::op::v0::Parameter> > > const&)'
../../../../../bin/aarch64/Release/lib/libinference_engine.so: undefined reference to `ngraph::op::v0::Result::Result(ngraph::Output<ngraph::Node> const&, bool)'
../../../../../bin/aarch64/Release/lib/libinference_engine.so: undefined reference to `ngraph::Node::match_value(ngraph::pattern::Matcher*, ngraph::Output<ngraph::Node> const&, ngraph::Output<ngraph::Node> const&)'
../../../../../bin/aarch64/Release/lib/libinference_engine.so: undefined reference to `ngraph::traverse_nodes(std::vector<std::shared_ptr<ngraph::Node>, std::allocator<std::shared_ptr<ngraph::Node> > > const&, std::function<void (std::shared_ptr<ngraph::Node>)>, std::vector<std::shared_ptr<ngraph::Node>, std::allocator<std::shared_ptr<ngraph::Node> > > const&)'
../../../../../bin/aarch64/Release/lib/libinference_engine.so: undefined reference to `ngraph::Input<ngraph::Node>::get_source_output() const'
../../../../../bin/aarch64/Release/lib/libinference_engine.so: undefined reference to `ngraph::op::v1::TopK::get_axis() const'
../../../../../bin/aarch64/Release/lib/libinference_engine.so: undefined reference to `vtable for ngraph::op::v0::Constant'
../../../../../bin/aarch64/Release/lib/libinference_engine.so: undefined reference to `ngraph::Output<ngraph::Node>::get_node() const'
../../../../../bin/aarch64/Release/lib/libinference_engine.so: undefined reference to `ngraph::Function::get_ops() const'
../../../../../bin/aarch64/Release/lib/libinference_engine.so: undefined reference to `typeinfo for ngraph::op::v0::Result'
../../../../../bin/aarch64/Release/lib/libinference_engine.so: undefined reference to `ngraph::Node::copy_with_new_args(std::vector<std::shared_ptr<ngraph::Node>, std::allocator<std::shared_ptr<ngraph::Node> > > const&) const'
../../../../../bin/aarch64/Release/lib/libinference_engine.so: undefined reference to `ngraph::op::v0::Constant::Constant(ngraph::element::Type const&, ngraph::Shape const&, void const*)'
../../../../../bin/aarch64/Release/lib/libinference_engine.so: undefined reference to `ngraph::Function::replace_parameter(unsigned long, std::shared_ptr<ngraph::op::v0::Parameter> const&)'
/home/nvidia/Downloads/dldt/bin/aarch64/Release/lib/libinference_engine_transformations.so: undefined reference to `ngraph::op::v1::BatchToSpace::BatchToSpace(ngraph::Output<ngraph::Node> const&, ngraph::Output<ngraph::Node> const&, ngraph::Output<ngraph::Node> const&, ngraph::Output<ngraph::Node> const&)'
/home/nvidia/Downloads/dldt/bin/aarch64/Release/lib/libinference_engine_transformations.so: undefined reference to `ngraph::op::v0::Constant::convert_value_to_string[abi:cxx11](unsigned long) const'
../../../../../bin/aarch64/Release/lib/libinference_engine.so: undefined reference to `ngraph::op::v1::DeformableConvolution::DeformableConvolution(ngraph::Output<ngraph::Node> const&, ngraph::Output<ngraph::Node> const&, ngraph::Output<ngraph::Node> const&, ngraph::Strides const&, ngraph::CoordinateDiff const&, ngraph::CoordinateDiff const&, ngraph::Strides const&, ngraph::op::PadType const&, long, long)'
/home/nvidia/Downloads/dldt/bin/aarch64/Release/lib/libinference_engine_transformations.so: undefined reference to `typeinfo for ngraph::op::v1::BatchToSpace'
../../../../../bin/aarch64/Release/lib/libinference_engine.so: undefined reference to `ngraph::op::v0::TensorIterator::set_sliced_input(std::shared_ptr<ngraph::op::v0::Parameter> const&, ngraph::Output<ngraph::Node> const&, long, long, long, long, long)'
../../../../../bin/aarch64/Release/lib/libinference_engine.so: undefined reference to `ngraph::AttributeAdapter<std::vector<float, std::allocator<float> > >::type_info'
/home/nvidia/Downloads/dldt/bin/aarch64/Release/lib/libinference_engine_transformations.so: undefined reference to `ngraph::Input<ngraph::Node>::get_partial_shape() const'
../../../../../bin/aarch64/Release/lib/libinference_engine.so: undefined reference to `ngraph::Function::Function(std::vector<std::shared_ptr<ngraph::op::v0::Result>, std::allocator<std::shared_ptr<ngraph::op::v0::Result> > > const&, std::vector<std::shared_ptr<ngraph::op::v0::Parameter>, std::allocator<std::shared_ptr<ngraph::op::v0::Parameter> > > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
../../../../../bin/aarch64/Release/lib/libinference_engine.so: undefined reference to `ngraph::Output<ngraph::Node>::get_shape() const'
../../../../../bin/aarch64/Release/lib/libinference_engine.so: undefined reference to `ngraph::op::v0::Constant::are_all_data_elements_bitwise_identical() const'
../../../../../bin/aarch64/Release/lib/libinference_engine.so: undefined reference to `ngraph::Node::clone_with_new_inputs(std::vector<ngraph::Output<ngraph::Node>, std::allocator<ngraph::Output<ngraph::Node> > > const&) const'
../../../../../bin/aarch64/Release/lib/libinference_engine.so: undefined reference to `ngraph::Node::write_description(std::ostream&, unsigned int) const'
../../../../../bin/aarch64/Release/lib/libinference_engine.so: undefined reference to `ngraph::Input<ngraph::Node>::get_index() const'
/home/nvidia/Downloads/dldt/bin/aarch64/Release/lib/libinference_engine_transformations.so: undefined reference to `ngraph::pass::ConstantFolding::construct_constant_one_hot()'
../../../../../bin/aarch64/Release/lib/libinference_engine.so: undefined reference to `ngraph::Output<ngraph::Node>::Output(std::shared_ptr<ngraph::Node> const&, unsigned long)'
../../../../../bin/aarch64/Release/lib/libinference_engine.so: undefined reference to `ngraph::Dimension::get_length() const'
/home/nvidia/Downloads/dldt/bin/aarch64/Release/lib/libinference_engine_transformations.so: undefined reference to `typeinfo for ngraph::op::v1::SpaceToBatch'
../../../../../bin/aarch64/Release/lib/libinference_engine.so: undefined reference to `ngraph::op::v0::TensorIterator::set_invariant_input(std::shared_ptr<ngraph::op::v0::Parameter> const&, ngraph::Output<ngraph::Node> const&)'
../../../../../bin/aarch64/Release/lib/libinference_engine.so: undefined reference to `typeinfo for ngraph::op::v0::Constant'
../../../../../bin/aarch64/Release/lib/libinference_engine.so: undefined reference to `ngraph::Node::input_value(unsigned long) const'
/home/nvidia/Downloads/dldt/bin/aarch64/Release/lib/libinference_engine_transformations.so: undefined reference to `ngraph::pass::ConstantFolding::construct_constant_tile()'
../../../../../bin/aarch64/Release/lib/libinference_engine.so: undefined reference to `ngraph::Output<ngraph::Node>::get_node_shared_ptr() const'
../../../../../bin/aarch64/Release/lib/libinference_engine.so: undefined reference to `typeinfo for ngraph::op::v0::Parameter'
../../../../../bin/aarch64/Release/lib/libinference_engine.so: undefined reference to `ngraph::op::v0::Parameter::Parameter(ngraph::element::Type const&, ngraph::PartialShape const&, bool)'
collect2: error: ld returned 1 exit status
inference-engine/tools/vpu/vpu_perfcheck/CMakeFiles/myriad_perfcheck.dir/build.make:86: recipe for target '../bin/aarch64/Release/myriad_perfcheck' failed
make[2]: *** [../bin/aarch64/Release/myriad_perfcheck] Error 1
CMakeFiles/Makefile2:3496: recipe for target 'inference-engine/tools/vpu/vpu_perfcheck/CMakeFiles/myriad_perfcheck.dir/all' failed
make[1]: *** [inference-engine/tools/vpu/vpu_perfcheck/CMakeFiles/myriad_perfcheck.dir/all] Error 2
Makefile:162: recipe for target 'all' failed
make: *** [all] Error 2

I need the Myriad plugin to be built and there is no cmake parameter to skip building myriad_perfcheck, so I have commented out the following lines at the end of inference-engine/tools/vpu/vpu_perfcheck/CMakeLists.txt:

if(ENABLE_MYRIAD)
    add_perfcheck_target(myriad_perfcheck myriadPlugin)

    install(TARGETS myriad_perfcheck
            RUNTIME DESTINATION ${IE_CPACK_LIBRARY_PATH}
            COMPONENT myriad)
endif()

With these changes I can successfully build dldt. Can you please look into this?

Thank you!

avitial commented 4 years ago

Hi @fischermario,

Please try one of the following and adjust to your env: Without Python API wrapper: $ /home/nvidia/cmake-3.14.4/bin/cmake \ -DCMAKE_BUILD_TYPE=Release \ -DENABLE_SAMPLES=ON \ -DENABLE_GNA=OFF \ -DENABLE_SSE42=OFF \ -DTHREADING=SEQ \ -DENABLE_CLDNN=ON \ -DENABLE_MKL_DNN=OFF \ -DENABLE_PYTHON=OFF \ .. $ make -j4

With Python API wrapper: Install all additional packages: $ cd ~/openvino/inference-engine/ie_bridges/python pip install -r requirements.txt

$ /home/nvidia/cmake-3.14.4/bin/cmake \ -DCMAKE_BUILD_TYPE=Release \ -DENABLE_SAMPLES=ON \ -DENABLE_GNA=OFF \ -DENABLE_SSE42=OFF \ -DTHREADING=SEQ \ -DENABLE_CLDNN=ON \ -DENABLE_MKL_DNN=OFF \ -DPYTHON_EXECUTABLE=/usr/bin/python3.5 \ -DPYTHON_LIBRARY=/usr/lib/aarch64-linux-gnu/libpython3.5m.so \ -DPYTHON_INCLUDE_DIR=/usr/include/python3.5 \ .. $ make -j4

For more information refer to the Additional Build Options section.

Regards, Luis

ilya-lavrenov commented 4 years ago

@fischermario previous versions of OpenVINO had a bug in setupvars script and the don't set path to ngraph libraries. Now, it does (see https://github.com/openvinotoolkit/openvino/blob/master/scripts/setupvars/setupvars.sh#L70-L73). Could you please check if this is reproduced if provided script is used? Or you can manually add path to libs in LD_LIBRARY_PATH

AnastasiaKazantaeva commented 4 years ago

It seems that the issues is not actual anymore. Closing it. Feel free to reopen it or create a new one,