I am trying to build opencv 4.4.0 for jetson platform (cuda10.2) and just let me tell you that is a really pain to find the way to do this. Not the right way. Just the way…
And after a long time to search, i finally find your docker image for jetson but difficulties continues.
Cause in your base image libcublas is not installed and there are no documentation which explain how to get it.
The lib is available on fresh install of the jet-pack on real jetson card. Why not in the base image and why it’s impossible to find a way to install it ?
After a long time, i try the ml image and discover than the libcublas is in the image.
I was so happy … until i discover than the file size is … 0 …
I get the following error during the build of opencv 4.4.0 from sources
876 /usr/lib/aarch64-linux-gnu/libcublas.so: file not recognized: File truncated 6877 clang: error: linker command failed with exit code 1 (use -v to see invocation) 6878 modules/cudev/CMakeFiles/opencv_cudev.dir/build.make:97: recipe for target 'lib/libopencv_cudev.so.4.4.0' failed 6879 make: *** [lib/libopencv_cudev.so.4.4.0] Error 1 6880 CMakeFiles/Makefile2:3854: recipe for target 'modules/cudev/CMakeFiles/opencv_cudev.dir/all' failed 6881 make: *** [modules/cudev/CMakeFiles/opencv_cudev.dir/all] Error 2
And to add to the pain, libs inside the /usr/local/cuda/lib64/stubs/ directory are not loaded and i must add their paths in the cmake command as follow while this work on a real hardware.
cmake \ -D CUDA_cuda_LIBRARY=/usr/local/cuda/lib64/stubs/libcuda.so \ -D CUDA_cufft_LIBRARY=/usr/local/cuda/lib64/stubs/libcufft.so \ -D CUDA_cufftw_LIBRARY=/usr/local/cuda/lib64/stubs/libcufftw.so \ -D CUDA_curand_LIBRARY=/usr/local/cuda/lib64/stubs/libcurand.so \ ....
So please, could you tell me how i can solve the problem with le libcublas file without mount a volume from my jetson to the docker container to share this file ?
Edit: cudnn is also not installed and package available are only for cuda 11.X while on real hardware we have a version for cuda 10.2