Source: rocprim
Version: 6.4.1-1~exp1
Severity: serious
Tags: ftbfs
X-Debbugs-Cc: debian-am...@lists.debian.org, c...@slerp.xyz
User: debian-am...@lists.debian.org
Usertags: amd64

Dear Maintainer,

When building rocprim from source using the current ROCm stack in Debian
Experimental, the rocprim library fails to configure successfully. This
is because hipcc 6.1.2~exp1, longer Depends on libamdhip64-dev like it
did in previous versions. However, the libamdhip64-dev package is still
required for compiling HIP programs.

This is the relevent snippet from the build logs:

    -- The CXX compiler identification is unknown
    -- Detecting CXX compiler ABI info
    -- Detecting CXX compiler ABI info - failed
    -- Check for working CXX compiler: /usr/bin/hipcc
    -- Check for working CXX compiler: /usr/bin/hipcc - broken
    CMake Error at /usr/share/cmake-3.31/Modules/CMakeTestCXXCompiler.cmake:73 
(message):
      The C++ compiler
    
        "/usr/bin/hipcc"
    
      is not able to compile a simple test program.
    
      It fails with the following output:
    
        Change Dir: 
'/build/reproducible-path/rocprim-6.4.1/obj-x86_64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-egfdUH'
    
        Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f 
Makefile cmTC_8e8d4/fast
        gmake[2]: Entering directory 
'/build/reproducible-path/rocprim-6.4.1/obj-x86_64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-egfdUH'
        /usr/bin/gmake  -f CMakeFiles/cmTC_8e8d4.dir/build.make 
CMakeFiles/cmTC_8e8d4.dir/build
        gmake[3]: Entering directory 
'/build/reproducible-path/rocprim-6.4.1/obj-x86_64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-egfdUH'
        Building CXX object CMakeFiles/cmTC_8e8d4.dir/testCXXCompiler.cxx.o
        /usr/bin/hipcc   -gz -DROCPRIM_USE_ARCH_CONVERSION -g -O2 
-ffile-prefix-map=/build/reproducible-path/rocprim-6.4.1=. -Xarch_host 
-fstack-protector-strong -fstack-clash-protection -Wformat 
-Werror=format-security -Xarch_host -fcf-protection -Wdate-time 
-D_FORTIFY_SOURCE=2  -o CMakeFiles/cmTC_8e8d4.dir/testCXXCompiler.cxx.o -c 
/build/reproducible-path/rocprim-6.4.1/obj-x86_64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-egfdUH/testCXXCompiler.cxx
        clang-17: error: cannot find HIP runtime; provide its path via 
'--rocm-path', or pass '-nogpuinc' to build without HIP runtime
        clang-17: error: cannot find HIP runtime; provide its path via 
'--rocm-path', or pass '-nogpuinc' to build without HIP runtime
        gmake[3]: *** [CMakeFiles/cmTC_8e8d4.dir/build.make:81: 
CMakeFiles/cmTC_8e8d4.dir/testCXXCompiler.cxx.o] Error 1

There is clearly a missing package relationship in hipcc, as hipcc
should certainly either list libamdhip64-dev as Recommends or Depends.
Without libamdhip64-dev, the hipconfig binary is still useful, but the
most important feature of hipcc -- compiling HIP programs -- is not
functional. For this reason, I would argue that hipcc should continue to
have a Depends relationship on libamdhip64-dev.

It may be arguable whether this FTBFS is the fault of hipcc or of
rocprim, but rocprim is certainly affected by this problem. Ultimately,
the solution must be either to add libamdhip64-dev back into the Depends
list for hipcc in src:rocm-llvm and/or into the Build-Depends list for
rocprim.

I would argue that it should be both, as rocprim includes headers from
libamdhip64-dev and it should therefore be explicitly listing the
package in its Build-Depends anyway.

Sincerely,
Cory Bloor

-- System Information:
Debian Release: 13.0
  APT prefers unstable
  APT policy: (500, 'unstable'), (1, 'experimental')
Architecture: amd64 (x86_64)

Kernel: Linux 6.12.32-amd64 (SMP w/32 CPU threads; PREEMPT)
Locale: LANG=C, LC_CTYPE=C.UTF-8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /usr/bin/dash
Init: unable to detect

Reply via email to