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