Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
svenstaro opened this issue Oct 23, 2023 · 3 comments
Open

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

svenstaro opened this issue Oct 23, 2023 · 3 comments
Assignees
Labels

Comments

@svenstaro
Copy link

svenstaro commented Oct 23, 2023

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

@FloopCZ
Copy link
Contributor

FloopCZ commented Mar 7, 2024

Hi @svenstaro, it seems to build fine with spdlog 1.13 (now in Arch repo). However, you still need #3541 and #3521 to build successfully (and to be compatible with CUDA 12.3 (extra) and 12.4 (extra-testing) on Arch). You also need to add spdlog to depends.

@svenstaro
Copy link
Author

@FloopCZ Could you make an MR on the Arch GitLab?

@FloopCZ
Copy link
Contributor

FloopCZ commented Mar 7, 2024

@svenstaro oh, we can do that, now 🙂
https://gitlab.archlinux.org/archlinux/packaging/packages/arrayfire/-/merge_requests/1

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants