Skip to content

[Build] arrayfire 3.9.0 doesn't build against spdlog 1.12.0 #3516

Description

@svenstaro

Description

I'm the Arch maintainer for arrayfire and it currently fails a rebuild against the most recent version of spdlog.

Error Log

FAILED: src/backend/cuda/CMakeFiles/afcuda.dir/kernel/thrust_sort_by_key/thrust_sort_by_key_impl_float_1.cu.o
/opt/cuda/bin/nvcc -forward-unknown-to-host-compiler -DAFDLL -DAF_CACHE_KERNELS_TO_DISK -DAF_CUDA -DAF_MKL_INTERFACE_SIZE=4 -DAF_MKL_THREAD_LAYER=2 -DAF_USE_NEW_CUSPARSE_API -DAF_WITH_LOGGING -DBOOST_CHRONO_HEADER_ONLY -DBOOST_COMPUTE_HAVE_THREAD_LOCAL -DBOOST_COMPUTE_THREAD_SAFE -DCUDA_NO_HALF -DFMT_SHARED -DOS_LNX -DSPDLOG_COMPILED_LIB -DSPDLOG_FMT_EXTERNAL -DSPDLOG_SHARED_LIB -DWITH_CUDNN -DWITH_FREEIMAGE -Dafcuda_EXPORTS -Dspan_FEATURE_WITH_INITIALIZER_LIST_P2447=1 -I/build/arrayfire/src/arrayfire-full-v3.9.0/include -I/build/arrayfire/src/arrayfire-full-v3.9.0/build/include -I/build/arrayfire/src/arrayfire-full-v3.9.0/src/api/c -I/build/arrayfire/src/arrayfire-full-v3.9.0/src/backend/cuda -I/build/arrayfire/src/arrayfire-full-v3.9.0/src/backend/cuda/kernel -I/build/arrayfire/src/arrayfire-full-v3.9.0/src/backend/cuda/jit -I/build/arrayfire/src/arrayfire-full-v3.9.0/build/src/backend/cuda -I/build/arrayfire/src/arrayfire-full-v3.9.0/src/backend -I/build/arrayfire/src/arrayfire-full-v3.9.0/build/src/backend -isystem /opt/cuda/include -isystem /build/arrayfire/src/arrayfire-full-v3.9.0/build/extern/span-lite-src/include -isystem /build/arrayfire/src/arrayfire-full-v3.9.0/build/extern/af_glad-src/include -isystem /build/arrayfire/src/arrayfire-full-v3.9.0/extern/half/include -std=c++17 "--generate-code=arch=compute_52,code=[sm_52]" "--generate-code=arch=compute_53,code=[sm_53]" "--generate-code=arch=compute_60,code=[sm_60]" "--generate-code=arch=compute_61,code=[sm_61]" "--generate-code=arch=compute_62,code=[sm_62]" "--generate-code=arch=compute_70,code=[sm_70]" "--generate-code=arch=compute_72,code=[sm_72]" "--generate-code=arch=compute_75,code=[sm_75]" "--generate-code=arch=compute_80,code=[sm_80]" "--generate-code=arch=compute_86,code=[sm_86]" "--generate-code=arch=compute_87,code=[sm_87]" "--generate-code=arch=compute_89,code=[sm_89]" "--generate-code=arch=compute_90,code=[sm_90]" "--generate-code=arch=compute_90,code=[compute_90]" -Xcompiler=-fPIC --expt-relaxed-constexpr -Xcudafe --diag_suppress=unrecognized_gcc_pragma -MD -MT src/backend/cuda/CMakeFiles/afcuda.dir/kernel/thrust_sort_by_key/thrust_sort_by_key_impl_float_1.cu.o -MF src/backend/cuda/CMakeFiles/afcuda.dir/kernel/thrust_sort_by_key/thrust_sort_by_key_impl_float_1.cu.o.d -x cu -c /build/arrayfire/src/arrayfire-full-v3.9.0/build/src/backend/cuda/kernel/thrust_sort_by_key/thrust_sort_by_key_impl_float_1.cu -o src/backend/cuda/CMakeFiles/afcuda.dir/kernel/thrust_sort_by_key/thrust_sort_by_key_impl_float_1.cu.o
/usr/include/spdlog/common.h: In function ‘constexpr spdlog::string_view_t spdlog::details::to_string_view(const spdlog::memory_buf_t&)’:
/usr/include/spdlog/common.h:351:30: error: call to non-‘constexpr’ function ‘const T* fmt::v10::detail::buffer<T>::data() const [with T = char]’
  351 |     return spdlog::string_view_t{buf.data(), buf.size()};
      |                      ~~~~~~~~^~
/usr/include/fmt/core.h:845:6: note: ‘const T* fmt::v10::detail::buffer<T>::data() const [with T = char]’ declared here
  845 |   FMT_CONSTEXPR auto data() const noexcept -> const T* { return ptr_; }
      |      ^~~~
[498/2728] Building CUDA object src/backend/cuda/CMakeFiles/afcuda.dir/sort.cu.o

Build Environment

Compiler version: g++ (GCC) 13.2.1 20230801
Operating system: Arch
Build environment: spdlog 1.12.0
CMake variables: N/A

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions