Intel® Distribution of OpenVINO™ Toolkit
Community assistance about the Intel® Distribution of OpenVINO™ toolkit, OpenCV, and all aspects of computer vision-related on Intel® platforms.

Linking Error

Gnanavel__Sivaroophi
1,889 Views

Hi,

I am trying to build and run the sample projects given in the OpenVX samples using Intel Openvino toolkit on linux. I am trying to build and run the auto_contrast sample right now. I have attached the image showing the following error. What does this error mean and how do I define a reference to the following functions?

Scanning dependencies of target common
[  2%] Linking CXX static library libcommon.a
[ 13%] Built target common
Scanning dependencies of target auto_contrast
[ 15%] Linking CXX executable auto_contrast
CMakeFiles/auto_contrast.dir/auto_contrast.cpp.o: In function `main':
auto_contrast.cpp:(.text.startup+0x5c): undefined reference to `vxCreateContext'
auto_contrast.cpp:(.text.startup+0x68): undefined reference to `vxGetStatus'
auto_contrast.cpp:(.text.startup+0x83): undefined reference to `vxRegisterLogCallback'
auto_contrast.cpp:(.text.startup+0x8c): undefined reference to `vxCreateGraph'
auto_contrast.cpp:(.text.startup+0x99): undefined reference to `vxGetStatus'
auto_contrast.cpp:(.text.startup+0x1fd): undefined reference to `vxCreateImageFromHandle'
auto_contrast.cpp:(.text.startup+0x237): undefined reference to `vxCreateImage'
auto_contrast.cpp:(.text.startup+0x280): undefined reference to `vxEqualizeHistNode'
auto_contrast.cpp:(.text.startup+0x29e): undefined reference to `vxVerifyGraph'
auto_contrast.cpp:(.text.startup+0x300): undefined reference to `vxProcessGraph'
auto_contrast.cpp:(.text.startup+0x37d): undefined reference to `vxReleaseNode'
auto_contrast.cpp:(.text.startup+0x3cd): undefined reference to `vxReleaseImage'
auto_contrast.cpp:(.text.startup+0x3ff): undefined reference to `vxReleaseGraph'
auto_contrast.cpp:(.text.startup+0x40f): undefined reference to `vxReleaseContext'
auto_contrast.cpp:(.text.startup+0x494): undefined reference to `vxCreateVirtualImage'
auto_contrast.cpp:(.text.startup+0x4c4): undefined reference to `vxCreateVirtualImage'
auto_contrast.cpp:(.text.startup+0x4f4): undefined reference to `vxCreateVirtualImage'
auto_contrast.cpp:(.text.startup+0x524): undefined reference to `vxCreateVirtualImage'
auto_contrast.cpp:(.text.startup+0x554): undefined reference to `vxCreateVirtualImage'
CMakeFiles/auto_contrast.dir/auto_contrast.cpp.o:auto_contrast.cpp:(.text.startup+0x584): more undefined references to `vxCreateVirtualImage' follow
CMakeFiles/auto_contrast.dir/auto_contrast.cpp.o: In function `main':
auto_contrast.cpp:(.text.startup+0x5af): undefined reference to `vxColorConvertNode'
auto_contrast.cpp:(.text.startup+0x5dc): undefined reference to `vxChannelExtractNode'
auto_contrast.cpp:(.text.startup+0x604): undefined reference to `vxEqualizeHistNode'
auto_contrast.cpp:(.text.startup+0x631): undefined reference to `vxChannelExtractNode'
auto_contrast.cpp:(.text.startup+0x65e): undefined reference to `vxChannelExtractNode'
auto_contrast.cpp:(.text.startup+0x693): undefined reference to `vxChannelCombineNode'
auto_contrast.cpp:(.text.startup+0x6bb): undefined reference to `vxColorConvertNode'
CMakeFiles/auto_contrast.dir/__/common/src/helper.cpp.o: In function `IntelVXSample::testImage1(_vx_image*)':
helper.cpp:(.text+0x11c): undefined reference to `vxGetValidRegionImage'
helper.cpp:(.text+0x214): undefined reference to `vxMapImagePatch'
helper.cpp:(.text+0x33c): undefined reference to `vxFormatImagePatchAddress2d'
helper.cpp:(.text+0x3e7): undefined reference to `vxUnmapImagePatch'
collect2: error: ld returned 1 exit status
samples/auto_contrast/CMakeFiles/auto_contrast.dir/build.make:198: recipe for target 'samples/auto_contrast/auto_contrast' failed
make[2]: *** [samples/auto_contrast/auto_contrast] Error 1
CMakeFiles/Makefile2:194: recipe for target 'samples/auto_contrast/CMakeFiles/auto_contrast.dir/all' failed
make[1]: *** [samples/auto_contrast/CMakeFiles/auto_contrast.dir/all] Error 2
Makefile:127: recipe for target 'all' failed
make: *** [all] Error 2

 

