Incubator-mxnet: ld: library not found for -llibopencv_stitching.3.3.1.dylib

Created on 1 Nov 2017  路  9Comments  路  Source: apache/incubator-mxnet

Note: Providing complete information in the most concise form is the best way to get help. This issue template serves as the checklist for essential information to most of the technical issues.

If the issue is non-technical, feel free to present the information in what you believe is the best form.

Description

Build from source on macOS failed

Environment info (Required)

macOS 10.13
opencv 3.3.1

The full error information is

cd /Users/odin/local/mxnet/dmlc-core; /Library/Developer/CommandLineTools/usr/bin/make libdmlc.a USE_SSE=1 config=/Users/odin/local/mxnet/config.mk; cd /Users/odin/local/mxnet
make[1]: `libdmlc.a' is up to date.
g++ -DMSHADOW_FORCE_STREAM -Wall -Wsign-compare -O3 -DNDEBUG=1 -I/Users/odin/local/mxnet/mshadow/ -I/Users/odin/local/mxnet/dmlc-core/include -fPIC -I/Users/odin/local/mxnet/nnvm/include -I/Users/odin/local/mxnet/dlpack/include -Iinclude -funroll-loops -Wno-unused-variable -Wno-unused-parameter -Wno-unknown-pragmas -Wno-unused-local-typedefs -msse3 -I/usr/local/cuda/include -DMSHADOW_USE_CBLAS=1 -DMSHADOW_USE_MKL=0 -DMSHADOW_RABIT_PS=0 -DMSHADOW_DIST_PS=0 -DMSHADOW_USE_PASCAL=0 -DMXNET_USE_OPENCV=1 -I/usr/local/Cellar/opencv/3.3.1_1/include/opencv -I/usr/local/Cellar/opencv/3.3.1_1/include -DMSHADOW_USE_CUDNN=1  -I/usr/local/opt/openblas/include -I/Users/odin/local/mxnet/cub -DMXNET_USE_NVRTC=0 -shared -o lib/libmxnet.so build/src/operator/contrib/count_sketch.o build/src/operator/contrib/ctc_loss.o build/src/operator/contrib/deformable_convolution.o build/src/operator/contrib/deformable_psroi_pooling.o build/src/operator/contrib/dequantize.o build/src/operator/contrib/fft.o build/src/operator/contrib/ifft.o build/src/operator/contrib/multi_proposal.o build/src/operator/contrib/multibox_detection.o build/src/operator/contrib/multibox_prior.o build/src/operator/contrib/multibox_target.o build/src/operator/contrib/proposal.o build/src/operator/contrib/psroi_pooling.o build/src/operator/contrib/quantize.o build/src/operator/custom/custom.o build/src/operator/custom/native_op.o build/src/operator/custom/ndarray_op.o build/src/operator/mkl/mkl_cppwrapper.o build/src/operator/mkl/mkl_memory.o build/src/operator/nn/softmax.o build/src/operator/nnpack/nnpack_util.o build/src/operator/random/multisample_op.o build/src/operator/random/sample_multinomial_op.o build/src/operator/random/sample_op.o build/src/operator/tensor/broadcast_reduce_op_index.o build/src/operator/tensor/broadcast_reduce_op_value.o build/src/operator/tensor/control_flow_op.o build/src/operator/tensor/elemwise_binary_broadcast_op_basic.o build/src/operator/tensor/elemwise_binary_broadcast_op_extended.o build/src/operator/tensor/elemwise_binary_broadcast_op_logic.o build/src/operator/tensor/elemwise_binary_op_basic.o build/src/operator/tensor/elemwise_binary_op_extended.o build/src/operator/tensor/elemwise_binary_op_logic.o build/src/operator/tensor/elemwise_binary_scalar_op_basic.o build/src/operator/tensor/elemwise_binary_scalar_op_extended.o build/src/operator/tensor/elemwise_binary_scalar_op_logic.o build/src/operator/tensor/elemwise_sum.o build/src/operator/tensor/elemwise_unary_op.o build/src/operator/tensor/indexing_op.o build/src/operator/tensor/init_op.o build/src/operator/tensor/la_op.o build/src/operator/tensor/matrix_op.o build/src/operator/tensor/ordering_op.o build/src/c_api/c_api.o build/src/c_api/c_api_error.o build/src/c_api/c_api_executor.o build/src/c_api/c_api_function.o build/src/c_api/c_api_ndarray.o build/src/c_api/c_api_symbolic.o build/src/c_api/c_predict_api.o build/src/common/mxrtc.o build/src/engine/engine.o build/src/engine/naive_engine.o build/src/engine/profiler.o build/src/engine/threaded_engine.o build/src/engine/threaded_engine_perdevice.o build/src/engine/threaded_engine_pooled.o build/src/executor/attach_op_execs_pass.o build/src/executor/attach_op_resource_pass.o build/src/executor/graph_executor.o build/src/executor/inplace_addto_detect_pass.o build/src/io/image_aug_default.o build/src/io/image_det_aug_default.o build/src/io/image_io.o build/src/io/io.o build/src/io/iter_csv.o build/src/io/iter_image_det_recordio.o build/src/io/iter_image_recordio.o build/src/io/iter_image_recordio_2.o build/src/io/iter_mnist.o build/src/kvstore/kvstore.o build/src/ndarray/autograd.o build/src/ndarray/ndarray.o build/src/ndarray/ndarray_function.o build/src/nnvm/legacy_json_util.o build/src/nnvm/legacy_op_util.o build/src/operator/activation.o build/src/operator/batch_norm.o build/src/operator/batch_norm_v1.o build/src/operator/bilinear_sampler.o build/src/operator/concat.o build/src/operator/convolution.o build/src/operator/convolution_v1.o build/src/operator/correlation.o build/src/operator/crop.o build/src/operator/cross_device_copy.o build/src/operator/cudnn_algoreg.o build/src/operator/cudnn_batch_norm.o build/src/operator/deconvolution.o build/src/operator/dropout.o build/src/operator/fully_connected.o build/src/operator/grid_generator.o build/src/operator/identity_attach_KL_sparse_reg.o build/src/operator/instance_norm.o build/src/operator/l2_normalization.o build/src/operator/leaky_relu.o build/src/operator/loss_binary_op.o build/src/operator/lrn.o build/src/operator/make_loss.o build/src/operator/operator.o build/src/operator/operator_util.o build/src/operator/optimizer_op.o build/src/operator/pad.o build/src/operator/pooling.o build/src/operator/pooling_v1.o build/src/operator/regression_output.o build/src/operator/rnn.o build/src/operator/roi_pooling.o build/src/operator/sequence_last.o build/src/operator/sequence_mask.o build/src/operator/sequence_reverse.o build/src/operator/slice_channel.o build/src/operator/softmax_activation.o build/src/operator/softmax_output.o build/src/operator/spatial_transformer.o build/src/operator/svm_output.o build/src/operator/swapaxis.o build/src/operator/upsampling.o build/src/storage/storage.o build/src/initialize.o build/src/resource.o /Users/odin/local/mxnet/dmlc-core/libdmlc.a build/src/operator/contrib/count_sketch_gpu.o build/src/operator/contrib/ctc_loss_gpu.o build/src/operator/contrib/deformable_convolution_gpu.o build/src/operator/contrib/deformable_psroi_pooling_gpu.o build/src/operator/contrib/dequantize_gpu.o build/src/operator/contrib/fft_gpu.o build/src/operator/contrib/ifft_gpu.o build/src/operator/contrib/multi_proposal_gpu.o build/src/operator/contrib/multibox_detection_gpu.o build/src/operator/contrib/multibox_prior_gpu.o build/src/operator/contrib/multibox_target_gpu.o build/src/operator/contrib/proposal_gpu.o build/src/operator/contrib/psroi_pooling_gpu.o build/src/operator/contrib/quantize_gpu.o build/src/operator/custom/native_op_gpu.o build/src/operator/nn/softmax_gpu.o build/src/operator/random/sample_multinomial_op_gpu.o build/src/operator/random/sample_op_gpu.o build/src/operator/tensor/broadcast_reduce_op_index_gpu.o build/src/operator/tensor/broadcast_reduce_op_value_gpu.o build/src/operator/tensor/control_flow_op_gpu.o build/src/operator/tensor/elemwise_binary_broadcast_op_basic_gpu.o build/src/operator/tensor/elemwise_binary_broadcast_op_extended_gpu.o build/src/operator/tensor/elemwise_binary_broadcast_op_logic_gpu.o build/src/operator/tensor/elemwise_binary_op_basic_gpu.o build/src/operator/tensor/elemwise_binary_op_extended_gpu.o build/src/operator/tensor/elemwise_binary_op_logic_gpu.o build/src/operator/tensor/elemwise_binary_scalar_op_basic_gpu.o build/src/operator/tensor/elemwise_binary_scalar_op_extended_gpu.o build/src/operator/tensor/elemwise_binary_scalar_op_logic_gpu.o build/src/operator/tensor/elemwise_sum_gpu.o build/src/operator/tensor/elemwise_unary_op_gpu.o build/src/operator/tensor/indexing_op_gpu.o build/src/operator/tensor/init_op_gpu.o build/src/operator/tensor/la_op_gpu.o build/src/operator/tensor/matrix_op_gpu.o build/src/operator/tensor/ordering_op_gpu.o build/src/ndarray/ndarray_function_gpu.o build/src/operator/activation_gpu.o build/src/operator/batch_norm_gpu.o build/src/operator/batch_norm_v1_gpu.o build/src/operator/bilinear_sampler_gpu.o build/src/operator/concat_gpu.o build/src/operator/convolution_gpu.o build/src/operator/convolution_v1_gpu.o build/src/operator/correlation_gpu.o build/src/operator/crop_gpu.o build/src/operator/cudnn_batch_norm_gpu.o build/src/operator/deconvolution_gpu.o build/src/operator/dropout_gpu.o build/src/operator/fully_connected_gpu.o build/src/operator/grid_generator_gpu.o build/src/operator/identity_attach_KL_sparse_reg_gpu.o build/src/operator/instance_norm_gpu.o build/src/operator/l2_normalization_gpu.o build/src/operator/leaky_relu_gpu.o build/src/operator/loss_binary_op_gpu.o build/src/operator/lrn_gpu.o build/src/operator/make_loss_gpu.o build/src/operator/optimizer_op_gpu.o build/src/operator/pad_gpu.o build/src/operator/pooling_gpu.o build/src/operator/pooling_v1_gpu.o build/src/operator/regression_output_gpu.o build/src/operator/rnn_gpu.o build/src/operator/roi_pooling_gpu.o build/src/operator/sequence_last_gpu.o build/src/operator/sequence_mask_gpu.o build/src/operator/sequence_reverse_gpu.o build/src/operator/slice_channel_gpu.o build/src/operator/softmax_activation_gpu.o build/src/operator/softmax_output_gpu.o build/src/operator/spatial_transformer_gpu.o build/src/operator/svm_output_gpu.o build/src/operator/swapaxis_gpu.o build/src/operator/upsampling_gpu.o -pthread -lm -lcudart -lcublas -lcurand -lcusolver -L/usr/local/cuda/lib64 -L/usr/local/cuda/lib -lopenblas  -L/usr/local/Cellar/opencv/3.3.1_1/lib -llibopencv_stitching.3.3.1.dylib -llibopencv_superres.3.3.1.dylib -llibopencv_videostab.3.3.1.dylib -llibopencv_photo.3.3.1.dylib -llibopencv_aruco.3.3.1.dylib -llibopencv_bgsegm.3.3.1.dylib -llibopencv_bioinspired.3.3.1.dylib -llibopencv_ccalib.3.3.1.dylib -llibopencv_dpm.3.3.1.dylib -llibopencv_face.3.3.1.dylib -llibopencv_fuzzy.3.3.1.dylib -llibopencv_img_hash.3.3.1.dylib -llibopencv_line_descriptor.3.3.1.dylib -llibopencv_optflow.3.3.1.dylib -llibopencv_reg.3.3.1.dylib -llibopencv_rgbd.3.3.1.dylib -llibopencv_saliency.3.3.1.dylib -llibopencv_stereo.3.3.1.dylib -llibopencv_structured_light.3.3.1.dylib -llibopencv_phase_unwrapping.3.3.1.dylib -llibopencv_surface_matching.3.3.1.dylib -llibopencv_tracking.3.3.1.dylib -llibopencv_datasets.3.3.1.dylib -llibopencv_text.3.3.1.dylib -llibopencv_dnn.3.3.1.dylib -llibopencv_plot.3.3.1.dylib -llibopencv_xfeatures2d.3.3.1.dylib -llibopencv_shape.3.3.1.dylib -llibopencv_video.3.3.1.dylib -llibopencv_ml.3.3.1.dylib -llibopencv_ximgproc.3.3.1.dylib -llibopencv_calib3d.3.3.1.dylib -llibopencv_features2d.3.3.1.dylib -llibopencv_highgui.3.3.1.dylib -llibopencv_videoio.3.3.1.dylib -llibopencv_flann.3.3.1.dylib -llibopencv_xobjdetect.3.3.1.dylib -llibopencv_imgcodecs.3.3.1.dylib -llibopencv_objdetect.3.3.1.dylib -llibopencv_xphoto.3.3.1.dylib -llibopencv_imgproc.3.3.1.dylib -llibopencv_core.3.3.1.dylib -lcudnn  -L/usr/local/opt/openblas/lib -L/usr/local/lib/graphviz/ -L/usr/local/opt/opencv/lib -lcuda -lcufft \
     -Wl,-all_load /Users/odin/local/mxnet/nnvm/lib/libnnvm.a -Wl,-noall_load
clang: warning: argument unused during compilation: '-pthread'
ld: warning: directory not found for option '-L/usr/local/cuda/lib64'
ld: library not found for -llibopencv_stitching.3.3.1.dylib
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make: *** [lib/libmxnet.so] Error 1

I have checked the opencv library in the link path, it is there

All 9 comments

did you put in the linker flag -llibopencv_stitching.3.3.1.dylib by yourself? If so, try -lopencv_stitching instead and make sure its path appear in your -L paths.

Though even that may not be necessary since mxnet is not using the stitcher. Only opencv_core, opencv_imgcodecs and opencv_imgproc are needed.

Thanks @szha for help. I did not put any additional option in the config file. Here is my config file

export CC = gcc
export CXX = g++
export NVCC = nvcc

# whether compile with options for MXNet developer
DEV = 0

# whether compile with debug
DEBUG = 0

# the additional link flags you want to add
ADD_LDFLAGS =

# the additional compile flags you want to add
ADD_CFLAGS =

#---------------------------------------------
# matrix computation libraries for CPU/GPU
#---------------------------------------------

# whether use CUDA during compile
USE_CUDA = 0

# add the path to CUDA library to link and compile flag
# if you have already add them to environment variable, leave it as NONE
# USE_CUDA_PATH = /usr/local/cuda
USE_CUDA_PATH = NONE

# whether use CUDNN R3 library
USE_CUDNN = 0

# whether use cuda runtime compiling for writing kernels in native language (i.e. Python)
USE_NVRTC = 0

# whether use opencv during compilation
# you can disable it, however, you will not able to use
# imbin iterator
USE_OPENCV = 0

# use openmp for parallelization
USE_OPENMP = 0

# choose the version of blas you want to use
# can be: mkl, blas, atlas, openblas
USE_BLAS = apple

# whether use lapack during compilation
# only effective when compiled with blas versions openblas/apple/atlas/mkl
USE_LAPACK = 1

# add path to intel library, you may need it for MKL, if you did not add the path
# to environment variable
USE_INTEL_PATH = NONE

#----------------------------
# distributed computing
#----------------------------

# whether or not to enable multi-machine supporting
USE_DIST_KVSTORE = 0

# whether or not allow to read and write HDFS directly. If yes, then hadoop is
# required
USE_HDFS = 0

# path to libjvm.so. required if USE_HDFS=1
LIBJVM=$(JAVA_HOME)/jre/lib/amd64/server

# whether or not allow to read and write AWS S3 directly. If yes, then
# libcurl4-openssl-dev is required, it can be installed on Ubuntu by
# sudo apt-get install -y libcurl4-openssl-dev
USE_S3 = 0

#----------------------------
# additional operators
#----------------------------

# path to folders containing projects specific operators that you don't want to put in src/operators
EXTRA_OPERATORS =


#----------------------------
# plugins
#----------------------------

# whether to use torch integration. This requires installing torch.
# TORCH_PATH = $(HOME)/torch
# MXNET_PLUGINS += plugin/torch/torch.mk
USE_BLAS = openblas
ADD_CFLAGS += -I/usr/local/opt/openblas/include
ADD_LDFLAGS += -L/usr/local/opt/openblas/lib
ADD_LDFLAGS += -L/usr/local/lib/graphviz/
ADD_LDFLAGS += -L/usr/local/opt/opencv/lib
USE_CUDA = 1
USE_CUDA_PATH = /usr/local/cuda
USE_CUDNN = 1

Then most likely it was introduced by pkg-config. Is there an opencv.pc file in /usr/local/opt/opencv/lib/pkgconfig/? If so, could you edit it to only include the libraries I listed above?

@szha Thanks for your help. Now it comes with another problem T_T

cd /Users/odin/local/mxnet/dmlc-core; /Library/Developer/CommandLineTools/usr/bin/make libdmlc.a USE_SSE=1 config=/Users/odin/local/mxnet/config.mk; cd /Users/odin/local/mxnet
make[1]: `libdmlc.a' is up to date.
Libs field occurs twice in '/usr/local/lib/pkgconfig/opencv.pc'
Libs field occurs twice in '/usr/local/lib/pkgconfig/opencv.pc'
g++ -DMSHADOW_FORCE_STREAM -Wall -Wsign-compare -O3 -DNDEBUG=1 -I/Users/odin/local/mxnet/mshadow/ -I/Users/odin/local/mxnet/dmlc-core/include -fPIC -I/Users/odin/local/mxnet/nnvm/include -I/Users/odin/local/mxnet/dlpack/include -Iinclude -funroll-loops -Wno-unused-variable -Wno-unused-parameter -Wno-unknown-pragmas -Wno-unused-local-typedefs -msse3 -I/usr/local/cuda/include -DMSHADOW_USE_CBLAS=1 -DMSHADOW_USE_MKL=0 -DMSHADOW_RABIT_PS=0 -DMSHADOW_DIST_PS=0 -DMSHADOW_USE_PASCAL=0 -DMXNET_USE_OPENCV=1  -DMSHADOW_USE_CUDNN=1  -I/usr/local/opt/openblas/include -I/Users/odin/local/mxnet/cub -DMXNET_USE_NVRTC=0 -shared -o lib/libmxnet.so build/src/operator/contrib/count_sketch.o build/src/operator/contrib/ctc_loss.o build/src/operator/contrib/deformable_convolution.o build/src/operator/contrib/deformable_psroi_pooling.o build/src/operator/contrib/dequantize.o build/src/operator/contrib/fft.o build/src/operator/contrib/ifft.o build/src/operator/contrib/multi_proposal.o build/src/operator/contrib/multibox_detection.o build/src/operator/contrib/multibox_prior.o build/src/operator/contrib/multibox_target.o build/src/operator/contrib/proposal.o build/src/operator/contrib/psroi_pooling.o build/src/operator/contrib/quantize.o build/src/operator/custom/custom.o build/src/operator/custom/native_op.o build/src/operator/custom/ndarray_op.o build/src/operator/mkl/mkl_cppwrapper.o build/src/operator/mkl/mkl_memory.o build/src/operator/nn/softmax.o build/src/operator/nnpack/nnpack_util.o build/src/operator/random/multisample_op.o build/src/operator/random/sample_multinomial_op.o build/src/operator/random/sample_op.o build/src/operator/tensor/broadcast_reduce_op_index.o build/src/operator/tensor/broadcast_reduce_op_value.o build/src/operator/tensor/control_flow_op.o build/src/operator/tensor/elemwise_binary_broadcast_op_basic.o build/src/operator/tensor/elemwise_binary_broadcast_op_extended.o build/src/operator/tensor/elemwise_binary_broadcast_op_logic.o build/src/operator/tensor/elemwise_binary_op_basic.o build/src/operator/tensor/elemwise_binary_op_extended.o build/src/operator/tensor/elemwise_binary_op_logic.o build/src/operator/tensor/elemwise_binary_scalar_op_basic.o build/src/operator/tensor/elemwise_binary_scalar_op_extended.o build/src/operator/tensor/elemwise_binary_scalar_op_logic.o build/src/operator/tensor/elemwise_sum.o build/src/operator/tensor/elemwise_unary_op.o build/src/operator/tensor/indexing_op.o build/src/operator/tensor/init_op.o build/src/operator/tensor/la_op.o build/src/operator/tensor/matrix_op.o build/src/operator/tensor/ordering_op.o build/src/c_api/c_api.o build/src/c_api/c_api_error.o build/src/c_api/c_api_executor.o build/src/c_api/c_api_function.o build/src/c_api/c_api_ndarray.o build/src/c_api/c_api_symbolic.o build/src/c_api/c_predict_api.o build/src/common/mxrtc.o build/src/engine/engine.o build/src/engine/naive_engine.o build/src/engine/profiler.o build/src/engine/threaded_engine.o build/src/engine/threaded_engine_perdevice.o build/src/engine/threaded_engine_pooled.o build/src/executor/attach_op_execs_pass.o build/src/executor/attach_op_resource_pass.o build/src/executor/graph_executor.o build/src/executor/inplace_addto_detect_pass.o build/src/io/image_aug_default.o build/src/io/image_det_aug_default.o build/src/io/image_io.o build/src/io/io.o build/src/io/iter_csv.o build/src/io/iter_image_det_recordio.o build/src/io/iter_image_recordio.o build/src/io/iter_image_recordio_2.o build/src/io/iter_mnist.o build/src/kvstore/kvstore.o build/src/ndarray/autograd.o build/src/ndarray/ndarray.o build/src/ndarray/ndarray_function.o build/src/nnvm/legacy_json_util.o build/src/nnvm/legacy_op_util.o build/src/operator/activation.o build/src/operator/batch_norm.o build/src/operator/batch_norm_v1.o build/src/operator/bilinear_sampler.o build/src/operator/concat.o build/src/operator/convolution.o build/src/operator/convolution_v1.o build/src/operator/correlation.o build/src/operator/crop.o build/src/operator/cross_device_copy.o build/src/operator/cudnn_algoreg.o build/src/operator/cudnn_batch_norm.o build/src/operator/deconvolution.o build/src/operator/dropout.o build/src/operator/fully_connected.o build/src/operator/grid_generator.o build/src/operator/identity_attach_KL_sparse_reg.o build/src/operator/instance_norm.o build/src/operator/l2_normalization.o build/src/operator/leaky_relu.o build/src/operator/loss_binary_op.o build/src/operator/lrn.o build/src/operator/make_loss.o build/src/operator/operator.o build/src/operator/operator_util.o build/src/operator/optimizer_op.o build/src/operator/pad.o build/src/operator/pooling.o build/src/operator/pooling_v1.o build/src/operator/regression_output.o build/src/operator/rnn.o build/src/operator/roi_pooling.o build/src/operator/sequence_last.o build/src/operator/sequence_mask.o build/src/operator/sequence_reverse.o build/src/operator/slice_channel.o build/src/operator/softmax_activation.o build/src/operator/softmax_output.o build/src/operator/spatial_transformer.o build/src/operator/svm_output.o build/src/operator/swapaxis.o build/src/operator/upsampling.o build/src/storage/storage.o build/src/initialize.o build/src/resource.o /Users/odin/local/mxnet/dmlc-core/libdmlc.a build/src/operator/contrib/count_sketch_gpu.o build/src/operator/contrib/ctc_loss_gpu.o build/src/operator/contrib/deformable_convolution_gpu.o build/src/operator/contrib/deformable_psroi_pooling_gpu.o build/src/operator/contrib/dequantize_gpu.o build/src/operator/contrib/fft_gpu.o build/src/operator/contrib/ifft_gpu.o build/src/operator/contrib/multi_proposal_gpu.o build/src/operator/contrib/multibox_detection_gpu.o build/src/operator/contrib/multibox_prior_gpu.o build/src/operator/contrib/multibox_target_gpu.o build/src/operator/contrib/proposal_gpu.o build/src/operator/contrib/psroi_pooling_gpu.o build/src/operator/contrib/quantize_gpu.o build/src/operator/custom/native_op_gpu.o build/src/operator/nn/softmax_gpu.o build/src/operator/random/sample_multinomial_op_gpu.o build/src/operator/random/sample_op_gpu.o build/src/operator/tensor/broadcast_reduce_op_index_gpu.o build/src/operator/tensor/broadcast_reduce_op_value_gpu.o build/src/operator/tensor/control_flow_op_gpu.o build/src/operator/tensor/elemwise_binary_broadcast_op_basic_gpu.o build/src/operator/tensor/elemwise_binary_broadcast_op_extended_gpu.o build/src/operator/tensor/elemwise_binary_broadcast_op_logic_gpu.o build/src/operator/tensor/elemwise_binary_op_basic_gpu.o build/src/operator/tensor/elemwise_binary_op_extended_gpu.o build/src/operator/tensor/elemwise_binary_op_logic_gpu.o build/src/operator/tensor/elemwise_binary_scalar_op_basic_gpu.o build/src/operator/tensor/elemwise_binary_scalar_op_extended_gpu.o build/src/operator/tensor/elemwise_binary_scalar_op_logic_gpu.o build/src/operator/tensor/elemwise_sum_gpu.o build/src/operator/tensor/elemwise_unary_op_gpu.o build/src/operator/tensor/indexing_op_gpu.o build/src/operator/tensor/init_op_gpu.o build/src/operator/tensor/la_op_gpu.o build/src/operator/tensor/matrix_op_gpu.o build/src/operator/tensor/ordering_op_gpu.o build/src/ndarray/ndarray_function_gpu.o build/src/operator/activation_gpu.o build/src/operator/batch_norm_gpu.o build/src/operator/batch_norm_v1_gpu.o build/src/operator/bilinear_sampler_gpu.o build/src/operator/concat_gpu.o build/src/operator/convolution_gpu.o build/src/operator/convolution_v1_gpu.o build/src/operator/correlation_gpu.o build/src/operator/crop_gpu.o build/src/operator/cudnn_batch_norm_gpu.o build/src/operator/deconvolution_gpu.o build/src/operator/dropout_gpu.o build/src/operator/fully_connected_gpu.o build/src/operator/grid_generator_gpu.o build/src/operator/identity_attach_KL_sparse_reg_gpu.o build/src/operator/instance_norm_gpu.o build/src/operator/l2_normalization_gpu.o build/src/operator/leaky_relu_gpu.o build/src/operator/loss_binary_op_gpu.o build/src/operator/lrn_gpu.o build/src/operator/make_loss_gpu.o build/src/operator/optimizer_op_gpu.o build/src/operator/pad_gpu.o build/src/operator/pooling_gpu.o build/src/operator/pooling_v1_gpu.o build/src/operator/regression_output_gpu.o build/src/operator/rnn_gpu.o build/src/operator/roi_pooling_gpu.o build/src/operator/sequence_last_gpu.o build/src/operator/sequence_mask_gpu.o build/src/operator/sequence_reverse_gpu.o build/src/operator/slice_channel_gpu.o build/src/operator/softmax_activation_gpu.o build/src/operator/softmax_output_gpu.o build/src/operator/spatial_transformer_gpu.o build/src/operator/svm_output_gpu.o build/src/operator/swapaxis_gpu.o build/src/operator/upsampling_gpu.o -pthread -lm -lcudart -lcublas -lcurand -lcusolver -L/usr/local/cuda/lib64 -L/usr/local/cuda/lib -lopenblas   -lcudnn  -L/usr/local/opt/openblas/lib -L/usr/local/lib/graphviz/ -L/usr/local/opt/opencv/lib -lcuda -lcufft \
     -Wl,-all_load /Users/odin/local/mxnet/nnvm/lib/libnnvm.a -Wl,-noall_load
