Compilation problems with OpenCV

Hello everyone,
I’m working on a plugin based on nvivafilter. This plugin includes a program developped by another person that contains OpenCV code.

When I try to compile my plugin without processing, it works fine. But when I add a single OpenCV function call, compilation fails with this output :

-- The C compiler identification is GNU 5.4.0
-- The CXX compiler identification is GNU 5.4.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
-- Looking for pthread.h
-- Looking for pthread.h - found
-- Looking for pthread_create
-- Looking for pthread_create - not found
-- Looking for pthread_create in pthreads
-- Looking for pthread_create in pthreads - not found
-- Looking for pthread_create in pthread
-- Looking for pthread_create in pthread - found
-- Found Threads: TRUE  
-- Found CUDA: /usr/local/cuda-8.0 (found suitable exact version "8.0") 
-- Found PkgConfig: /usr/bin/pkg-config (found version "0.29.1") 
-- Found GSL: /usr/include (found version "2.1") 
CMake Warning at /usr/share/cmake-3.5/Modules/FindCUDA.cmake:1156 (message):
  --host-compilation flag is deprecated in CUDA version >= 3.0.  Removing
  --host-compilation C flag
Call Stack (most recent call first):
  /usr/share/cmake-3.5/Modules/FindCUDA.cmake:1640 (CUDA_WRAP_SRCS)
  CMakeLists.txt:38 (cuda_add_library)


-- Configuring done
-- Generating done
-- Build files have been written to: /home/ubuntu/Work/Plugin_GStreamer_NVidia/build/debug
[ 50%] Building NVCC (Device) object CMakeFiles/core_bin.dir/core_bin_generated_nvsample_cudaprocess.cu.o
nvcc warning : The 'compute_20', 'sm_20', and 'sm_21' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning).
nvcc warning : The 'compute_20', 'sm_20', and 'sm_21' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning).
/usr/lib/gcc/aarch64-linux-gnu/5/include/arm_neon.h(38): error: identifier "__Int8x8_t" is undefined

/usr/lib/gcc/aarch64-linux-gnu/5/include/arm_neon.h(39): error: identifier "__Int16x4_t" is undefined

/usr/lib/gcc/aarch64-linux-gnu/5/include/arm_neon.h(40): error: identifier "__Int32x2_t" is undefined

/usr/lib/gcc/aarch64-linux-gnu/5/include/arm_neon.h(41): error: identifier "__Int64x1_t" is undefined

/usr/lib/gcc/aarch64-linux-gnu/5/include/arm_neon.h(42): error: identifier "__Float16x4_t" is undefined

/usr/lib/gcc/aarch64-linux-gnu/5/include/arm_neon.h(43): error: identifier "__Float32x2_t" is undefined

/usr/lib/gcc/aarch64-linux-gnu/5/include/arm_neon.h(44): error: identifier "__Poly8x8_t" is undefined

/usr/lib/gcc/aarch64-linux-gnu/5/include/arm_neon.h(45): error: identifier "__Poly16x4_t" is undefined

/usr/lib/gcc/aarch64-linux-gnu/5/include/arm_neon.h(46): error: identifier "__Uint8x8_t" is undefined

/usr/lib/gcc/aarch64-linux-gnu/5/include/arm_neon.h(47): error: identifier "__Uint16x4_t" is undefined

/usr/lib/gcc/aarch64-linux-gnu/5/include/arm_neon.h(48): error: identifier "__Uint32x2_t" is undefined

/usr/lib/gcc/aarch64-linux-gnu/5/include/arm_neon.h(49): error: identifier "__Float64x1_t" is undefined

/usr/lib/gcc/aarch64-linux-gnu/5/include/arm_neon.h(50): error: identifier "__Uint64x1_t" is undefined

/usr/lib/gcc/aarch64-linux-gnu/5/include/arm_neon.h(51): error: identifier "__Int8x16_t" is undefined

/usr/lib/gcc/aarch64-linux-gnu/5/include/arm_neon.h(52): error: identifier "__Int16x8_t" is undefined

/usr/lib/gcc/aarch64-linux-gnu/5/include/arm_neon.h(53): error: identifier "__Int32x4_t" is undefined

