Hi Cordell,

On Mon, Feb 09, 2026 at 01:51:52AM -0700, Cordell Bloor wrote:
> When copying your solution to apply the same fix to hiprand, I found a
> warning about a reference to an non-existant directory named "ON" from
> CMake. A similar error can be found in the rocblas 6.4.4-4 buildd logs due
> to "-DBUILD_CLIENTS_TESTS=ON ON":
> 
>    dh_auto_configure -- -DCMAKE_BUILD_TYPE=Release
>    -DCMAKE_SKIP_INSTALL_RPATH=ON -DROCM_SYMLINK_LIBS=OFF
>    -DBUILD_CLIENTS_BENCHMARKS=ON
>    -DBUILD_FILE_REORG_BACKWARD_COMPATIBILITY=OFF
>    
> -DGPU_TARGETS="gfx803;gfx900;gfx906;gfx908;gfx90a;gfx1010;gfx1030;gfx1100;gfx1101;gfx1102"
>    -DBUILD_WITH_HIPBLASLT=OFF
>    -DROCBLAS_TENSILE_LIBRARY_DIR=/usr/lib/aarch64-linux-gnu/rocblas/4.4.1
>    -DINSTALL_TEST_DATA_DIR=/usr/share/librocblas4-tests/data
>    -DTensile_COMPILER=hipcc -DTensile_TEST_LOCAL_PATH="../tensile"
>    -DTensile_ROOT="/build/reproducible-path/rocblas-6.4.4/tensile/Tensile"
>    -DTensile_LOGIC=asm_full -DTensile_LIBRARY_FORMAT=msgpack
>    -DTensile_LAZY_LIBRARY_LOADING=ON
>    -DTensile_SEPARATE_ARCHITECTURES=ON -DBUILD_CLIENTS_TESTS=ON ON 
>    -DBUILD_WITH_PIP=false -DOptions=--ignore-asm-cap-cache
>    -DRUN_HEADER_TESTING=OFF -DBUILD_OFFLOAD_COMPRESS=OFF
>    ...
>    CMake Warning:
>       Ignoring extra path from command line:
> 
>      "/build/reproducible-path/rocblas-6.4.4/obj-aarch64-linux-gnu/ON"

Thanks for your attention to detail. The failure originates from the
following line:

| -DBUILD_CLIENTS_TESTS=$(or $(filter ON,$(FEATURE_CHECK) 
$(FEATURE_INSTTEST)),OFF) \

When both FEATURE_CHECK and FEATURE_INSTTEST evaluate to ON, the filter
keeps both and passes them through.

We may combat this in two ways. One is wrapping it in firstword.

| -DBUILD_CLIENTS_TESTS=$(firstword $(or $(filter ON,$(FEATURE_CHECK) 
$(FEATURE_INSTTEST)),OFF)) \

The other is using "if" as I used earlier already.

| -DBUILD_CLIENTS_TESTS=$(if $(filter ON,$(FEATURE_CHECK) 
$(FEATURE_INSTTEST)),ON,OFF)) \

My quest for saving a few bytes evidently failed here. The "if" variant
is not that much longer and probably provides better clarity.

Helmut

Reply via email to