Hi Martijn,

On 2025-02-01 02:42, Martijn Otto wrote:
I think there are indeed two things to consider here:

The first is the choice of compiler, and whether or not any recent
clang will do. It would be easier if CMake can just find the installed
clang - then we don't need any custom config scripts for it to work.

The second is the location of the config scripts. We now have the
scripts, they are installed by the rocm-hipamd package, but they are
installed in the wrong location, so CMake does not find them.

Regardless of what we think about the compiler choice, fixing the
install location for the CMake scripts should be a relatively easy
thing to ensure things work "out of the box".

The config scripts are in the correct location. The multiarch directory was added to the search path in CMake 3.27.0 [1]. The error message is probably just misleading.

I suspect that either CMake is finding the config file and rejecting it for some reason, or there has been a regression in CMake. I haven't reproduced this bug, so I don't know which. One possibility is that you are missing components that hip-lang requires, and so it is being rejected. Aside from setting the HIPCXX compiler to clang++17, be sure to have hipcc installed as that package includes tools such as hipconfig, that CMake requests information from when building for hip-lang. A few CMake options that can also help with debugging this behaviour are --trace or -DCMAKE_FIND_DEBUG_MODE=ON.

Sincerely,
Cory Bloor

[1]: https://gitlab.kitware.com/cmake/cmake/-/issues/24562

Reply via email to