0 Kudos
8 Replies
Gnanavel__Sivaroophi
1,889 Views

Need help to rectify the above linking error

0 Kudos
Gnanavel__Sivaroophi
1,889 Views

Hi,

I am trying to build and run the sample projects given in the OpenVX samples using Intel Openvino toolkit on linux. I am trying to build and run the auto_contrast sample right now. I have attached the image showing the following error. What does this error mean and how do I define a reference to the following functions?

Scanning dependencies of target common
[  2%] Linking CXX static library libcommon.a
[ 13%] Built target common
Scanning dependencies of target auto_contrast
[ 15%] Linking CXX executable auto_contrast
CMakeFiles/auto_contrast.dir/auto_contrast.cpp.o: In function `main':
auto_contrast.cpp:(.text.startup+0x5c): undefined reference to `vxCreateContext'
auto_contrast.cpp:(.text.startup+0x68): undefined reference to `vxGetStatus'
auto_contrast.cpp:(.text.startup+0x83): undefined reference to `vxRegisterLogCallback'
auto_contrast.cpp:(.text.startup+0x8c): undefined reference to `vxCreateGraph'
auto_contrast.cpp:(.text.startup+0x99): undefined reference to `vxGetStatus'
auto_contrast.cpp:(.text.startup+0x1fd): undefined reference to `vxCreateImageFromHandle'
auto_contrast.cpp:(.text.startup+0x237): undefined reference to `vxCreateImage'
auto_contrast.cpp:(.text.startup+0x280): undefined reference to `vxEqualizeHistNode'
auto_contrast.cpp:(.text.startup+0x29e): undefined reference to `vxVerifyGraph'
auto_contrast.cpp:(.text.startup+0x300): undefined reference to `vxProcessGraph'
auto_contrast.cpp:(.text.startup+0x37d): undefined reference to `vxReleaseNode'
auto_contrast.cpp:(.text.startup+0x3cd): undefined reference to `vxReleaseImage'
auto_contrast.cpp:(.text.startup+0x3ff): undefined reference to `vxReleaseGraph'
auto_contrast.cpp:(.text.startup+0x40f): undefined reference to `vxReleaseContext'
auto_contrast.cpp:(.text.startup+0x494): undefined reference to `vxCreateVirtualImage'
auto_contrast.cpp:(.text.startup+0x4c4): undefined reference to `vxCreateVirtualImage'
auto_contrast.cpp:(.text.startup+0x4f4): undefined reference to `vxCreateVirtualImage'
auto_contrast.cpp:(.text.startup+0x524): undefined reference to `vxCreateVirtualImage'
auto_contrast.cpp:(.text.startup+0x554): undefined reference to `vxCreateVirtualImage'
CMakeFiles/auto_contrast.dir/auto_contrast.cpp.o:auto_contrast.cpp:(.text.startup+0x584): more undefined references to `vxCreateVirtualImage' follow
CMakeFiles/auto_contrast.dir/auto_contrast.cpp.o: In function `main':
auto_contrast.cpp:(.text.startup+0x5af): undefined reference to `vxColorConvertNode'
auto_contrast.cpp:(.text.startup+0x5dc): undefined reference to `vxChannelExtractNode'
auto_contrast.cpp:(.text.startup+0x604): undefined reference to `vxEqualizeHistNode'
auto_contrast.cpp:(.text.startup+0x631): undefined reference to `vxChannelExtractNode'
auto_contrast.cpp:(.text.startup+0x65e): undefined reference to `vxChannelExtractNode'
auto_contrast.cpp:(.text.startup+0x693): undefined reference to `vxChannelCombineNode'
auto_contrast.cpp:(.text.startup+0x6bb): undefined reference to `vxColorConvertNode'
CMakeFiles/auto_contrast.dir/__/common/src/helper.cpp.o: In function `IntelVXSample::testImage1(_vx_image*)':
helper.cpp:(.text+0x11c): undefined reference to `vxGetValidRegionImage'
helper.cpp:(.text+0x214): undefined reference to `vxMapImagePatch'
helper.cpp:(.text+0x33c): undefined reference to `vxFormatImagePatchAddress2d'
helper.cpp:(.text+0x3e7): undefined reference to `vxUnmapImagePatch'
collect2: error: ld returned 1 exit status
samples/auto_contrast/CMakeFiles/auto_contrast.dir/build.make:198: recipe for target 'samples/auto_contrast/auto_contrast' failed
make[2]: *** [samples/auto_contrast/auto_contrast] Error 1
CMakeFiles/Makefile2:194: recipe for target 'samples/auto_contrast/CMakeFiles/auto_contrast.dir/all' failed
make[1]: *** [samples/auto_contrast/CMakeFiles/auto_contrast.dir/all] Error 2
Makefile:127: recipe for target 'all' failed
make: *** [all] Error 2