clang: warning: argument unused during compilation: '-pthread'
ld: warning: directory not found for option '-L/usr/local/cuda/lib64'
ld: warning: option -noall_load is obsolete and being ignored
Undefined symbols for architecture x86_64:
  "cv::warpAffine(cv::_InputArray const&, cv::_OutputArray const&, cv::_InputArray const&, cv::Size_<int>, int, int, cv::Scalar_<double> const&)", referenced from:
      mxnet::io::DefaultImageAugmenter::Process(cv::Mat const&, std::__1::vector<float, std::__1::allocator<float> >*, std::__1::mersenne_twister_engine<unsigned int, 32ul, 624ul, 397ul, 31ul, 2567483615u, 11ul, 4294967295u, 7ul, 2636928640u, 15ul, 4022730752u, 18ul, 1812433253u>*) in image_aug_default.o
  "cv::copyMakeBorder(cv::_InputArray const&, cv::_OutputArray const&, int, int, int, int, int, cv::Scalar_<double> const&)", referenced from:
      mxnet::io::DefaultImageAugmenter::Process(cv::Mat const&, std::__1::vector<float, std::__1::allocator<float> >*, std::__1::mersenne_twister_engine<unsigned int, 32ul, 624ul, 397ul, 31ul, 2567483615u, 11ul, 4294967295u, 7ul, 2636928640u, 15ul, 4022730752u, 18ul, 1812433253u>*) in image_aug_default.o
      mxnet::io::DefaultImageDetAugmenter::Process(cv::Mat const&, std::__1::vector<float, std::__1::allocator<float> >*, std::__1::mersenne_twister_engine<unsigned int, 32ul, 624ul, 397ul, 31ul, 2567483615u, 11ul, 4294967295u, 7ul, 2636928640u, 15ul, 4022730752u, 18ul, 1812433253u>*) in image_det_aug_default.o
      mxnet::io::copyMakeBorder(nnvm::NodeAttrs const&, mxnet::OpContext const&, std::__1::vector<mxnet::TBlob, std::__1::allocator<mxnet::TBlob> > const&, std::__1::vector<mxnet::OpReqType, std::__1::allocator<mxnet::OpReqType> > const&, std::__1::vector<mxnet::TBlob, std::__1::allocator<mxnet::TBlob> > const&) in image_io.o
  "cv::Mat::deallocate()", referenced from:
      mxnet::io::DefaultImageAugmenter::DefaultImageAugmenter() in image_aug_default.o
      mxnet::io::DefaultImageAugmenter::Process(cv::Mat const&, std::__1::vector<float, std::__1::allocator<float> >*, std::__1::mersenne_twister_engine<unsigned int, 32ul, 624ul, 397ul, 31ul, 2567483615u, 11ul, 4294967295u, 7ul, 2636928640u, 15ul, 4022730752u, 18ul, 1812433253u>*) in image_aug_default.o
      cv::Mat::operator=(cv::Mat const&) in image_aug_default.o
      mxnet::io::DefaultImageAugmenter::~DefaultImageAugmenter() in image_aug_default.o
      mxnet::io::DefaultImageDetAugmenter::Process(cv::Mat const&, std::__1::vector<float, std::__1::allocator<float> >*, std::__1::mersenne_twister_engine<unsigned int, 32ul, 624ul, 397ul, 31ul, 2567483615u, 11ul, 4294967295u, 7ul, 2636928640u, 15ul, 4022730752u, 18ul, 1812433253u>*) in image_det_aug_default.o
      mxnet::io::DefaultImageDetAugmenter::~DefaultImageDetAugmenter() in image_det_aug_default.o
      mxnet::io::DefaultImageDetAugmenter::~DefaultImageDetAugmenter() in image_det_aug_default.o
      ...
  "cv::Mat::create(int, int const*, int)", referenced from:
      mxnet::io::DefaultImageAugmenter::DefaultImageAugmenter() in image_aug_default.o
      mxnet::io::DefaultImageAugmenter::Process(cv::Mat const&, std::__1::vector<float, std::__1::allocator<float> >*, std::__1::mersenne_twister_engine<unsigned int, 32ul, 624ul, 397ul, 31ul, 2567483615u, 11ul, 4294967295u, 7ul, 2636928640u, 15ul, 4022730752u, 18ul, 1812433253u>*) in image_aug_default.o
  "cv::Mat::copySize(cv::Mat const&)", referenced from:
      cv::Mat::operator=(cv::Mat const&) in image_aug_default.o
      mxnet::io::DefaultImageDetAugmenter::Process(cv::Mat const&, std::__1::vector<float, std::__1::allocator<float> >*, std::__1::mersenne_twister_engine<unsigned int, 32ul, 624ul, 397ul, 31ul, 2567483615u, 11ul, 4294967295u, 7ul, 2636928640u, 15ul, 4022730752u, 18ul, 1812433253u>*) in image_det_aug_default.o
      cv::Mat::operator=(cv::Mat const&) in image_det_aug_default.o
  "cv::Mat::Mat(cv::Mat const&, cv::Rect_<int> const&)", referenced from:
      mxnet::io::DefaultImageAugmenter::Process(cv::Mat const&, std::__1::vector<float, std::__1::allocator<float> >*, std::__1::mersenne_twister_engine<unsigned int, 32ul, 624ul, 397ul, 31ul, 2567483615u, 11ul, 4294967295u, 7ul, 2636928640u, 15ul, 4022730752u, 18ul, 1812433253u>*) in image_aug_default.o
      mxnet::io::DefaultImageDetAugmenter::Process(cv::Mat const&, std::__1::vector<float, std::__1::allocator<float> >*, std::__1::mersenne_twister_engine<unsigned int, 32ul, 624ul, 397ul, 31ul, 2567483615u, 11ul, 4294967295u, 7ul, 2636928640u, 15ul, 4022730752u, 18ul, 1812433253u>*) in image_det_aug_default.o
  "cv::flip(cv::_InputArray const&, cv::_OutputArray const&, int)", referenced from:
      mxnet::io::DefaultImageDetAugmenter::Process(cv::Mat const&, std::__1::vector<float, std::__1::allocator<float> >*, std::__1::mersenne_twister_engine<unsigned int, 32ul, 624ul, 397ul, 31ul, 2567483615u, 11ul, 4294967295u, 7ul, 2636928640u, 15ul, 4022730752u, 18ul, 1812433253u>*) in image_det_aug_default.o
  "cv::error(int, cv::String const&, char const*, char const*, int)", referenced from:
      cv::Mat::Mat(int, int, int, void*, unsigned long) in image_io.o
      cv::Mat::Mat(int, int, int, void*, unsigned long) in iter_image_det_recordio.o
      cv::Mat::Mat(int, int, int, void*, unsigned long) in iter_image_recordio.o
      cv::Mat::Mat(int, int, int, void*, unsigned long) in iter_image_recordio_2.o
      cv::Mat::Mat(int, int, int, void*, unsigned long) in ndarray.o
  "cv::String::deallocate()", referenced from:
      cvflann::anyimpl::big_any_policy<cv::String>::static_delete(void**) in image_aug_default.o
      cvflann::anyimpl::big_any_policy<cv::String>::move(void* const*, void**) in image_aug_default.o
      cvflann::anyimpl::big_any_policy<cv::String>::static_delete(void**) in image_det_aug_default.o
      cvflann::anyimpl::big_any_policy<cv::String>::move(void* const*, void**) in image_det_aug_default.o
      cv::Mat::Mat(int, int, int, void*, unsigned long) in image_io.o
      cvflann::anyimpl::big_any_policy<cv::String>::static_delete(void**) in image_io.o
      cvflann::anyimpl::big_any_policy<cv::String>::move(void* const*, void**) in image_io.o
      ...
  "cv::String::allocate(unsigned long)", referenced from:
      cv::Mat::Mat(int, int, int, void*, unsigned long) in image_io.o
      cv::Mat::Mat(int, int, int, void*, unsigned long) in iter_image_det_recordio.o
      cv::Mat::Mat(int, int, int, void*, unsigned long) in iter_image_recordio.o
      cv::Mat::Mat(int, int, int, void*, unsigned long) in iter_image_recordio_2.o
      cv::Mat::Mat(int, int, int, void*, unsigned long) in ndarray.o
  "cv::resize(cv::_InputArray const&, cv::_OutputArray const&, cv::Size_<int>, double, double, int)", referenced from:
      mxnet::io::DefaultImageAugmenter::Process(cv::Mat const&, std::__1::vector<float, std::__1::allocator<float> >*, std::__1::mersenne_twister_engine<unsigned int, 32ul, 624ul, 397ul, 31ul, 2567483615u, 11ul, 4294967295u, 7ul, 2636928640u, 15ul, 4022730752u, 18ul, 1812433253u>*) in image_aug_default.o
      mxnet::io::DefaultImageDetAugmenter::Process(cv::Mat const&, std::__1::vector<float, std::__1::allocator<float> >*, std::__1::mersenne_twister_engine<unsigned int, 32ul, 624ul, 397ul, 31ul, 2567483615u, 11ul, 4294967295u, 7ul, 2636928640u, 15ul, 4022730752u, 18ul, 1812433253u>*) in image_det_aug_default.o
      mxnet::io::Imresize(nnvm::NodeAttrs const&, mxnet::OpContext const&, std::__1::vector<mxnet::TBlob, std::__1::allocator<mxnet::TBlob> > const&, std::__1::vector<mxnet::OpReqType, std::__1::allocator<mxnet::OpReqType> > const&, std::__1::vector<mxnet::TBlob, std::__1::allocator<mxnet::TBlob> > const&) in image_io.o
  "cv::cvtColor(cv::_InputArray const&, cv::_OutputArray const&, int, int)", referenced from:
      mxnet::io::DefaultImageAugmenter::Process(cv::Mat const&, std::__1::vector<float, std::__1::allocator<float> >*, std::__1::mersenne_twister_engine<unsigned int, 32ul, 624ul, 397ul, 31ul, 2567483615u, 11ul, 4294967295u, 7ul, 2636928640u, 15ul, 4022730752u, 18ul, 1812433253u>*) in image_aug_default.o
      mxnet::io::DefaultImageDetAugmenter::Process(cv::Mat const&, std::__1::vector<float, std::__1::allocator<float> >*, std::__1::mersenne_twister_engine<unsigned int, 32ul, 624ul, 397ul, 31ul, 2567483615u, 11ul, 4294967295u, 7ul, 2636928640u, 15ul, 4022730752u, 18ul, 1812433253u>*) in image_det_aug_default.o
      mxnet::io::ImdecodeImpl(int, bool, void*, unsigned long, mxnet::NDArray*) in image_io.o
  "cv::fastFree(void*)", referenced from:
      mxnet::io::DefaultImageAugmenter::DefaultImageAugmenter() in image_aug_default.o
      mxnet::io::DefaultImageAugmenter::Process(cv::Mat const&, std::__1::vector<float, std::__1::allocator<float> >*, std::__1::mersenne_twister_engine<unsigned int, 32ul, 624ul, 397ul, 31ul, 2567483615u, 11ul, 4294967295u, 7ul, 2636928640u, 15ul, 4022730752u, 18ul, 1812433253u>*) in image_aug_default.o
      mxnet::io::DefaultImageAugmenter::~DefaultImageAugmenter() in image_aug_default.o
      mxnet::io::DefaultImageDetAugmenter::Process(cv::Mat const&, std::__1::vector<float, std::__1::allocator<float> >*, std::__1::mersenne_twister_engine<unsigned int, 32ul, 624ul, 397ul, 31ul, 2567483615u, 11ul, 4294967295u, 7ul, 2636928640u, 15ul, 4022730752u, 18ul, 1812433253u>*) in image_det_aug_default.o
      mxnet::io::DefaultImageDetAugmenter::~DefaultImageDetAugmenter() in image_det_aug_default.o
      mxnet::io::DefaultImageDetAugmenter::~DefaultImageDetAugmenter() in image_det_aug_default.o
      mxnet::io::ImdecodeImpl(int, bool, void*, unsigned long, mxnet::NDArray*) in image_io.o
      ...
  "cv::imdecode(cv::_InputArray const&, int)", referenced from:
      mxnet::io::ImdecodeImpl(int, bool, void*, unsigned long, mxnet::NDArray*) in image_io.o
      mxnet::io::ImageDetRecordIOParser<float>::ParseNext(std::__1::vector<mxnet::io::InstVector<float>, std::__1::allocator<mxnet::io::InstVector<float> > >*) in iter_image_det_recordio.o
      mxnet::io::ImageRecordIOParser<float>::ParseNext(std::__1::vector<mxnet::io::InstVector<float>, std::__1::allocator<mxnet::io::InstVector<float> > >*) in iter_image_recordio.o
      mxnet::io::ImageRecordIOParser<unsigned char>::ParseNext(std::__1::vector<mxnet::io::InstVector<unsigned char>, std::__1::allocator<mxnet::io::InstVector<unsigned char> > >*) in iter_image_recordio.o
      mxnet::io::ImageRecordIOParser2<float>::ParseChunk(dmlc::InputSplit::Blob*) in iter_image_recordio_2.o
      mxnet::io::ImageRecordIOParser2<unsigned char>::ParseChunk(dmlc::InputSplit::Blob*) in iter_image_recordio_2.o
      mxnet::Imdecode(mxnet::NDArray*, mxnet::NDArray, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long, char*) in ndarray.o
      ...
  "cv::imdecode(cv::_InputArray const&, int, cv::Mat*)", referenced from:
      mxnet::io::ImdecodeImpl(int, bool, void*, unsigned long, mxnet::NDArray*) in image_io.o
  "cv::Mat::copyTo(cv::_OutputArray const&) const", referenced from:
      mxnet::io::ImdecodeImpl(int, bool, void*, unsigned long, mxnet::NDArray*) in image_io.o
  "cv::Mat::convertTo(cv::_OutputArray const&, int, double, double) const", referenced from:
      mxnet::io::DefaultImageDetAugmenter::Process(cv::Mat const&, std::__1::vector<float, std::__1::allocator<float> >*, std::__1::mersenne_twister_engine<unsigned int, 32ul, 624ul, 397ul, 31ul, 2567483615u, 11ul, 4294967295u, 7ul, 2636928640u, 15ul, 4022730752u, 18ul, 1812433253u>*) in image_det_aug_default.o
  "_cudnnGetConvolutionBackwardDataAlgorithmMaxCount", referenced from:
      MaxBackwardDataAlgos(cudnnContext*) in convolution_gpu.o
      MaxBackwardDataAlgos(cudnnContext*) in deconvolution_gpu.o
  "_cudnnGetConvolutionBackwardDataAlgorithm_v7", referenced from:
      mxnet::op::CuDNNConvolutionOp<float>::SelectAlgo(mxnet::Context const&, std::__1::vector<nnvm::TShape, std::__1::allocator<nnvm::TShape> > const&, std::__1::vector<nnvm::TShape, std::__1::allocator<nnvm::TShape> > const&, cudnnDataType_t, cudnnDataType_t)::'lambda'(mxnet::RunContext)::operator()(mxnet::RunContext) const in convolution_gpu.o
      mxnet::op::CuDNNConvolutionOp<double>::SelectAlgo(mxnet::Context const&, std::__1::vector<nnvm::TShape, std::__1::allocator<nnvm::TShape> > const&, std::__1::vector<nnvm::TShape, std::__1::allocator<nnvm::TShape> > const&, cudnnDataType_t, cudnnDataType_t)::'lambda'(mxnet::RunContext)::operator()(mxnet::RunContext) const in convolution_gpu.o
      mxnet::op::CuDNNConvolutionOp<mshadow::half::half_t>::SelectAlgo(mxnet::Context const&, std::__1::vector<nnvm::TShape, std::__1::allocator<nnvm::TShape> > const&, std::__1::vector<nnvm::TShape, std::__1::allocator<nnvm::TShape> > const&, cudnnDataType_t, cudnnDataType_t)::'lambda'(mxnet::RunContext)::operator()(mxnet::RunContext) const in convolution_gpu.o
      mxnet::op::CuDNNDeconvolutionOp<float>::SelectAlgo(mxnet::Context const&, std::__1::vector<nnvm::TShape, std::__1::allocator<nnvm::TShape> > const&, std::__1::vector<nnvm::TShape, std::__1::allocator<nnvm::TShape> > const&, cudnnDataType_t, cudnnDataType_t)::'lambda'(mxnet::RunContext)::operator()(mxnet::RunContext) const in deconvolution_gpu.o
      mxnet::op::CuDNNDeconvolutionOp<double>::SelectAlgo(mxnet::Context const&, std::__1::vector<nnvm::TShape, std::__1::allocator<nnvm::TShape> > const&, std::__1::vector<nnvm::TShape, std::__1::allocator<nnvm::TShape> > const&, cudnnDataType_t, cudnnDataType_t)::'lambda'(mxnet::RunContext)::operator()(mxnet::RunContext) const in deconvolution_gpu.o
      mxnet::op::CuDNNDeconvolutionOp<mshadow::half::half_t>::SelectAlgo(mxnet::Context const&, std::__1::vector<nnvm::TShape, std::__1::allocator<nnvm::TShape> > const&, std::__1::vector<nnvm::TShape, std::__1::allocator<nnvm::TShape> > const&, cudnnDataType_t, cudnnDataType_t)::'lambda'(mxnet::RunContext)::operator()(mxnet::RunContext) const in deconvolution_gpu.o
  "_cudnnGetConvolutionBackwardFilterAlgorithmMaxCount", referenced from:
      MaxBackwardFilterAlgos(cudnnContext*) in convolution_gpu.o
      MaxBackwardFilterAlgos(cudnnContext*) in deconvolution_gpu.o
  "_cudnnGetConvolutionBackwardFilterAlgorithm_v7", referenced from:
      mxnet::op::CuDNNConvolutionOp<float>::SelectAlgo(mxnet::Context const&, std::__1::vector<nnvm::TShape, std::__1::allocator<nnvm::TShape> > const&, std::__1::vector<nnvm::TShape, std::__1::allocator<nnvm::TShape> > const&, cudnnDataType_t, cudnnDataType_t)::'lambda'(mxnet::RunContext)::operator()(mxnet::RunContext) const in convolution_gpu.o
      mxnet::op::CuDNNConvolutionOp<double>::SelectAlgo(mxnet::Context const&, std::__1::vector<nnvm::TShape, std::__1::allocator<nnvm::TShape> > const&, std::__1::vector<nnvm::TShape, std::__1::allocator<nnvm::TShape> > const&, cudnnDataType_t, cudnnDataType_t)::'lambda'(mxnet::RunContext)::operator()(mxnet::RunContext) const in convolution_gpu.o
      mxnet::op::CuDNNConvolutionOp<mshadow::half::half_t>::SelectAlgo(mxnet::Context const&, std::__1::vector<nnvm::TShape, std::__1::allocator<nnvm::TShape> > const&, std::__1::vector<nnvm::TShape, std::__1::allocator<nnvm::TShape> > const&, cudnnDataType_t, cudnnDataType_t)::'lambda'(mxnet::RunContext)::operator()(mxnet::RunContext) const in convolution_gpu.o
      mxnet::op::CuDNNDeconvolutionOp<float>::SelectAlgo(mxnet::Context const&, std::__1::vector<nnvm::TShape, std::__1::allocator<nnvm::TShape> > const&, std::__1::vector<nnvm::TShape, std::__1::allocator<nnvm::TShape> > const&, cudnnDataType_t, cudnnDataType_t)::'lambda'(mxnet::RunContext)::operator()(mxnet::RunContext) const in deconvolution_gpu.o
      mxnet::op::CuDNNDeconvolutionOp<double>::SelectAlgo(mxnet::Context const&, std::__1::vector<nnvm::TShape, std::__1::allocator<nnvm::TShape> > const&, std::__1::vector<nnvm::TShape, std::__1::allocator<nnvm::TShape> > const&, cudnnDataType_t, cudnnDataType_t)::'lambda'(mxnet::RunContext)::operator()(mxnet::RunContext) const in deconvolution_gpu.o
      mxnet::op::CuDNNDeconvolutionOp<mshadow::half::half_t>::SelectAlgo(mxnet::Context const&, std::__1::vector<nnvm::TShape, std::__1::allocator<nnvm::TShape> > const&, std::__1::vector<nnvm::TShape, std::__1::allocator<nnvm::TShape> > const&, cudnnDataType_t, cudnnDataType_t)::'lambda'(mxnet::RunContext)::operator()(mxnet::RunContext) const in deconvolution_gpu.o
  "_cudnnGetConvolutionForwardAlgorithmMaxCount", referenced from:
      MaxForwardAlgos(cudnnContext*) in convolution_gpu.o
      MaxForwardAlgos(cudnnContext*) in deconvolution_gpu.o
  "_cudnnGetConvolutionForwardAlgorithm_v7", referenced from:
      mxnet::op::CuDNNConvolutionOp<float>::SelectAlgo(mxnet::Context const&, std::__1::vector<nnvm::TShape, std::__1::allocator<nnvm::TShape> > const&, std::__1::vector<nnvm::TShape, std::__1::allocator<nnvm::TShape> > const&, cudnnDataType_t, cudnnDataType_t)::'lambda'(mxnet::RunContext)::operator()(mxnet::RunContext) const in convolution_gpu.o
      mxnet::op::CuDNNConvolutionOp<double>::SelectAlgo(mxnet::Context const&, std::__1::vector<nnvm::TShape, std::__1::allocator<nnvm::TShape> > const&, std::__1::vector<nnvm::TShape, std::__1::allocator<nnvm::TShape> > const&, cudnnDataType_t, cudnnDataType_t)::'lambda'(mxnet::RunContext)::operator()(mxnet::RunContext) const in convolution_gpu.o
      mxnet::op::CuDNNConvolutionOp<mshadow::half::half_t>::SelectAlgo(mxnet::Context const&, std::__1::vector<nnvm::TShape, std::__1::allocator<nnvm::TShape> > const&, std::__1::vector<nnvm::TShape, std::__1::allocator<nnvm::TShape> > const&, cudnnDataType_t, cudnnDataType_t)::'lambda'(mxnet::RunContext)::operator()(mxnet::RunContext) const in convolution_gpu.o
      mxnet::op::CuDNNDeconvolutionOp<float>::SelectAlgo(mxnet::Context const&, std::__1::vector<nnvm::TShape, std::__1::allocator<nnvm::TShape> > const&, std::__1::vector<nnvm::TShape, std::__1::allocator<nnvm::TShape> > const&, cudnnDataType_t, cudnnDataType_t)::'lambda'(mxnet::RunContext)::operator()(mxnet::RunContext) const in deconvolution_gpu.o
      mxnet::op::CuDNNDeconvolutionOp<double>::SelectAlgo(mxnet::Context const&, std::__1::vector<nnvm::TShape, std::__1::allocator<nnvm::TShape> > const&, std::__1::vector<nnvm::TShape, std::__1::allocator<nnvm::TShape> > const&, cudnnDataType_t, cudnnDataType_t)::'lambda'(mxnet::RunContext)::operator()(mxnet::RunContext) const in deconvolution_gpu.o
      mxnet::op::CuDNNDeconvolutionOp<mshadow::half::half_t>::SelectAlgo(mxnet::Context const&, std::__1::vector<nnvm::TShape, std::__1::allocator<nnvm::TShape> > const&, std::__1::vector<nnvm::TShape, std::__1::allocator<nnvm::TShape> > const&, cudnnDataType_t, cudnnDataType_t)::'lambda'(mxnet::RunContext)::operator()(mxnet::RunContext) const in deconvolution_gpu.o
  "_cudnnSetConvolutionMathType", referenced from:
      mxnet::op::CuDNNConvolutionOp<float>::InitDescriptors(mxnet::Context const&, std::__1::vector<nnvm::TShape, std::__1::allocator<nnvm::TShape> > const&, std::__1::vector<nnvm::TShape, std::__1::allocator<nnvm::TShape> > const&, cudnnDataType_t, cudnnDataType_t) in convolution_gpu.o
      mxnet::op::CuDNNConvolutionOp<float>::SelectAlgo(mxnet::Context const&, std::__1::vector<nnvm::TShape, std::__1::allocator<nnvm::TShape> > const&, std::__1::vector<nnvm::TShape, std::__1::allocator<nnvm::TShape> > const&, cudnnDataType_t, cudnnDataType_t) in convolution_gpu.o
      mxnet::op::CuDNNConvolutionOp<double>::InitDescriptors(mxnet::Context const&, std::__1::vector<nnvm::TShape, std::__1::allocator<nnvm::TShape> > const&, std::__1::vector<nnvm::TShape, std::__1::allocator<nnvm::TShape> > const&, cudnnDataType_t, cudnnDataType_t) in convolution_gpu.o
      mxnet::op::CuDNNConvolutionOp<double>::SelectAlgo(mxnet::Context const&, std::__1::vector<nnvm::TShape, std::__1::allocator<nnvm::TShape> > const&, std::__1::vector<nnvm::TShape, std::__1::allocator<nnvm::TShape> > const&, cudnnDataType_t, cudnnDataType_t) in convolution_gpu.o
      mxnet::op::CuDNNConvolutionOp<mshadow::half::half_t>::InitDescriptors(mxnet::Context const&, std::__1::vector<nnvm::TShape, std::__1::allocator<nnvm::TShape> > const&, std::__1::vector<nnvm::TShape, std::__1::allocator<nnvm::TShape> > const&, cudnnDataType_t, cudnnDataType_t) in convolution_gpu.o
      mxnet::op::CuDNNConvolutionOp<mshadow::half::half_t>::SelectAlgo(mxnet::Context const&, std::__1::vector<nnvm::TShape, std::__1::allocator<nnvm::TShape> > const&, std::__1::vector<nnvm::TShape, std::__1::allocator<nnvm::TShape> > const&, cudnnDataType_t, cudnnDataType_t) in convolution_gpu.o
      mxnet::op::CuDNNDeconvolutionOp<float>::InitDescriptors(mxnet::Context const&, std::__1::vector<nnvm::TShape, std::__1::allocator<nnvm::TShape> > const&, std::__1::vector<nnvm::TShape, std::__1::allocator<nnvm::TShape> > const&, cudnnDataType_t, cudnnDataType_t) in deconvolution_gpu.o
      ...
  "_cudnnSetRNNDescriptor_v6", referenced from:
      mxnet::op::CuDNNRNNOp<float>::Init(mshadow::Stream<mshadow::gpu>*, std::__1::vector<mxnet::TBlob, std::__1::allocator<mxnet::TBlob> > const&, std::__1::vector<mxnet::TBlob, std::__1::allocator<mxnet::TBlob> > const&) in rnn_gpu.o
      mxnet::op::CuDNNRNNOp<double>::Init(mshadow::Stream<mshadow::gpu>*, std::__1::vector<mxnet::TBlob, std::__1::allocator<mxnet::TBlob> > const&, std::__1::vector<mxnet::TBlob, std::__1::allocator<mxnet::TBlob> > const&) in rnn_gpu.o
      mxnet::op::CuDNNRNNOp<mshadow::half::half_t>::Init(mshadow::Stream<mshadow::gpu>*, std::__1::vector<mxnet::TBlob, std::__1::allocator<mxnet::TBlob> > const&, std::__1::vector<mxnet::TBlob, std::__1::allocator<mxnet::TBlob> > const&) in rnn_gpu.o
  "_cudnnSetRNNMatrixMathType", referenced from:
      mxnet::op::CuDNNRNNOp<float>::Init(mshadow::Stream<mshadow::gpu>*, std::__1::vector<mxnet::TBlob, std::__1::allocator<mxnet::TBlob> > const&, std::__1::vector<mxnet::TBlob, std::__1::allocator<mxnet::TBlob> > const&) in rnn_gpu.o
      mxnet::op::CuDNNRNNOp<double>::Init(mshadow::Stream<mshadow::gpu>*, std::__1::vector<mxnet::TBlob, std::__1::allocator<mxnet::TBlob> > const&, std::__1::vector<mxnet::TBlob, std::__1::allocator<mxnet::TBlob> > const&) in rnn_gpu.o
      mxnet::op::CuDNNRNNOp<mshadow::half::half_t>::Init(mshadow::Stream<mshadow::gpu>*, std::__1::vector<mxnet::TBlob, std::__1::allocator<mxnet::TBlob> > const&, std::__1::vector<mxnet::TBlob, std::__1::allocator<mxnet::TBlob> > const&) in rnn_gpu.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make: *** [lib/libmxnet.so] Error 1

