opendr-eu / opendr

A modular, open and non-proprietary toolkit for core robotic functionalities by harnessing deep learning
Apache License 2.0
619 stars 95 forks source link

Installation Failures #432

Closed AleksandrKashirin closed 1 year ago

AleksandrKashirin commented 1 year ago

Hello, opendr community! I am having tough time installing the framework to work with ROS2 foxy. After the installation I was trying to perform unit tests. These are my results on command make ctests:

make[1]: Entering directory '/home/aleksandr/Research/opendr/src/c_api'
make[1]: Nothing to be done for 'all'.
make[1]: Leaving directory '/home/aleksandr/Research/opendr/src/c_api'
make[1]: Entering directory '/home/aleksandr/Research/opendr/tests'
Resources already downloaded. Run rm -rf data to remove existing resources.
Building C API test...
gcc  -fPIC -o /home/aleksandr/Research/opendr/build/test_opendr_utils sources/c_api/test_opendr_utils.c -I/usr/local/include/onnxruntime/core/session/ `pkg-config --cflags opencv4` -I/home/aleksandr/Research/opendr/include -L/home/aleksandr/Research/opendr/lib -lopendr -L/usr/lib/ -L/usr/local/lib/ -lstdc++ -lm -lonnxruntime `pkg-config --libs opencv4` -lboost_filesystem  `pkg-config --cflags --libs check`
/usr/bin/ld: warning: libcublas.so.10, needed by /usr/local/lib//libonnxruntime.so, not found (try using -rpath or -rpath-link)
/usr/bin/ld: warning: libcudnn.so.8, needed by /usr/local/lib//libonnxruntime.so, not found (try using -rpath or -rpath-link)
/usr/bin/ld: warning: libcufft.so.10, needed by /usr/local/lib//libonnxruntime.so, not found (try using -rpath or -rpath-link)
/usr/bin/ld: warning: libcudart.so.10.2, needed by /usr/local/lib//libonnxruntime.so, not found (try using -rpath or -rpath-link)
/usr/bin/ld: /usr/local/libtorch/lib/libc10.so: .dynsym local symbol at index 138 (>= sh_info of 2)
/usr/bin/ld: /usr/local/libtorch/lib/libc10.so: .dynsym local symbol at index 140 (>= sh_info of 2)
/usr/bin/ld: /usr/local/libtorch/lib/libtorch_cpu.so: .dynsym local symbol at index 149 (>= sh_info of 2)
/usr/bin/ld: /usr/local/libtorch/lib/libtorch_cpu.so: .dynsym local symbol at index 227 (>= sh_info of 2)
/usr/bin/ld: /usr/local/libtorch/lib/libtorch_cpu.so: .dynsym local symbol at index 252 (>= sh_info of 2)
/usr/bin/ld: /usr/local/libtorch/lib/libtorch_cpu.so: .dynsym local symbol at index 291 (>= sh_info of 2)
/usr/bin/ld: /usr/local/libtorch/lib/libtorch_cpu.so: .dynsym local symbol at index 574 (>= sh_info of 2)
/usr/bin/ld: /usr/local/libtorch/lib/libtorch_cpu.so: .dynsym local symbol at index 625 (>= sh_info of 2)
/usr/bin/ld: /usr/local/libtorch/lib/libtorch_cpu.so: .dynsym local symbol at index 739 (>= sh_info of 2)
/usr/bin/ld: /usr/local/libtorch/lib/libtorch_cpu.so: .dynsym local symbol at index 742 (>= sh_info of 2)
/usr/bin/ld: /usr/local/libtorch/lib/libtorch_cpu.so: .dynsym local symbol at index 743 (>= sh_info of 2)
/usr/bin/ld: /usr/local/libtorch/lib/libtorch_cpu.so: .dynsym local symbol at index 747 (>= sh_info of 2)
/usr/bin/ld: /usr/local/libtorch/lib/libtorch_cpu.so: .dynsym local symbol at index 748 (>= sh_info of 2)
/usr/bin/ld: /usr/local/libtorch/lib/libtorch_cpu.so: .dynsym local symbol at index 749 (>= sh_info of 2)
/usr/bin/ld: /usr/local/libtorch/lib/libtorch_cpu.so: .dynsym local symbol at index 750 (>= sh_info of 2)
/usr/bin/ld: /usr/local/libtorch/lib/libtorch_cpu.so: .dynsym local symbol at index 779 (>= sh_info of 2)
/usr/bin/ld: /usr/local/libtorch/lib/libtorch_cpu.so: .dynsym local symbol at index 785 (>= sh_info of 2)
/usr/bin/ld: /usr/local/lib//libonnxruntime.so: undefined reference to `cublasGetMathMode@libcublas.so.10'
/usr/bin/ld: /usr/local/lib//libonnxruntime.so: undefined reference to `cudnnDestroyConvolutionDescriptor@libcudnn.so.8'
/usr/bin/ld: /usr/local/lib//libonnxruntime.so: undefined reference to `cudaMemcpy2DAsync@libcudart.so.10.2'
/usr/bin/ld: /usr/local/lib//libonnxruntime.so: undefined reference to `cudnnSetReduceTensorDescriptor@libcudnn.so.8'
/usr/bin/ld: /usr/local/lib//libonnxruntime.so: undefined reference to `cublasSetStream_v2@libcublas.so.10'
/usr/bin/ld: /usr/local/lib//libonnxruntime.so: undefined reference to `cudnnGetRNNWorkspaceSize@libcudnn.so.8'
/usr/bin/ld: /usr/local/lib//libonnxruntime.so: undefined reference to `cudnnConvolutionBackwardData@libcudnn.so.8'
/usr/bin/ld: /usr/local/lib//libonnxruntime.so: undefined reference to `cublasGemmEx@libcublas.so.10'
/usr/bin/ld: /usr/local/lib//libonnxruntime.so: undefined reference to `cudnnSetConvolutionGroupCount@libcudnn.so.8'
/usr/bin/ld: /usr/local/lib//libonnxruntime.so: undefined reference to `cublasGemmStridedBatchedEx@libcublas.so.10'
/usr/bin/ld: /usr/local/lib//libonnxruntime.so: undefined reference to `cudaFreeHost@libcudart.so.10.2'
/usr/bin/ld: /usr/local/lib//libonnxruntime.so: undefined reference to `cudaFree@libcudart.so.10.2'
/usr/bin/ld: /usr/local/lib//libonnxruntime.so: undefined reference to `cudnnGetErrorString@libcudnn.so.8'
/usr/bin/ld: /usr/local/lib//libonnxruntime.so: undefined reference to `cudaStreamWaitEvent@libcudart.so.10.2'
/usr/bin/ld: /usr/local/lib//libonnxruntime.so: undefined reference to `cudnnFindConvolutionBackwardDataAlgorithmEx@libcudnn.so.8'
/usr/bin/ld: /usr/local/lib//libonnxruntime.so: undefined reference to `cudaGetDevice@libcudart.so.10.2'
/usr/bin/ld: /usr/local/lib//libonnxruntime.so: undefined reference to `cudaEventSynchronize@libcudart.so.10.2'
/usr/bin/ld: /usr/local/lib//libonnxruntime.so: undefined reference to `cublasSgemm_v2@libcublas.so.10'
/usr/bin/ld: /usr/local/lib//libonnxruntime.so: undefined reference to `cudaEventRecord@libcudart.so.10.2'
/usr/bin/ld: /usr/local/lib//libonnxruntime.so: undefined reference to `cublasCreate_v2@libcublas.so.10'
/usr/bin/ld: /usr/local/lib//libonnxruntime.so: undefined reference to `cudnnCreateReduceTensorDescriptor@libcudnn.so.8'
/usr/bin/ld: /usr/local/lib//libonnxruntime.so: undefined reference to `cublasHgemmBatched@libcublas.so.10'
/usr/bin/ld: /usr/local/lib//libonnxruntime.so: undefined reference to `cudnnSetPoolingNdDescriptor@libcudnn.so.8'
/usr/bin/ld: /usr/local/lib//libonnxruntime.so: undefined reference to `cudnnSetConvolutionNdDescriptor@libcudnn.so.8'
/usr/bin/ld: /usr/local/lib//libonnxruntime.so: undefined reference to `cublasSgetriBatched@libcublas.so.10'
/usr/bin/ld: /usr/local/lib//libonnxruntime.so: undefined reference to `cudnnSetRNNDataDescriptor@libcudnn.so.8'
/usr/bin/ld: /usr/local/lib//libonnxruntime.so: undefined reference to `cublasDcopy_v2@libcublas.so.10'
/usr/bin/ld: /usr/local/lib//libonnxruntime.so: undefined reference to `cudnnCreateTensorDescriptor@libcudnn.so.8'
/usr/bin/ld: /usr/local/lib//libonnxruntime.so: undefined reference to `cudnnDestroy@libcudnn.so.8'
/usr/bin/ld: /usr/local/lib//libonnxruntime.so: undefined reference to `__cudaRegisterFunction@libcudart.so.10.2'
/usr/bin/ld: /usr/local/lib//libonnxruntime.so: undefined reference to `cudnnGetConvolutionForwardAlgorithm_v7@libcudnn.so.8'
/usr/bin/ld: /usr/local/lib//libonnxruntime.so: undefined reference to `cudnnGetFilterNdDescriptor@libcudnn.so.8'
/usr/bin/ld: /usr/local/lib//libonnxruntime.so: undefined reference to `cudnnGetReductionIndicesSize@libcudnn.so.8'
/usr/bin/ld: /usr/local/lib//libonnxruntime.so: undefined reference to `cudaMallocHost@libcudart.so.10.2'
/usr/bin/ld: /usr/local/lib//libonnxruntime.so: undefined reference to `cudaGetErrorString@libcudart.so.10.2'
/usr/bin/ld: /usr/local/lib//libonnxruntime.so: undefined reference to `cudnnSetConvolutionMathType@libcudnn.so.8'
/usr/bin/ld: /usr/local/lib//libonnxruntime.so: undefined reference to `cudnnSoftmaxForward@libcudnn.so.8'
/usr/bin/ld: /usr/local/lib//libonnxruntime.so: undefined reference to `cudaGetDeviceProperties@libcudart.so.10.2'
/usr/bin/ld: /usr/local/lib//libonnxruntime.so: undefined reference to `__cudaRegisterFatBinary@libcudart.so.10.2'
/usr/bin/ld: /usr/local/lib//libonnxruntime.so: undefined reference to `cudnnCreate@libcudnn.so.8'
/usr/bin/ld: /usr/local/lib//libonnxruntime.so: undefined reference to `cudaFuncGetAttributes@libcudart.so.10.2'
/usr/bin/ld: /usr/local/lib//libonnxruntime.so: undefined reference to `cudaMemset@libcudart.so.10.2'
/usr/bin/ld: /usr/local/lib//libonnxruntime.so: undefined reference to `cudnnDestroyFilterDescriptor@libcudnn.so.8'
/usr/bin/ld: /usr/local/lib//libonnxruntime.so: undefined reference to `cudnnSetRNNMatrixMathType@libcudnn.so.8'
/usr/bin/ld: /usr/local/lib//libonnxruntime.so: undefined reference to `cudaEventQuery@libcudart.so.10.2'
/usr/bin/ld: /usr/local/lib//libonnxruntime.so: undefined reference to `cudnnCreateRNNDataDescriptor@libcudnn.so.8'
/usr/bin/ld: /usr/local/lib//libonnxruntime.so: undefined reference to `cudaDeviceSynchronize@libcudart.so.10.2'
/usr/bin/ld: /usr/local/lib//libonnxruntime.so: undefined reference to `cudnnBatchNormalizationForwardTraining@libcudnn.so.8'
/usr/bin/ld: /usr/local/lib//libonnxruntime.so: undefined reference to `cudnnCreateDropoutDescriptor@libcudnn.so.8'
/usr/bin/ld: /usr/local/lib//libonnxruntime.so: undefined reference to `cudaLaunchKernel@libcudart.so.10.2'
/usr/bin/ld: /usr/local/lib//libonnxruntime.so: undefined reference to `cudnnSetLRNDescriptor@libcudnn.so.8'
/usr/bin/ld: /usr/local/lib//libonnxruntime.so: undefined reference to `cudnnGetConvolutionForwardWorkspaceSize@libcudnn.so.8'
/usr/bin/ld: /usr/local/lib//libonnxruntime.so: undefined reference to `cufftXtExec@libcufft.so.10'
/usr/bin/ld: /usr/local/lib//libonnxruntime.so: undefined reference to `cudnnRNNForwardInference@libcudnn.so.8'
/usr/bin/ld: /usr/local/lib//libonnxruntime.so: undefined reference to `cudnnRNNForwardInferenceEx@libcudnn.so.8'
/usr/bin/ld: /usr/local/lib//libonnxruntime.so: undefined reference to `cudnnSetRNNDescriptor_v6@libcudnn.so.8'
/usr/bin/ld: /usr/local/lib//libonnxruntime.so: undefined reference to `cudnnCreateFilterDescriptor@libcudnn.so.8'
/usr/bin/ld: /usr/local/lib//libonnxruntime.so: undefined reference to `cudaMemsetAsync@libcudart.so.10.2'
/usr/bin/ld: /usr/local/lib//libonnxruntime.so: undefined reference to `cudnnBatchNormalizationForwardInference@libcudnn.so.8'
/usr/bin/ld: /usr/local/lib//libonnxruntime.so: undefined reference to `cublasDgemmStridedBatched@libcublas.so.10'
/usr/bin/ld: /usr/local/lib//libonnxruntime.so: undefined reference to `cudaMemcpy@libcudart.so.10.2'
/usr/bin/ld: /usr/local/lib//libonnxruntime.so: undefined reference to `cudnnDestroyDropoutDescriptor@libcudnn.so.8'
/usr/bin/ld: /usr/local/lib//libonnxruntime.so: undefined reference to `cudaStreamSynchronize@libcudart.so.10.2'
/usr/bin/ld: /usr/local/lib//libonnxruntime.so: undefined reference to `cudnnGetReductionWorkspaceSize@libcudnn.so.8'
/usr/bin/ld: /usr/local/lib//libonnxruntime.so: undefined reference to `cudnnCreatePoolingDescriptor@libcudnn.so.8'
/usr/bin/ld: /usr/local/lib//libonnxruntime.so: undefined reference to `__cudaPushCallConfiguration@libcudart.so.10.2'
/usr/bin/ld: /usr/local/lib//libonnxruntime.so: undefined reference to `cudnnDestroyPoolingDescriptor@libcudnn.so.8'
/usr/bin/ld: /usr/local/lib//libonnxruntime.so: undefined reference to `cudnnDestroyTensorDescriptor@libcudnn.so.8'
/usr/bin/ld: /usr/local/lib//libonnxruntime.so: undefined reference to `cudaEventCreateWithFlags@libcudart.so.10.2'
/usr/bin/ld: /usr/local/lib//libonnxruntime.so: undefined reference to `cudnnSetDropoutDescriptor@libcudnn.so.8'
/usr/bin/ld: /usr/local/lib//libonnxruntime.so: undefined reference to `cufftCreate@libcufft.so.10'
/usr/bin/ld: /usr/local/lib//libonnxruntime.so: undefined reference to `cudaPeekAtLastError@libcudart.so.10.2'
/usr/bin/ld: /usr/local/lib//libonnxruntime.so: undefined reference to `cudnnGetRNNLinLayerMatrixParams@libcudnn.so.8'
/usr/bin/ld: /usr/local/lib//libonnxruntime.so: undefined reference to `__cudaPopCallConfiguration@libcudart.so.10.2'
/usr/bin/ld: /usr/local/lib//libonnxruntime.so: undefined reference to `cudnnSetTensorNdDescriptor@libcudnn.so.8'
/usr/bin/ld: /usr/local/lib//libonnxruntime.so: undefined reference to `cudaStreamCreateWithFlags@libcudart.so.10.2'
/usr/bin/ld: /usr/local/lib//libonnxruntime.so: undefined reference to `cublasHgemmStridedBatched@libcublas.so.10'
/usr/bin/ld: /usr/local/lib//libonnxruntime.so: undefined reference to `cudnnGetRNNLinLayerBiasParams@libcudnn.so.8'
/usr/bin/ld: /usr/local/lib//libonnxruntime.so: undefined reference to `cudaStreamDestroy@libcudart.so.10.2'
/usr/bin/ld: /usr/local/lib//libonnxruntime.so: undefined reference to `cudnnCreateRNNDescriptor@libcudnn.so.8'
/usr/bin/ld: /usr/local/lib//libonnxruntime.so: undefined reference to `cudaEventDestroy@libcudart.so.10.2'
/usr/bin/ld: /usr/local/lib//libonnxruntime.so: undefined reference to `cublasDgemmBatched@libcublas.so.10'
/usr/bin/ld: /usr/local/lib//libonnxruntime.so: undefined reference to `cublasSgemmBatched@libcublas.so.10'
/usr/bin/ld: /usr/local/lib//libonnxruntime.so: undefined reference to `cudaDeviceGetAttribute@libcudart.so.10.2'
/usr/bin/ld: /usr/local/lib//libonnxruntime.so: undefined reference to `cublasScopy_v2@libcublas.so.10'
/usr/bin/ld: /usr/local/lib//libonnxruntime.so: undefined reference to `cudaOccupancyMaxActiveBlocksPerMultiprocessorWithFlags@libcudart.so.10.2'
/usr/bin/ld: /usr/local/lib//libonnxruntime.so: undefined reference to `cudnnPoolingForward@libcudnn.so.8'
/usr/bin/ld: /usr/local/lib//libonnxruntime.so: undefined reference to `cudnnDestroyLRNDescriptor@libcudnn.so.8'
/usr/bin/ld: /usr/local/lib//libonnxruntime.so: undefined reference to `cudnnDropoutGetStatesSize@libcudnn.so.8'
/usr/bin/ld: /usr/local/lib//libonnxruntime.so: undefined reference to `cudnnSetFilterNdDescriptor@libcudnn.so.8'
/usr/bin/ld: /usr/local/lib//libonnxruntime.so: undefined reference to `cublasDestroy_v2@libcublas.so.10'
/usr/bin/ld: /usr/local/lib//libonnxruntime.so: undefined reference to `cudaMemGetInfo@libcudart.so.10.2'
/usr/bin/ld: /usr/local/lib//libonnxruntime.so: undefined reference to `cudaMalloc@libcudart.so.10.2'
/usr/bin/ld: /usr/local/lib//libonnxruntime.so: undefined reference to `cudnnCreateLRNDescriptor@libcudnn.so.8'
/usr/bin/ld: /usr/local/lib//libonnxruntime.so: undefined reference to `cudaMemcpyAsync@libcudart.so.10.2'
/usr/bin/ld: /usr/local/lib//libonnxruntime.so: undefined reference to `cudaGetLastError@libcudart.so.10.2'
/usr/bin/ld: /usr/local/lib//libonnxruntime.so: undefined reference to `cudnnReduceTensor@libcudnn.so.8'
/usr/bin/ld: /usr/local/lib//libonnxruntime.so: undefined reference to `__cudaUnregisterFatBinary@libcudart.so.10.2'
/usr/bin/ld: /usr/local/lib//libonnxruntime.so: undefined reference to `cublasHgemm@libcublas.so.10'
/usr/bin/ld: /usr/local/lib//libonnxruntime.so: undefined reference to `__cudaRegisterVar@libcudart.so.10.2'
/usr/bin/ld: /usr/local/lib//libonnxruntime.so: undefined reference to `cudaGetErrorName@libcudart.so.10.2'
/usr/bin/ld: /usr/local/lib//libonnxruntime.so: undefined reference to `cublasDgetriBatched@libcublas.so.10'
/usr/bin/ld: /usr/local/lib//libonnxruntime.so: undefined reference to `cublasDgemm_v2@libcublas.so.10'
/usr/bin/ld: /usr/local/lib//libonnxruntime.so: undefined reference to `cublasSgeam@libcublas.so.10'
/usr/bin/ld: /usr/local/lib//libonnxruntime.so: undefined reference to `cublasDgeam@libcublas.so.10'
/usr/bin/ld: /usr/local/lib//libonnxruntime.so: undefined reference to `cufftXtMakePlanMany@libcufft.so.10'
/usr/bin/ld: /usr/local/lib//libonnxruntime.so: undefined reference to `cudnnSetRNNPaddingMode@libcudnn.so.8'
/usr/bin/ld: /usr/local/lib//libonnxruntime.so: undefined reference to `__cudaRegisterFatBinaryEnd@libcudart.so.10.2'
/usr/bin/ld: /usr/local/lib//libonnxruntime.so: undefined reference to `cudnnDestroyRNNDescriptor@libcudnn.so.8'
/usr/bin/ld: /usr/local/lib//libonnxruntime.so: undefined reference to `cublasDgetrfBatched@libcublas.so.10'
/usr/bin/ld: /usr/local/lib//libonnxruntime.so: undefined reference to `cudnnAddTensor@libcudnn.so.8'
/usr/bin/ld: /usr/local/lib//libonnxruntime.so: undefined reference to `cudnnFindConvolutionForwardAlgorithmEx@libcudnn.so.8'
/usr/bin/ld: /usr/local/lib//libonnxruntime.so: undefined reference to `cudnnLRNCrossChannelForward@libcudnn.so.8'
/usr/bin/ld: /usr/local/lib//libonnxruntime.so: undefined reference to `cudaMemcpyFromSymbol@libcudart.so.10.2'
/usr/bin/ld: /usr/local/lib//libonnxruntime.so: undefined reference to `cudnnConvolutionForward@libcudnn.so.8'
/usr/bin/ld: /usr/local/lib//libonnxruntime.so: undefined reference to `cudnnDeriveBNTensorDescriptor@libcudnn.so.8'
/usr/bin/ld: /usr/local/lib//libonnxruntime.so: undefined reference to `cudnnDestroyRNNDataDescriptor@libcudnn.so.8'
/usr/bin/ld: /usr/local/lib//libonnxruntime.so: undefined reference to `cudnnCreateConvolutionDescriptor@libcudnn.so.8'
/usr/bin/ld: /usr/local/lib//libonnxruntime.so: undefined reference to `cudaSetDevice@libcudart.so.10.2'
/usr/bin/ld: /usr/local/lib//libonnxruntime.so: undefined reference to `cublasSetMathMode@libcublas.so.10'
/usr/bin/ld: /usr/local/lib//libonnxruntime.so: undefined reference to `cublasSgemmStridedBatched@libcublas.so.10'
/usr/bin/ld: /usr/local/lib//libonnxruntime.so: undefined reference to `cublasSgetrfBatched@libcublas.so.10'
/usr/bin/ld: /usr/local/lib//libonnxruntime.so: undefined reference to `cudnnDestroyReduceTensorDescriptor@libcudnn.so.8'
collect2: error: ld returned 1 exit status
make[1]: *** [Makefile:76: /home/aleksandr/Research/opendr/build/test_opendr_utils] Error 1
make[1]: Leaving directory '/home/aleksandr/Research/opendr/tests'
make: *** [Makefile:59: ctests] Error 2

Did anyone face the same issues?

passalis commented 1 year ago

Hi,

Probably there is a mismatch between the onnxruntime and the installed CUDA version.

Can you share some details regarding the machine you are using (OS version, CUDA version, CUDNN version).

However, these errors are related to the C API. So if you are not planning to use the C API (ROS is not using this API), you can ignore these errors.