Darknet: make error undefined reference to `cvRound'

Created on 16 Mar 2018  路  3Comments  路  Source: AlexeyAB/darknet

Hi,

My system:
Ubuntu16.04
CUDA9.1
cuDNN7.1
opencv3.3.1

Modify the head in the MakeFile , set all flags to 1. Modify -gencode arch for GTX1080.

Part of error messages:

./src/convolutional_kernels.cu:6:0: warning: ignoring #pragma comment  [-Wunknown-pragmas]
 #pragma comment(lib, "cudnn.lib")  
 ^
nvcc  -gencode arch=compute_30,code=sm_30 -gencode arch=compute_35,code=sm_35 -gencode arch=compute_37,code=sm_37 -gencode arch=compute_50,code=sm_50 -gencode arch=compute_52,code=sm_52 -gencode arch=compute_60,code=sm_60 -gencode arch=compute_61,code=sm_61 -gencode arch=compute_70,code=sm_70  -DOPENCV `pkg-config --cflags opencv`  -DGPU -I/usr/local/cuda/include/ -DCUDNN  --compiler-options "-Wall -Wfatal-errors -O0 -g -DOPENCV -fopenmp -DGPU -DCUDNN -I/usr/local/cudnn/include -fPIC" -c ./src/activation_kernels.cu -o obj/activation_kernels.o
nvcc  -gencode arch=compute_30,code=sm_30 -gencode arch=compute_35,code=sm_35 -gencode arch=compute_37,code=sm_37 -gencode arch=compute_50,code=sm_50 -gencode arch=compute_52,code=sm_52 -gencode arch=compute_60,code=sm_60 -gencode arch=compute_61,code=sm_61 -gencode arch=compute_70,code=sm_70  -DOPENCV `pkg-config --cflags opencv`  -DGPU -I/usr/local/cuda/include/ -DCUDNN  --compiler-options "-Wall -Wfatal-errors -O0 -g -DOPENCV -fopenmp -DGPU -DCUDNN -I/usr/local/cudnn/include -fPIC" -c ./src/im2col_kernels.cu -o obj/im2col_kernels.o
nvcc  -gencode arch=compute_30,code=sm_30 -gencode arch=compute_35,code=sm_35 -gencode arch=compute_37,code=sm_37 -gencode arch=compute_50,code=sm_50 -gencode arch=compute_52,code=sm_52 -gencode arch=compute_60,code=sm_60 -gencode arch=compute_61,code=sm_61 -gencode arch=compute_70,code=sm_70  -DOPENCV `pkg-config --cflags opencv`  -DGPU -I/usr/local/cuda/include/ -DCUDNN  --compiler-options "-Wall -Wfatal-errors -O0 -g -DOPENCV -fopenmp -DGPU -DCUDNN -I/usr/local/cudnn/include -fPIC" -c ./src/col2im_kernels.cu -o obj/col2im_kernels.o
nvcc  -gencode arch=compute_30,code=sm_30 -gencode arch=compute_35,code=sm_35 -gencode arch=compute_37,code=sm_37 -gencode arch=compute_50,code=sm_50 -gencode arch=compute_52,code=sm_52 -gencode arch=compute_60,code=sm_60 -gencode arch=compute_61,code=sm_61 -gencode arch=compute_70,code=sm_70  -DOPENCV `pkg-config --cflags opencv`  -DGPU -I/usr/local/cuda/include/ -DCUDNN  --compiler-options "-Wall -Wfatal-errors -O0 -g -DOPENCV -fopenmp -DGPU -DCUDNN -I/usr/local/cudnn/include -fPIC" -c ./src/blas_kernels.cu -o obj/blas_kernels.o
nvcc  -gencode arch=compute_30,code=sm_30 -gencode arch=compute_35,code=sm_35 -gencode arch=compute_37,code=sm_37 -gencode arch=compute_50,code=sm_50 -gencode arch=compute_52,code=sm_52 -gencode arch=compute_60,code=sm_60 -gencode arch=compute_61,code=sm_61 -gencode arch=compute_70,code=sm_70  -DOPENCV `pkg-config --cflags opencv`  -DGPU -I/usr/local/cuda/include/ -DCUDNN  --compiler-options "-Wall -Wfatal-errors -O0 -g -DOPENCV -fopenmp -DGPU -DCUDNN -I/usr/local/cudnn/include -fPIC" -c ./src/crop_layer_kernels.cu -o obj/crop_layer_kernels.o
nvcc  -gencode arch=compute_30,code=sm_30 -gencode arch=compute_35,code=sm_35 -gencode arch=compute_37,code=sm_37 -gencode arch=compute_50,code=sm_50 -gencode arch=compute_52,code=sm_52 -gencode arch=compute_60,code=sm_60 -gencode arch=compute_61,code=sm_61 -gencode arch=compute_70,code=sm_70  -DOPENCV `pkg-config --cflags opencv`  -DGPU -I/usr/local/cuda/include/ -DCUDNN  --compiler-options "-Wall -Wfatal-errors -O0 -g -DOPENCV -fopenmp -DGPU -DCUDNN -I/usr/local/cudnn/include -fPIC" -c ./src/dropout_layer_kernels.cu -o obj/dropout_layer_kernels.o
nvcc  -gencode arch=compute_30,code=sm_30 -gencode arch=compute_35,code=sm_35 -gencode arch=compute_37,code=sm_37 -gencode arch=compute_50,code=sm_50 -gencode arch=compute_52,code=sm_52 -gencode arch=compute_60,code=sm_60 -gencode arch=compute_61,code=sm_61 -gencode arch=compute_70,code=sm_70  -DOPENCV `pkg-config --cflags opencv`  -DGPU -I/usr/local/cuda/include/ -DCUDNN  --compiler-options "-Wall -Wfatal-errors -O0 -g -DOPENCV -fopenmp -DGPU -DCUDNN -I/usr/local/cudnn/include -fPIC" -c ./src/maxpool_layer_kernels.cu -o obj/maxpool_layer_kernels.o
nvcc  -gencode arch=compute_30,code=sm_30 -gencode arch=compute_35,code=sm_35 -gencode arch=compute_37,code=sm_37 -gencode arch=compute_50,code=sm_50 -gencode arch=compute_52,code=sm_52 -gencode arch=compute_60,code=sm_60 -gencode arch=compute_61,code=sm_61 -gencode arch=compute_70,code=sm_70  -DOPENCV `pkg-config --cflags opencv`  -DGPU -I/usr/local/cuda/include/ -DCUDNN  --compiler-options "-Wall -Wfatal-errors -O0 -g -DOPENCV -fopenmp -DGPU -DCUDNN -I/usr/local/cudnn/include -fPIC" -c ./src/network_kernels.cu -o obj/network_kernels.o
nvcc  -gencode arch=compute_30,code=sm_30 -gencode arch=compute_35,code=sm_35 -gencode arch=compute_37,code=sm_37 -gencode arch=compute_50,code=sm_50 -gencode arch=compute_52,code=sm_52 -gencode arch=compute_60,code=sm_60 -gencode arch=compute_61,code=sm_61 -gencode arch=compute_70,code=sm_70  -DOPENCV `pkg-config --cflags opencv`  -DGPU -I/usr/local/cuda/include/ -DCUDNN  --compiler-options "-Wall -Wfatal-errors -O0 -g -DOPENCV -fopenmp -DGPU -DCUDNN -I/usr/local/cudnn/include -fPIC" -c ./src/avgpool_layer_kernels.cu -o obj/avgpool_layer_kernels.o
g++  -DOPENCV `pkg-config --cflags opencv`  -DGPU -I/usr/local/cuda/include/ -DCUDNN  -Wall -Wfatal-errors -O0 -g -DOPENCV -fopenmp -DGPU -DCUDNN -I/usr/local/cudnn/include -fPIC obj/http_stream.o obj/gemm.o obj/utils.o obj/cuda.o obj/convolutional_layer.o obj/list.o obj/image.o obj/activations.o obj/im2col.o obj/col2im.o obj/blas.o obj/crop_layer.o obj/dropout_layer.o obj/maxpool_layer.o obj/softmax_layer.o obj/data.o obj/matrix.o obj/network.o obj/connected_layer.o obj/cost_layer.o obj/parser.o obj/option_list.o obj/darknet.o obj/detection_layer.o obj/captcha.o obj/route_layer.o obj/writing.o obj/box.o obj/nightmare.o obj/normalization_layer.o obj/avgpool_layer.o obj/coco.o obj/dice.o obj/yolo.o obj/detector.o obj/layer.o obj/compare.o obj/classifier.o obj/local_layer.o obj/swag.o obj/shortcut_layer.o obj/activation_layer.o obj/rnn_layer.o obj/gru_layer.o obj/rnn.o obj/rnn_vid.o obj/crnn_layer.o obj/demo.o obj/tag.o obj/cifar.o obj/go.o obj/batchnorm_layer.o obj/art.o obj/region_layer.o obj/reorg_layer.o obj/reorg_old_layer.o obj/super.o obj/voxel.o obj/tree.o obj/convolutional_kernels.o obj/activation_kernels.o obj/im2col_kernels.o obj/col2im_kernels.o obj/blas_kernels.o obj/crop_layer_kernels.o obj/dropout_layer_kernels.o obj/maxpool_layer_kernels.o obj/network_kernels.o obj/avgpool_layer_kernels.o -o darknet -lm -pthread  `pkg-config --libs opencv`  -lgomp -L/usr/local/cuda/lib64 -lcuda -lcudart -lcublas -lcurand -L/usr/local/cudnn/lib64 -lcudnn -lstdc++ 
obj/image.o: In function `cvPointFrom32f':
/usr/local/include/opencv2/core/types_c.h:929: undefined reference to `cvRound'
/usr/local/include/opencv2/core/types_c.h:930: undefined reference to `cvRound'
obj/image.o: In function `cvReadInt':
/usr/local/include/opencv2/core/core_c.h:2350: undefined reference to `cvRound'
obj/image.o: In function `cvEllipseBox':
/usr/local/include/opencv2/imgproc/imgproc_c.h:1041: undefined reference to `cvRound'
/usr/local/include/opencv2/imgproc/imgproc_c.h:1042: undefined reference to `cvRound'
obj/darknet.o:/usr/local/include/opencv2/core/types_c.h:929: more undefined references to `cvRound' follow
collect2: error: ld returned 1 exit status
Makefile:103: recipe for target 'darknet' failed
make: *** [darknet] Error 1

Update: downgrade cudnn7.1 to 7.0, same error.

Most helpful comment

Hi, Darknet supports CUDA 9.1, cuDNN 7.1 and OpenCV any <= 3.4.0.

To fix it just don't use DEBUG=1 in the Makefile.

All 3 comments

Hi, Darknet supports CUDA 9.1, cuDNN 7.1 and OpenCV any <= 3.4.0.

To fix it just don't use DEBUG=1 in the Makefile.

Solved.

modify Makefile:

ifeq ($(DEBUG), 1)
OPTS=-O4 -g
endif

Was this page helpful?
0 / 5 - 0 ratings