/usr/lib/gcc/aarch64-linux-gnu/5/include/arm_neon.h(54): error: identifier "__Int64x2_t" is undefined

/usr/lib/gcc/aarch64-linux-gnu/5/include/arm_neon.h(55): error: identifier "__Float16x8_t" is undefined

/usr/lib/gcc/aarch64-linux-gnu/5/include/arm_neon.h(56): error: identifier "__Float32x4_t" is undefined

/usr/lib/gcc/aarch64-linux-gnu/5/include/arm_neon.h(57): error: identifier "__Float64x2_t" is undefined

/usr/lib/gcc/aarch64-linux-gnu/5/include/arm_neon.h(58): error: identifier "__Poly8x16_t" is undefined

/usr/lib/gcc/aarch64-linux-gnu/5/include/arm_neon.h(59): error: identifier "__Poly16x8_t" is undefined

/usr/lib/gcc/aarch64-linux-gnu/5/include/arm_neon.h(60): error: identifier "__Poly64x2_t" is undefined

/usr/lib/gcc/aarch64-linux-gnu/5/include/arm_neon.h(61): error: identifier "__Uint8x16_t" is undefined

/usr/lib/gcc/aarch64-linux-gnu/5/include/arm_neon.h(62): error: identifier "__Uint16x8_t" is undefined

/usr/lib/gcc/aarch64-linux-gnu/5/include/arm_neon.h(63): error: identifier "__Uint32x4_t" is undefined

/usr/lib/gcc/aarch64-linux-gnu/5/include/arm_neon.h(64): error: identifier "__Uint64x2_t" is undefined

/usr/lib/gcc/aarch64-linux-gnu/5/include/arm_neon.h(66): error: identifier "__Poly8_t" is undefined

/usr/lib/gcc/aarch64-linux-gnu/5/include/arm_neon.h(67): error: identifier "__Poly16_t" is undefined

/usr/lib/gcc/aarch64-linux-gnu/5/include/arm_neon.h(68): error: identifier "__Poly64_t" is undefined

/usr/lib/gcc/aarch64-linux-gnu/5/include/arm_neon.h(69): error: identifier "__Poly128_t" is undefined

/usr/lib/gcc/aarch64-linux-gnu/5/include/arm_neon.h(71): error: identifier "__fp16" is undefined

/usr/lib/gcc/aarch64-linux-gnu/5/include/arm_neon.h(727): error: identifier "__builtin_aarch64_saddlv8qi" is undefined

/usr/lib/gcc/aarch64-linux-gnu/5/include/arm_neon.h(733): error: identifier "__builtin_aarch64_saddlv4hi" is undefined

/usr/lib/gcc/aarch64-linux-gnu/5/include/arm_neon.h(739): error: identifier "__builtin_aarch64_saddlv2si" is undefined

/usr/lib/gcc/aarch64-linux-gnu/5/include/arm_neon.h(745): error: identifier "__builtin_aarch64_uaddlv8qi" is undefined

/usr/lib/gcc/aarch64-linux-gnu/5/include/arm_neon.h(752): error: identifier "__builtin_aarch64_uaddlv4hi" is undefined

/usr/lib/gcc/aarch64-linux-gnu/5/include/arm_neon.h(759): error: identifier "__builtin_aarch64_uaddlv2si" is undefined

/usr/lib/gcc/aarch64-linux-gnu/5/include/arm_neon.h(766): error: identifier "__builtin_aarch64_saddl2v16qi" is undefined

/usr/lib/gcc/aarch64-linux-gnu/5/include/arm_neon.h(772): error: identifier "__builtin_aarch64_saddl2v8hi" is undefined

/usr/lib/gcc/aarch64-linux-gnu/5/include/arm_neon.h(778): error: identifier "__builtin_aarch64_saddl2v4si" is undefined

/usr/lib/gcc/aarch64-linux-gnu/5/include/arm_neon.h(784): error: identifier "__builtin_aarch64_uaddl2v16qi" is undefined

/usr/lib/gcc/aarch64-linux-gnu/5/include/arm_neon.h(791): error: identifier "__builtin_aarch64_uaddl2v8hi" is undefined