0 Kudos
Ryan_M_Intel1
Employee
1,889 Views

Hello,

The following is an example of the steps required to build the openvx samples on Linux. Can you double check that the process you are using matches?

#set up the environment 
#(replace /path/to/installed with the correct installed location on your system)
source /path/to/installed/computer_vision_sdk_2018.1.265/bin/setupvars.sh

#Create new directories in a local workspace to contain the build & installed samples
mkdir samples-build
mkdir samples-installed

cd samples-build

#run cmake, specifying the desired installed location for the samples,
# and point it to the top-level samples source tree
cmake -D CMAKE_INSTALL_PREFIX=/path/to/samples-installed ${INTEL_CVSDK_DIR}/openvx/samples/

#build the samples
make

#install the built samples into the install directory
make install

Let us know if you are still receiving link errors when following these steps.

Best Regards, Ryan

0 Kudos
Gnanavel__Sivaroophi
1,889 Views

Hi,

I tried following the same steps for building the samples, as you suggested. When I ran the "cmake" command, it says that a few directories are missing. I faced the same problem before too. How do I locate these directories? Am I missing something ?

********************************************************************* Terminal ***********************************************************************

sgnanave@ubuntu:~/Desktop/samples-build$ sudo cmake -D CMAKE_INSTALL_PREFIX=/home/sgnanave/Desktop/samples-installed/ /opt/intel/computer_vision_sdk_2018.1.249/openvx/samples/

--

Changed from default to Release build type

-- INTEL_CVSDK_DIR: IntelOpenVX_ROOT_DIR-NOTFOUND

-- Intel CVSDK OpenVX runtime is used

-- Could NOT find IntelOpenVX (missing:  IntelOpenVX_INCLUDE_DIR IntelOpenVX_IAP_LIB IntelOpenVX_IAP_OPENVX_LIB IntelOpenVX_IAP_RUNTIME_DIR IntelOpenVX_IAP_OPENVX_RUNTIME_DIR)

-- [ INFO ] Intel CVSDK OpenVX implementation: not found

--

common library

-- INTEL_CVSDK_DIR: IntelOpenVX_ROOT_DIR-NOTFOUND

-- Intel CVSDK OpenVX runtime is used

