[Debian-med-packaging] Bug#995224: relion-cuda: FTBFS with cub 1.14

Andreas Beckmann anbe at debian.org
Tue Sep 28 08:41:03 BST 2021


Source: relion-cuda
Version: 3.1.0-2
Severity: serious
Tags: ftbfs sid bookworm
Justification: fails to build from source

Hi,

relion-cuda FTBFS with cub 1.14 which was just uploaded to unstable:

make[4]: Entering directory '/build/relion-cuda-3.1.0/build'
[  1%] Building NVCC (Device) object src/apps/CMakeFiles/relion_gpu_util.dir/__/acc/cuda/relion_gpu_util_generated_cuda_projector_plan.cu.o
cd /build/relion-cuda-3.1.0/build/src/apps/CMakeFiles/relion_gpu_util.dir/__/acc/cuda && /usr/bin/cmake -E make_directory /build/relion-cuda-3.1.0/build/src/apps/CMakeFiles/relion_gpu_util.dir/__/acc/cuda/.
cd /build/relion-cuda-3.1.0/build/src/apps/CMakeFiles/relion_gpu_util.dir/__/acc/cuda && /usr/bin/cmake -D verbose:BOOL=1 -D build_configuration:STRING=Release -D generated_file:STRING=/build/relion-cuda-3.1.0/build/src/apps/CMakeFiles/relion_gpu_util.dir/__/acc/cuda/./relion_gpu_util_generated_cuda_projector_plan.cu.o -D generated_cubin_file:STRING=/build/relion-cuda-3.1.0/build/src/apps/CMakeFiles/relion_gpu_util.dir/__/acc/cuda/./relion_gpu_util_generated_cuda_projector_plan.cu.o.cubin.txt -P /build/relion-cuda-3.1.0/build/src/apps/CMakeFiles/relion_gpu_util.dir/__/acc/cuda/relion_gpu_util_generated_cuda_projector_plan.cu.o.Release.cmake
-- Removing /build/relion-cuda-3.1.0/build/src/apps/CMakeFiles/relion_gpu_util.dir/__/acc/cuda/./relion_gpu_util_generated_cuda_projector_plan.cu.o
/usr/bin/cmake -E rm -f /build/relion-cuda-3.1.0/build/src/apps/CMakeFiles/relion_gpu_util.dir/__/acc/cuda/./relion_gpu_util_generated_cuda_projector_plan.cu.o
-- Generating dependency file: /build/relion-cuda-3.1.0/build/src/apps/CMakeFiles/relion_gpu_util.dir/__/acc/cuda/relion_gpu_util_generated_cuda_projector_plan.cu.o.NVCC-depend
/usr/bin/nvcc -M -D__CUDACC__ /build/relion-cuda-3.1.0/src/acc/cuda/cuda_projector_plan.cu -o /build/relion-cuda-3.1.0/build/src/apps/CMakeFiles/relion_gpu_util.dir/__/acc/cuda/relion_gpu_util_generated_cuda_projector_plan.cu.o.NVCC-depend -ccbin /usr/bin/cc -m64 -DINSTALL_LIBRARY_DIR=/usr/lib/ -DSOURCE_DIR=/build/relion-cuda-3.1.0/src/ -DACC_CUDA=2 -DACC_CPU=1 -DCUDA -DALLOW_CTF_IN_SGD -DHAVE_SINCOS -DHAVE_TIFF -Xcompiler ,\"-g\",\"-O2\",\"-ffile-prefix-map=/build/relion-cuda-3.1.0=.\",\"-fstack-protector-strong\",\"-Wformat\",\"-Werror=format-security\",\"-O3\",\"-DNDEBUG\" -arch=sm_35 -D__INTEL_COMPILER --default-stream per-thread --disable-warnings -DNVCC -I/usr/include -I/usr/lib/x86_64-linux-gnu/openmpi/include -I/usr/lib/x86_64-linux-gnu/openmpi/include/openmpi -I/build/relion-cuda-3.1.0 -I/usr/lib/fltk -I/usr/include/x86_64-linux-gnu
nvcc warning : The 'compute_35', 'compute_37', 'compute_50', 'sm_35', 'sm_37' and 'sm_50' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning).
In file included from /usr/include/thrust/system/cuda/config.h:33,
                 from /usr/include/thrust/system/cuda/detail/execution_policy.h:35,
                 from /usr/include/thrust/iterator/detail/device_system_tag.h:23,
                 from /usr/include/thrust/iterator/detail/iterator_facade_category.h:22,
                 from /usr/include/thrust/iterator/iterator_facade.h:37,
                 from /build/relion-cuda-3.1.0/src/acc/cuda/cub/device/../iterator/arg_index_input_iterator.cuh:48,
                 from /build/relion-cuda-3.1.0/src/acc/cuda/cub/device/device_reduce.cuh:41,
                 from /build/relion-cuda-3.1.0/src/acc/cuda/cuda_utils_cub.cuh:16,
                 from /build/relion-cuda-3.1.0/src/acc/cuda/cuda_projector_plan.cu:10:
/usr/include/cub/util_namespace.cuh:46:2: error: #error CUB requires a definition of CUB_NS_QUALIFIER when CUB_NS_PREFIX/POSTFIX are defined.
   46 | #error CUB requires a definition of CUB_NS_QUALIFIER when CUB_NS_PREFIX/POSTFIX are defined.
      |  ^~~~~
CMake Error at relion_gpu_util_generated_cuda_projector_plan.cu.o.Release.cmake:220 (message):
  Error generating
  /build/relion-cuda-3.1.0/build/src/apps/CMakeFiles/relion_gpu_util.dir/__/acc/cuda/./relion_gpu_util_generated_cuda_projector_plan.cu.o


make[4]: *** [src/apps/CMakeFiles/relion_gpu_util.dir/build.make:1439: src/apps/CMakeFiles/relion_gpu_util.dir/__/acc/cuda/relion_gpu_util_generated_cuda_projector_plan.cu.o] Error 1
make[4]: Leaving directory '/build/relion-cuda-3.1.0/build'


This seems to be the Breaking Change described in
https://github.com/NVIDIA/cub/releases/tag/1.14.0:

    #350: When the CUB_NS_[PRE|POST]FIX macros are set, CUB_NS_QUALIFIER
    must also be defined to the fully qualified CUB namespace (e.g.
    #define CUB_NS_QUALIFIER ::foo::cub). Note that this is handled
    automatically when using the new [THRUST_]CUB_WRAPPED_NAMESPACE mechanism.


Andreas



More information about the Debian-med-packaging mailing list