/usr/lib/gcc/aarch64-linux-gnu/5/include/arm_neon.h(798): error: identifier "__builtin_aarch64_uaddl2v4si" is undefined

/usr/lib/gcc/aarch64-linux-gnu/5/include/arm_neon.h(805): error: identifier "__builtin_aarch64_saddwv8qi" is undefined

/usr/lib/gcc/aarch64-linux-gnu/5/include/arm_neon.h(811): error: identifier "__builtin_aarch64_saddwv4hi" is undefined

/usr/lib/gcc/aarch64-linux-gnu/5/include/arm_neon.h(817): error: identifier "__builtin_aarch64_saddwv2si" is undefined

/usr/lib/gcc/aarch64-linux-gnu/5/include/arm_neon.h(823): error: identifier "__builtin_aarch64_uaddwv8qi" is undefined

/usr/lib/gcc/aarch64-linux-gnu/5/include/arm_neon.h(830): error: identifier "__builtin_aarch64_uaddwv4hi" is undefined

/usr/lib/gcc/aarch64-linux-gnu/5/include/arm_neon.h(837): error: identifier "__builtin_aarch64_uaddwv2si" is undefined

/usr/lib/gcc/aarch64-linux-gnu/5/include/arm_neon.h(844): error: identifier "__builtin_aarch64_saddw2v16qi" is undefined

/usr/lib/gcc/aarch64-linux-gnu/5/include/arm_neon.h(850): error: identifier "__builtin_aarch64_saddw2v8hi" is undefined

/usr/lib/gcc/aarch64-linux-gnu/5/include/arm_neon.h(856): error: identifier "__builtin_aarch64_saddw2v4si" is undefined

/usr/lib/gcc/aarch64-linux-gnu/5/include/arm_neon.h(862): error: identifier "__builtin_aarch64_uaddw2v16qi" is undefined

/usr/lib/gcc/aarch64-linux-gnu/5/include/arm_neon.h(869): error: identifier "__builtin_aarch64_uaddw2v8hi" is undefined

/usr/lib/gcc/aarch64-linux-gnu/5/include/arm_neon.h(876): error: identifier "__builtin_aarch64_uaddw2v4si" is undefined

/usr/lib/gcc/aarch64-linux-gnu/5/include/arm_neon.h(883): error: identifier "__builtin_aarch64_shaddv8qi" is undefined

/usr/lib/gcc/aarch64-linux-gnu/5/include/arm_neon.h(889): error: identifier "__builtin_aarch64_shaddv4hi" is undefined

/usr/lib/gcc/aarch64-linux-gnu/5/include/arm_neon.h(895): error: identifier "__builtin_aarch64_shaddv2si" is undefined

/usr/lib/gcc/aarch64-linux-gnu/5/include/arm_neon.h(901): error: identifier "__builtin_aarch64_uhaddv8qi" is undefined

/usr/lib/gcc/aarch64-linux-gnu/5/include/arm_neon.h(908): error: identifier "__builtin_aarch64_uhaddv4hi" is undefined

/usr/lib/gcc/aarch64-linux-gnu/5/include/arm_neon.h(915): error: identifier "__builtin_aarch64_uhaddv2si" is undefined

/usr/lib/gcc/aarch64-linux-gnu/5/include/arm_neon.h(922): error: identifier "__builtin_aarch64_shaddv16qi" is undefined

/usr/lib/gcc/aarch64-linux-gnu/5/include/arm_neon.h(928): error: identifier "__builtin_aarch64_shaddv8hi" is undefined

/usr/lib/gcc/aarch64-linux-gnu/5/include/arm_neon.h(934): error: identifier "__builtin_aarch64_shaddv4si" is undefined

/usr/lib/gcc/aarch64-linux-gnu/5/include/arm_neon.h(940): error: identifier "__builtin_aarch64_uhaddv16qi" is undefined

/usr/lib/gcc/aarch64-linux-gnu/5/include/arm_neon.h(947): error: identifier "__builtin_aarch64_uhaddv8hi" is undefined