I am using CUDA 9.0 with cudnn 7.0. Is there a problem with them?

The following needs fixing:

  • Libs field occurs twice in '/usr/local/lib/pkgconfig/opencv.pc'.

    • Could you make sure that the format is consistent with what it was before editing?

  • "_cudnnGetConvolutionBackwardDataAlgorithmMaxCount", referenced from:

    • linker didn't find your cudnn. You need to find libcudnn's file and explicitly add its residing directory using ADD_LDFLAGS += -L/usr/local/cuda/somewhere

Thanks @szha,

for the opencv.pc, the file show from vim and emacs are different, which probably comes from some buffer issues. Now I fixed the duplicated Libs field.

I explicitly added ADD_LDFLAGS += -L/usr/local/cuda/lib/libcudnn.dylib but it still shows ld: library not found for -l/usr/local/cuda/lib/libcudnn.dylib

Should be ADD_LDFLAGS += -L/usr/local/cuda/lib/

@szha Thanks. I reinstalled my system and it solves all the problem...

Was this page helpful?
0 / 5 - 0 ratings

Related issues

JonBoyleCoding picture JonBoyleCoding  路  3Comments

luoruisichuan picture luoruisichuan  路  3Comments

phunterlau picture phunterlau  路  3Comments

dmadeka picture dmadeka  路  3Comments

seongkyun picture seongkyun  路  3Comments