-- Could NOT find IntelOpenVX (missing:  IntelOpenVX_INCLUDE_DIR IntelOpenVX_IAP_LIB IntelOpenVX_IAP_OPENVX_LIB IntelOpenVX_IAP_RUNTIME_DIR IntelOpenVX_IAP_OPENVX_RUNTIME_DIR)

-- [ INFO ] Intel CVSDK OpenVX implementation: not found

-- OpenCV_DIR is not set

-- OPENCV is disabled or not found

-- INTEL_VTUNE_DIR is not defined

-- Could NOT find INTEL_ITT (missing:  Located_ITT_INCLUDE_DIRS Located_ITT_LIBS)

-- INTEL_ITT is disabled

-- Using file '/opt/intel/computer_vision_sdk_2018.1.249/openvx/samples/samples/cv_samples.config' with the list of samples

-- Sample 'auto_contrast' condition is '1 EQUAL 1'

--

Adding sample 'auto_contrast'

-- INTEL_CVSDK_DIR: IntelOpenVX_ROOT_DIR-NOTFOUND

-- Intel CVSDK OpenVX runtime is used

-- Could NOT find IntelOpenVX (missing:  IntelOpenVX_INCLUDE_DIR IntelOpenVX_IAP_LIB IntelOpenVX_IAP_OPENVX_LIB IntelOpenVX_IAP_RUNTIME_DIR IntelOpenVX_IAP_OPENVX_RUNTIME_DIR)

-- [ INFO ] Intel CVSDK OpenVX implementation: not found

-- OpenCV_DIR is not set

-- OPENCV is disabled or not found

-- INTEL_VTUNE_DIR is not defined

-- Could NOT find INTEL_ITT (missing:  Located_ITT_INCLUDE_DIRS Located_ITT_LIBS)

-- INTEL_ITT is disabled

-- Sample 'video_stabilization' condition is '1 EQUAL 1'

--

Adding sample 'video_stabilization'

-- INTEL_CVSDK_DIR: IntelOpenVX_ROOT_DIR-NOTFOUND

-- Intel CVSDK OpenVX runtime is used

-- Could NOT find IntelOpenVX (missing:  IntelOpenVX_INCLUDE_DIR IntelOpenVX_IAP_LIB IntelOpenVX_IAP_OPENVX_LIB IntelOpenVX_IAP_RUNTIME_DIR IntelOpenVX_IAP_OPENVX_RUNTIME_DIR)

-- [ INFO ] Intel CVSDK OpenVX implementation: not found

-- OpenCV_DIR is not set

-- OPENCV is disabled or not found

CMake Warning at samples/video_stabilization/CMakeLists.txt:15 (message):

  video_stabilization sample will not be built due to OpenCV absence

 

 

-- Sample 'motion_detection' condition is 'NOT USE_KHRONOS_SAMPLE_IMPL'

--

Adding sample 'motion_detection'

-- OpenCV_DIR is not set

-- OPENCV is disabled or not found

CMake Warning at samples/motion_detection/CMakeLists.txt:12 (message):

  motion_detection sample will not be built due to OpenCV absence

 

 

-- Sample 'face_detection' condition is 'NOT USE_KHRONOS_SAMPLE_IMPL'

--

Adding sample 'face_detection'

-- OpenCV_DIR is not set

-- OPENCV is disabled or not found

CMake Warning at samples/face_detection/CMakeLists.txt:12 (message):

  face_detection sample is not built because OpenCV is not detected

 

 

-- Sample 'gstovx_plugin' condition is 'NOT USE_KHRONOS_SAMPLE_IMPL AND NOT WIN32'

--

Adding sample 'gstovx_plugin'

-- Checking for module 'gstreamer-1.0'

--   No package 'gstreamer-1.0' found

CMake Warning at samples/gstovx_plugin/CMakeLists.txt:18 (message):

  gstovx_plugin is not configured due to absence of gstreamer component(s)

 

 

CMake Warning at samples/gstovx_plugin/CMakeLists.txt:19 (message):

  Please install GStreamer1.0 before running the sample.  Example: apt

  install gstreamer1.0

 

 