/usr/lib/gcc/aarch64-linux-gnu/5/include/arm_neon.h(954): error: identifier "__builtin_aarch64_uhaddv4si" is undefined

/usr/lib/gcc/aarch64-linux-gnu/5/include/arm_neon.h(961): error: identifier "__builtin_aarch64_srhaddv8qi" is undefined

/usr/lib/gcc/aarch64-linux-gnu/5/include/arm_neon.h(967): error: identifier "__builtin_aarch64_srhaddv4hi" is undefined

/usr/lib/gcc/aarch64-linux-gnu/5/include/arm_neon.h(973): error: identifier "__builtin_aarch64_srhaddv2si" is undefined

/usr/lib/gcc/aarch64-linux-gnu/5/include/arm_neon.h(979): error: identifier "__builtin_aarch64_urhaddv8qi" is undefined

/usr/lib/gcc/aarch64-linux-gnu/5/include/arm_neon.h(986): error: identifier "__builtin_aarch64_urhaddv4hi" is undefined

/usr/lib/gcc/aarch64-linux-gnu/5/include/arm_neon.h(993): error: identifier "__builtin_aarch64_urhaddv2si" is undefined

/usr/lib/gcc/aarch64-linux-gnu/5/include/arm_neon.h(1000): error: identifier "__builtin_aarch64_srhaddv16qi" is undefined

/usr/lib/gcc/aarch64-linux-gnu/5/include/arm_neon.h(1006): error: identifier "__builtin_aarch64_srhaddv8hi" is undefined

/usr/lib/gcc/aarch64-linux-gnu/5/include/arm_neon.h(1012): error: identifier "__builtin_aarch64_srhaddv4si" is undefined

/usr/lib/gcc/aarch64-linux-gnu/5/include/arm_neon.h(1018): error: identifier "__builtin_aarch64_urhaddv16qi" is undefined

/usr/lib/gcc/aarch64-linux-gnu/5/include/arm_neon.h(1025): error: identifier "__builtin_aarch64_urhaddv8hi" is undefined

/usr/lib/gcc/aarch64-linux-gnu/5/include/arm_neon.h(1032): error: identifier "__builtin_aarch64_urhaddv4si" is undefined

/usr/lib/gcc/aarch64-linux-gnu/5/include/arm_neon.h(1039): error: identifier "__builtin_aarch64_addhnv8hi" is undefined

/usr/lib/gcc/aarch64-linux-gnu/5/include/arm_neon.h(1045): error: identifier "__builtin_aarch64_addhnv4si" is undefined

/usr/lib/gcc/aarch64-linux-gnu/5/include/arm_neon.h(1051): error: identifier "__builtin_aarch64_addhnv2di" is undefined

/usr/lib/gcc/aarch64-linux-gnu/5/include/arm_neon.h(1057): error: identifier "__builtin_aarch64_addhnv8hi" is undefined

/usr/lib/gcc/aarch64-linux-gnu/5/include/arm_neon.h(1064): error: identifier "__builtin_aarch64_addhnv4si" is undefined

/usr/lib/gcc/aarch64-linux-gnu/5/include/arm_neon.h(1071): error: identifier "__builtin_aarch64_addhnv2di" is undefined

/usr/lib/gcc/aarch64-linux-gnu/5/include/arm_neon.h(1078): error: identifier "__builtin_aarch64_raddhnv8hi" is undefined

/usr/lib/gcc/aarch64-linux-gnu/5/include/arm_neon.h(1084): error: identifier "__builtin_aarch64_raddhnv4si" is undefined

/usr/lib/gcc/aarch64-linux-gnu/5/include/arm_neon.h(1090): error: identifier "__builtin_aarch64_raddhnv2di" is undefined

/usr/lib/gcc/aarch64-linux-gnu/5/include/arm_neon.h(1096): error: identifier "__builtin_aarch64_raddhnv8hi" is undefined

/usr/lib/gcc/aarch64-linux-gnu/5/include/arm_neon.h(1103): error: identifier "__builtin_aarch64_raddhnv4si" is undefined

/usr/lib/gcc/aarch64-linux-gnu/5/include/arm_neon.h(1110): error: identifier "__builtin_aarch64_raddhnv2di" is undefined

