libcudss.so.0.3.0 does not exist
Sorry to interrupt. I was compiling ceres-solver with cudss. However, the file /usr/lib/x86_64-linux-gnu/./libcudss.so.0.3.0 doesn't exist.
CMake Error at /usr/lib/x86_64-linux-gnu/cmake/cudss/cudss-targets.cmake:94 (message):
The imported target "cudss" references the file
"/usr/lib/x86_64-linux-gnu/./libcudss.so.0.3.0"
but this file does not exist. Possible reasons include:
* The file was deleted, renamed, or moved to another location.
* An install or uninstall procedure did not complete successfully.
* The installation package was faulty and contained
"/usr/lib/x86_64-linux-gnu/cmake/cudss/cudss-targets.cmake"
but not all the files it references.
Call Stack (most recent call first):
/usr/lib/x86_64-linux-gnu/cmake/cudss/cudss-config.cmake:134 (include)
CMakeLists.txt:355 (find_package)
I listed the files in the directory /usr/lib/x86_64-linux-gnu and found libcudss.so and libcudss.so.0. I'm not familiar with the C++ compilation process. What should I do to solve the above problem?
Ubuntu 20.04 CUDA 12.4 GNU 9.4.0 cmake 3.31.0
Hi @Xusj0w0!
Yes, it is a problem we are aware of. Basically, system-wide installation of cudss does not work as intended and due to the update-alternatives cannot find the shared library "by default".
We're going to fix this problem in cudss 0.4.0 (as well as add a cmake version file, which should also improve user experience with our cmake config).
Meanwhile, there are following workarounds:
- setting "-DCMAKE_PREFIX_PATH=<path_to_cudss>" in your cmake command (which I'd recommend as the easiest option), or
- fixing the problem in the file cudss-config.cmake (there are extra search prefixes you could add to
find_path()command withincudss-config.cmaketo solve the issue but it's too hacky in my opinion).
Let me know if changing the CMAKE_PREFIX_PATH is not an option for you and I can give more details about the second workaround.
Btw, we're glad to hear you're using ceres with cudss!
Thanks, Kirill