-- Sample 'lane_detection' condition is 'NOT USE_KHRONOS_SAMPLE_IMPL'

--

Adding sample 'lane_detection'

-- INTEL_CVSDK_DIR: IntelOpenVX_ROOT_DIR-NOTFOUND

-- Intel CVSDK OpenVX runtime is used

-- Could NOT find IntelOpenVX (missing:  IntelOpenVX_INCLUDE_DIR IntelOpenVX_IAP_LIB IntelOpenVX_IAP_OPENVX_LIB IntelOpenVX_IAP_RUNTIME_DIR IntelOpenVX_IAP_OPENVX_RUNTIME_DIR)

-- [ INFO ] Intel CVSDK OpenVX implementation: not found

-- OpenCV_DIR is not set

-- OPENCV is disabled or not found

CMake Warning at samples/lane_detection/CMakeLists.txt:30 (message):

  lane_detection sample will not be built due to OpenCV absence

 

 

-- Sample 'census_transform' condition is 'NOT USE_KHRONOS_SAMPLE_IMPL'

--

Adding sample 'census_transform'

-- INTEL_CVSDK_DIR: IntelOpenVX_ROOT_DIR-NOTFOUND

-- Intel CVSDK OpenVX runtime is used

-- Could NOT find IntelOpenVX (missing:  IntelOpenVX_INCLUDE_DIR IntelOpenVX_IAP_LIB IntelOpenVX_IAP_OPENVX_LIB IntelOpenVX_IAP_RUNTIME_DIR IntelOpenVX_IAP_OPENVX_RUNTIME_DIR)

-- [ INFO ] Intel CVSDK OpenVX implementation: not found

-- OpenCV_DIR is not set

-- OPENCV is disabled or not found

CMake Warning at samples/census_transform/CMakeLists.txt:22 (message):

  census_transform is not built because OpenCV is not detected

 

 

-- Sample 'hetero_basic' condition is 'NOT USE_KHRONOS_SAMPLE_IMPL'

--

Adding sample 'hetero_basic'

-- INTEL_CVSDK_DIR: IntelOpenVX_ROOT_DIR-NOTFOUND

-- Intel CVSDK OpenVX runtime is used

-- Could NOT find IntelOpenVX (missing:  IntelOpenVX_INCLUDE_DIR IntelOpenVX_IAP_LIB IntelOpenVX_IAP_OPENVX_LIB IntelOpenVX_IAP_RUNTIME_DIR IntelOpenVX_IAP_OPENVX_RUNTIME_DIR)

-- [ INFO ] Intel CVSDK OpenVX implementation: not found

-- OpenCV_DIR is not set

-- OPENCV is disabled or not found

CMake Warning at samples/hetero_basic/CMakeLists.txt:17 (message):

  hetero_basic sample will not be built due to OpenCV absence

 

 

-- Sample 'kernel_enumerator' condition is 'NOT USE_KHRONOS_SAMPLE_IMPL'

--

Adding sample 'kernel_enumerator'

-- INTEL_CVSDK_DIR: IntelOpenVX_ROOT_DIR-NOTFOUND

-- Intel CVSDK OpenVX runtime is used

-- Could NOT find IntelOpenVX (missing:  IntelOpenVX_INCLUDE_DIR IntelOpenVX_IAP_LIB IntelOpenVX_IAP_OPENVX_LIB IntelOpenVX_IAP_RUNTIME_DIR IntelOpenVX_IAP_OPENVX_RUNTIME_DIR)

-- [ INFO ] Intel CVSDK OpenVX implementation: not found

-- INTEL_VTUNE_DIR is not defined

-- Could NOT find INTEL_ITT (missing:  Located_ITT_INCLUDE_DIRS Located_ITT_LIBS)

-- INTEL_ITT is disabled

-- Sample 'ocl_custom_kernel' condition is 'NOT USE_KHRONOS_SAMPLE_IMPL'

--

Adding sample 'ocl_custom_kernel'

-- INTEL_CVSDK_DIR: IntelOpenVX_ROOT_DIR-NOTFOUND