/usr/lib/gcc/aarch64-linux-gnu/5/include/arm_neon.h(1117): error: identifier "__builtin_aarch64_addhn2v8hi" is undefined

/usr/lib/gcc/aarch64-linux-gnu/5/include/arm_neon.h(1123): error: identifier "__builtin_aarch64_addhn2v4si" is undefined

/usr/lib/gcc/aarch64-linux-gnu/5/include/arm_neon.h(1129): error: identifier "__builtin_aarch64_addhn2v2di" is undefined

/usr/lib/gcc/aarch64-linux-gnu/5/include/arm_neon.h(1135): error: identifier "__builtin_aarch64_addhn2v8hi" is undefined

/usr/lib/gcc/aarch64-linux-gnu/5/include/arm_neon.h(1143): error: identifier "__builtin_aarch64_addhn2v4si" is undefined

/usr/lib/gcc/aarch64-linux-gnu/5/include/arm_neon.h(1151): error: identifier "__builtin_aarch64_addhn2v2di" is undefined

/usr/lib/gcc/aarch64-linux-gnu/5/include/arm_neon.h(1159): error: identifier "__builtin_aarch64_raddhn2v8hi" is undefined

/usr/lib/gcc/aarch64-linux-gnu/5/include/arm_neon.h(1165): error: identifier "__builtin_aarch64_raddhn2v4si" is undefined

Error limit reached.
100 errors detected in the compilation of "/tmp/tmpxft_00002d9d_00000000-15_nvsample_cudaprocess.compute_50.cpp1.ii".
Compilation terminated.
CMake Error at core_bin_generated_nvsample_cudaprocess.cu.o.cmake:266 (message):
  Error generating file
  /home/ubuntu/Work/Plugin_GStreamer_NVidia/build/debug/CMakeFiles/core_bin.dir//./core_bin_generated_nvsample_cudaprocess.cu.o


CMakeFiles/core_bin.dir/build.make:63: recipe for target 'CMakeFiles/core_bin.dir/core_bin_generated_nvsample_cudaprocess.cu.o' failed
make[2]: *** [CMakeFiles/core_bin.dir/core_bin_generated_nvsample_cudaprocess.cu.o] Error 1
CMakeFiles/Makefile2:67: recipe for target 'CMakeFiles/core_bin.dir/all' failed
make[1]: *** [CMakeFiles/core_bin.dir/all] Error 2
Makefile:83: recipe for target 'all' failed
make: *** [all] Error 2

My CMakeFile looks like this :

cmake_minimum_required(VERSION 2.8)
project( core_bin )

#---Stop the compilation if a warning is encounter
SET(COMPILE_DEFINITIONS -Werror)

#---Ensure that OpenCV is installed
find_package( OpenCV REQUIRED )
find_package( GSL REQUIRED )
find_package( CUDA QUIET REQUIRED )
set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -lm -lncurses -g -O0 --shared -fPIC")

#---Include directories paths
include_directories(programme_serge/include)
include_directories(/usr/include/opencv)
include_directories(/usr/include/opencv2)
include_directories(/usr/include/gsl)
include_directories(/usr/include)
include_directories(programme_serge/user/include)

set(
    CUDA_NVCC_FLAGS
    ${CUDA_NVCC_FLAGS};
    -O3 -gencode arch=compute_20,code=sm_20 -gencode arch=compute_30,code=sm_30 -gencode arch=compute_32,code=sm_32 -gencode arch=compute_35,code=sm_35 -gencode arch=compute_50,code=sm_50 -gencode arch=compute_50,code=compute_50
)

# make .o
cuda_add_library(core_bin nvsample_cudaprocess.cu)

# link
target_link_libraries( core_bin ${OpenCV_LIBS} /usr/lib/aarch64-linux-gnu/libgsl.so /usr/lib/aarch64-linux-gnu/libgslcblas.so /usr/lib/aarch64-linux-gnu/libncurses.so)

Thanks for your answers

Hello, dunlug:
What version of SDK you are using?
It looks like toolchain is not correct.
I suggest using Jetpack for a fresh flash.

br
ChenJian