libmisc3d.so: undefined reference to `cudaGetDevice'
Hi @yuecideng , I used cuda11.7 and face this error. Do you know how to solve it?

[ 52%] Linking CXX executable ../../bin/farthest_point_sampling
/usr/bin/ld: ../../lib/libmisc3d.so: undefined reference to cudaGetDevice' /usr/bin/ld: ../../lib/libmisc3d.so: undefined reference to cudaStreamGetCaptureInfo'
/usr/bin/ld: ../../lib/libmisc3d.so: undefined reference to cudaMemcpy2DAsync' /usr/bin/ld: ../../lib/libmisc3d.so: undefined reference to cudaFreeAsync'
/usr/bin/ld: ../../lib/libmisc3d.so: undefined reference to cudaFreeHost' /usr/bin/ld: ../../lib/libmisc3d.so: undefined reference to cudaMemcpy2D'
/usr/bin/ld: ../../lib/libmisc3d.so: undefined reference to __cudaPushCallConfiguration' /usr/bin/ld: ../../lib/libmisc3d.so: undefined reference to cudaEventCreateWithFlags'
/usr/bin/ld: ../../lib/libmisc3d.so: undefined reference to cudaStreamCreateWithFlags' /usr/bin/ld: ../../lib/libmisc3d.so: undefined reference to cudaMemcpyPeerAsync'
/usr/bin/ld: ../../lib/libmisc3d.so: undefined reference to cudaMallocAsync' /usr/bin/ld: ../../lib/libmisc3d.so: undefined reference to cudaMemset2DAsync'
/usr/bin/ld: ../../lib/libmisc3d.so: undefined reference to cudaStreamCreateWithPriority' /usr/bin/ld: ../../lib/libmisc3d.so: undefined reference to cudaMemcpyAsync'
/usr/bin/ld: ../../lib/libmisc3d.so: undefined reference to cudaStreamWaitEvent' /usr/bin/ld: ../../lib/libmisc3d.so: undefined reference to cudaMallocHost'
/usr/bin/ld: ../../lib/libmisc3d.so: undefined reference to cudaGetDeviceProperties' /usr/bin/ld: ../../lib/libmisc3d.so: undefined reference to cudaStreamCreate'
/usr/bin/ld: ../../lib/libmisc3d.so: undefined reference to cudaEventQuery' /usr/bin/ld: ../../lib/libmisc3d.so: undefined reference to cudaDeviceCanAccessPeer'
/usr/bin/ld: ../../lib/libmisc3d.so: undefined reference to cudaGetSymbolAddress' /usr/bin/ld: ../../lib/libmisc3d.so: undefined reference to __cudaPopCallConfiguration'
/usr/bin/ld: ../../lib/libmisc3d.so: undefined reference to __cudaRegisterFatBinaryEnd' /usr/bin/ld: ../../lib/libmisc3d.so: undefined reference to cudaSetDevice'
/usr/bin/ld: ../../lib/libmisc3d.so: undefined reference to cudaMemGetInfo' /usr/bin/ld: ../../lib/libmisc3d.so: undefined reference to cudaGetErrorString'
/usr/bin/ld: ../../lib/libmisc3d.so: undefined reference to cudaStreamDestroy' /usr/bin/ld: ../../lib/libmisc3d.so: undefined reference to cudaGetDeviceCount'
/usr/bin/ld: ../../lib/libmisc3d.so: undefined reference to __cudaRegisterFunction' /usr/bin/ld: ../../lib/libmisc3d.so: undefined reference to cudaFree'
/usr/bin/ld: ../../lib/libmisc3d.so: undefined reference to cudaMallocManaged' /usr/bin/ld: ../../lib/libmisc3d.so: undefined reference to cudaDeviceSynchronize'
/usr/bin/ld: ../../lib/libmisc3d.so: undefined reference to cudaMemcpyToSymbolAsync' /usr/bin/ld: ../../lib/libmisc3d.so: undefined reference to cudaPeekAtLastError'
/usr/bin/ld: ../../lib/libmisc3d.so: undefined reference to cudaRuntimeGetVersion' /usr/bin/ld: ../../lib/libmisc3d.so: undefined reference to cudaGetErrorName'
/usr/bin/ld: ../../lib/libmisc3d.so: undefined reference to cudaEventDestroy' /usr/bin/ld: ../../lib/libmisc3d.so: undefined reference to cudaDeviceGetAttribute'
/usr/bin/ld: ../../lib/libmisc3d.so: undefined reference to cudaFuncGetAttributes' /usr/bin/ld: ../../lib/libmisc3d.so: undefined reference to cudaOccupancyMaxActiveBlocksPerMultiprocessor'
/usr/bin/ld: ../../lib/libmisc3d.so: undefined reference to __cudaUnregisterFatBinary' /usr/bin/ld: ../../lib/libmisc3d.so: undefined reference to __cudaRegisterFatBinary'
/usr/bin/ld: ../../lib/libmisc3d.so: undefined reference to cudaGetLastError' /usr/bin/ld: ../../lib/libmisc3d.so: undefined reference to cudaMalloc'
/usr/bin/ld: ../../lib/libmisc3d.so: undefined reference to cudaMemcpy' /usr/bin/ld: ../../lib/libmisc3d.so: undefined reference to cudaGetExportTable'
/usr/bin/ld: ../../lib/libmisc3d.so: undefined reference to __cudaRegisterVar' /usr/bin/ld: ../../lib/libmisc3d.so: undefined reference to cudaStreamQuery'
/usr/bin/ld: ../../lib/libmisc3d.so: undefined reference to cudaThreadExchangeStreamCaptureMode' /usr/bin/ld: ../../lib/libmisc3d.so: undefined reference to cudaStreamGetPriority'
/usr/bin/ld: ../../lib/libmisc3d.so: undefined reference to cudaPointerGetAttributes' /usr/bin/ld: ../../lib/libmisc3d.so: undefined reference to cudaMemset'
/usr/bin/ld: ../../lib/libmisc3d.so: undefined reference to cudaOccupancyMaxActiveBlocksPerMultiprocessorWithFlags' /usr/bin/ld: ../../lib/libmisc3d.so: undefined reference to cudaStreamSynchronize'
/usr/bin/ld: ../../lib/libmisc3d.so: undefined reference to cudaDeviceEnablePeerAccess' /usr/bin/ld: ../../lib/libmisc3d.so: undefined reference to cudaLaunchKernel'
/usr/bin/ld: ../../lib/libmisc3d.so: undefined reference to cudaMemsetAsync' /usr/bin/ld: ../../lib/libmisc3d.so: undefined reference to cudaStreamGetFlags'
/usr/bin/ld: ../../lib/libmisc3d.so: undefined reference to cudaEventCreate' /usr/bin/ld: ../../lib/libmisc3d.so: undefined reference to cudaEventRecord'
/usr/bin/ld: ../../lib/libmisc3d.so: undefined reference to cudaFuncSetAttribute' /usr/bin/ld: ../../lib/libmisc3d.so: undefined reference to cudaDeviceGetStreamPriorityRange'
collect2: error: ld returned 1 exit status
make[2]: *** [examples/cpp/CMakeFiles/farthest_point_sampling.dir/build.make:185:bin/farthest_point_sampling] 错误 1
make[1]: *** [CMakeFiles/Makefile2:418:examples/cpp/CMakeFiles/farthest_point_sampling.dir/all] 错误 2
make: *** [Makefile:136:all] 错误 2
Thank you!
Hey @jiaming3 , I also encounter this issue when linking Open3D built with CUDA support. I think a workaround is use CPU only open3d as dependency. If you have to use Open3D with CUDA support, you should change the cmake of misc3d to configure cuda as well.
By the way, this library may no longer to be developed in the future. I'm working on another 3d data proceesing library (also compatible with open3d with tensor and tensor based geometry, and with CUDA support as well). The algorithms in misc3d would be covered by that. You can try to use that library If you are interested about it. The plan to release it may be around (2023.03.20 - 03.30)
Hey @jiaming3 , I also encounter this issue when linking Open3D built with CUDA support. I think a workaround is use CPU only open3d as dependency. If you have to use Open3D with CUDA support, you should change the cmake of
misc3dto configure cuda as well.By the way, this library may no longer to be developed in the future. I'm working on another 3d data proceesing library (also compatible with open3d with tensor and tensor based geometry, and with CUDA support as well). The algorithms in
misc3dwould be covered by that. You can try to use that library If you are interested about it. The plan to release it may be around (2023.03.20 - 03.30)
Hi @yuecideng I'm also interested in this library. When do you plan to release a new library?. Thank you :)
Hi @godfather1402, the release date has been postponed due to some reasons. I am happy to let you know once I have opened source the new library.