-- Intel CVSDK OpenVX runtime is used

-- Could NOT find IntelOpenVX (missing:  IntelOpenVX_INCLUDE_DIR IntelOpenVX_IAP_LIB IntelOpenVX_IAP_OPENVX_LIB IntelOpenVX_IAP_RUNTIME_DIR IntelOpenVX_IAP_OPENVX_RUNTIME_DIR)

-- [ INFO ] Intel CVSDK OpenVX implementation: not found

-- OpenCV_DIR is not set

-- OPENCV is disabled or not found

CMake Warning at samples/ocl_custom_kernel/CMakeLists.txt:28 (message):

  ocl_custom_kernel sample will not be built due to OpenCV absence

 

 

-- Sample 'color_copy_pipeline' condition is 'NOT USE_KHRONOS_SAMPLE_IMPL AND NOT WIN32'

--

Adding sample 'color_copy_pipeline'

-- INTEL_VTUNE_DIR is not defined

-- Could NOT find INTEL_ITT (missing:  Located_ITT_INCLUDE_DIRS Located_ITT_LIBS)

-- INTEL_ITT is disabled

-- INTEL_CVSDK_DIR: IntelOpenVX_ROOT_DIR-NOTFOUND

-- Intel CVSDK OpenVX runtime is used

-- Could NOT find IntelOpenVX (missing:  IntelOpenVX_INCLUDE_DIR IntelOpenVX_IAP_LIB IntelOpenVX_IAP_OPENVX_LIB IntelOpenVX_IAP_RUNTIME_DIR IntelOpenVX_IAP_OPENVX_RUNTIME_DIR)

Adding sample 'camera_tampering'

-- OpenCV_DIR is not set

-- OPENCV is disabled or not found

CMake Warning at samples/camera_tampering/CMakeLists.txt:12 (message):

  camera_tampering sample will not be built due to OpenCV absence

 

 

-- Configuring done

-- Generating done

-- Build files have been written to: /opt/intel/computer_vision_sdk_2018.1.249/openvx/samples

 

0 Kudos
Ryan_M_Intel1
Employee
1,889 Views

Hello, 

Can you try running the cmake step without sudo? It shouldn't be necessary to run with sudo privileges for this step, and it could be that the environment variables that were set up by sourcing bin/setupvars.sh are getting lost in the transition to superuser.  Actually, you shouldn't need sudo for any of these steps unless you want to 'make install' to a location that the current user doesn't have write permissions to.

Let me know if this solves the issue.

Best Regards, Ryan

0 Kudos
Monique_J_Intel
Employee
1,889 Views

Hi Sivaroophini,

I reproduced your issue and got the samples to build by doing the following:

1. source /opt/intel/computer_vision_sdk/bin/setupvars.sh this sets the necessary environment variable to openvx, openvino etc.

2.mkdir build somewhere other than in the computer vision directory and cd build

3.sudo cmake -DCMAKE_BUILD=Release /opt/intel/computer_vision_sdk/openvx/samples/

4.sudo make

Let me know if you have any questions or concerns.

Kind Regards,

Monique Jones

0 Kudos
Alexander_D_Intel1
1,889 Views

Hi Sivaroophini,

Also, please use official on-line documentation that covers your questions as well: https://software.intel.com/en-us/articles/OpenVINO-InferEngine#Inference%20Engine%20Samples

Regards.

0 Kudos
yap__kelvin1
Beginner
1,889 Views

Hi Intel Personnel,

 

I am encountering exactly the same problem on the building of OpenVX samples. In the step 3 of the building, 

<sudo cmake -DCMAKE_BUILD=Release /opt/intel/computer_vision_sdk/openvx/samples/>

IntelOpenVX_Root_Dir could not be found. I did exactly the same installtation procedure stated in the OpenVino Installation page. I tried the openCV samples and it works. However, OpenVX could not be buily despite trying all the above solutions and link that was recommeded. 

 

Could you kindly advice on this issue.

 

Thanks

 

Regards

Kelvin

0 Kudos
Reply