Hi Spaarsh,
I am trying to enable ROCm in dbcsr[1] and one of the dependencies is libamdhip64-dev since it contains the hip-config.cmake file. When I try to build my package, it fails with the following error message: ``` -- The HIP compiler identification is unknown CMake Error at /usr/share/cmake-3.31/Modules/CMakeDetermineHIPCompiler.cmake:217 (message): The ROCm root directory: /usr does not contain the HIP runtime CMake package, expected at one of: /usr/lib/cmake/hip-lang/hip-lang-config.cmake /usr/lib64/cmake/hip-lang/hip-lang-config.cmake Call Stack (most recent call first): CMakeLists.txt:277 (enable_language) ``` [....] I am not entirely sure if this is a `libamdhip64-dev` bug or something related to `CMake`. My dbcsr fork can be found here[2] and I am using a docker container.
I noticed in your d/rules file that you have specified:
export HIPCC=$(shell which hipcc)
<...>
-DCMAKE_HIP_COMPILER=${HIPCC}
However, this is not a valid value for CMAKE_HIP_COMPILER. There are two ways of building HIP programs with CMake:
1. Specifying hipcc as the CMAKE_CXX_COMPILER (typically via the
CXX environment variable)
2. Specifying clang++ as the CMAKE_HIP_COMPILER (typically via the
HIPCXX environment variable)
To find out which of the two methods is used for building any
particular library, you should read the library's build
instructions. Although, in this case we know that dbcsr uses (2)
because that's the method that uses hip-lang-config.cmake.
In any case, the point is that it is not valid to specify hipcc as the CMAKE_HIP_COMPILER. You must have the hipcc package installed for both methods 1 and 2 because the hipcc package provides hipconfig, but clang is the only compiler that CMake recognizes as being a HIP compiler.
On each version of Debian, there are a few different versions of clang that are made available. However, only one of them is used for HIP. On Debian Trixie and Debian Unstable, that is currently clang++-17.
I would suggest adding
export HIPCXX=clang++-17
then deleting
-DCMAKE_HIP_COMPILER=${HIPCC}
and also deleting
-DCMAKE_HIP_COMPILER_ROCM_ROOT=/usr