conan-io / conan-center-index

Recipes for the ConanCenter repository
https://conan.io/center
MIT License
921 stars 1.66k forks source link

xsimd: allow using apple-clang < 13 with cppstd 17 #24453

Closed Nekto89 closed 22 hours ago

Nekto89 commented 6 days ago

Summary

Changes to recipe: xsimd/all Allow using xsimd with cppstd 17 on apple-clang < 13. Update xtl to 0.7.6.

Closes #24445

Motivation

xsimd 13.0.0 works perfectly fine on apple-clang 12 with cppstd 17.

Details

Relax apple-clang restrictions - forbid only apple-clang 13.


conan-center-bot commented 6 days ago

Conan v1 pipeline :heavy_check_mark:

All green in build 2 (92b14ce954f6442c0f975b52fd4648563690c4fe):


Conan v2 pipeline :heavy_check_mark:

Note: Conan v2 builds are now mandatory. Please read our discussion about it.

All green in build 2 (92b14ce954f6442c0f975b52fd4648563690c4fe):

AbrilRBS commented 1 day ago

Just for future traceability, could we get logs for the failing tests in apple-clang 13 and successful in apple-clang 12? (Or whatever you have access to! :))

Nekto89 commented 1 day ago

Just for future traceability, could we get logs for the failing tests in apple-clang 13 and successful in apple-clang 12? (Or whatever you have access to! :))

apple-clang 13 https://c3i.jfrog.io/c3i/misc-v2/logs/pr/23859/1-macos-clang/xsimd/13.0.0//da39a3ee5e6b4b0d3255bfef95601890afd80709-test.txt


======== Testing the package: Building ========
xsimd/13.0.0 (test package): Calling build()
xsimd/13.0.0 (test package): Running CMake.configure()
xsimd/13.0.0 (test package): RUN: cmake -G "Unix Makefiles" -DCMAKE_TOOLCHAIN_FILE="/Users/jenkins/workspace/prod-v2/bsr/cci-f5e023fd/recipes/xsimd/all/test_package/build/apple-clang-13-x86_64-17-release/generators/conan_toolchain.cmake" -DCMAKE_INSTALL_PREFIX="/Users/jenkins/workspace/prod-v2/bsr/cci-f5e023fd/recipes/xsimd/all/test_package" -DCMAKE_POLICY_DEFAULT_CMP0091="NEW" -DCMAKE_BUILD_TYPE="Release" "/Users/jenkins/workspace/prod-v2/bsr/cci-f5e023fd/recipes/xsimd/all/test_package"
-- Using Conan toolchain: /Users/jenkins/workspace/prod-v2/bsr/cci-f5e023fd/recipes/xsimd/all/test_package/build/apple-clang-13-x86_64-17-release/generators/conan_toolchain.cmake
-- Conan toolchain: C++ Standard 17 with extensions OFF
-- The CXX compiler identification is AppleClang 13.0.0.13000029
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /Applications/conan/xcode/13.0/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Conan: Target declared 'xsimd'
-- Performing Test COMPILER_SUPPORTS_MARCH_NATIVE
-- Performing Test COMPILER_SUPPORTS_MARCH_NATIVE - Failed
-- Configuring done
-- Generating done
-- Build files have been written to: /Users/jenkins/workspace/prod-v2/bsr/cci-f5e023fd/recipes/xsimd/all/test_package/build/apple-clang-13-x86_64-17-release

xsimd/13.0.0 (test package): Running CMake.build()
xsimd/13.0.0 (test package): RUN: cmake --build "/Users/jenkins/workspace/prod-v2/bsr/cci-f5e023fd/recipes/xsimd/all/test_package/build/apple-clang-13-x86_64-17-release" -- -j8
[ 50%] Building CXX object CMakeFiles/test_package.dir/test_package.cpp.o
In file included from /Users/jenkins/workspace/prod-v2/bsr/cci-f5e023fd/recipes/xsimd/all/test_package/test_package.cpp:1:
In file included from /Users/jenkins/workspace/prod-v2/bsr/33280/caeca/p/xsimd1ca23010ddae9/p/include/xsimd/xsimd.hpp:62:
/Users/jenkins/workspace/prod-v2/bsr/33280/caeca/p/xsimd1ca23010ddae9/p/include/xsimd/config/../types/../types/xsimd_batch.hpp:519:9: error: static_assert failed due to requirement 'sizeof...(Ts) + 2 == size' "The constructor requires as many arguments as batch elements."
        static_assert(sizeof...(Ts) + 2 == size, "The constructor requires as many arguments as batch elements.");
        ^             ~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/jenkins/workspace/prod-v2/bsr/cci-f5e023fd/recipes/xsimd/all/test_package/test_package.cpp:20:26: note: in instantiation of function template specialization 'xsimd::batch<double>::batch<double, double>' requested here
  xs::batch<number_type> a{1.5, 2.5, 3.5, 4.5};
                         ^
In file included from /Users/jenkins/workspace/prod-v2/bsr/cci-f5e023fd/recipes/xsimd/all/test_package/test_package.cpp:1:
In file included from /Users/jenkins/workspace/prod-v2/bsr/33280/caeca/p/xsimd1ca23010ddae9/p/include/xsimd/xsimd.hpp:62:
In file included from /Users/jenkins/workspace/prod-v2/bsr/33280/caeca/p/xsimd1ca23010ddae9/p/include/xsimd/config/../types/../types/xsimd_batch.hpp:492:
In file included from /Users/jenkins/workspace/prod-v2/bsr/33280/caeca/p/xsimd1ca23010ddae9/p/include/xsimd/config/../types/../arch/xsimd_isa.hpp:24:
/Users/jenkins/workspace/prod-v2/bsr/33280/caeca/p/xsimd1ca23010ddae9/p/include/xsimd/arch/./xsimd_sse2.hpp:1459:13: error: static_assert failed due to requirement 'sizeof...(Values) == batch<double, xsimd::sse4_1>::size' "consistent init"
            static_assert(sizeof...(Values) == batch<double, A>::size, "consistent init");
            ^             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/jenkins/workspace/prod-v2/bsr/33280/caeca/p/xsimd1ca23010ddae9/p/include/xsimd/config/../types/../types/xsimd_batch.hpp:516:25: note: in instantiation of function template specialization 'xsimd::kernel::set<xsimd::sse4_1, double, double, double, double>' requested here
        : batch(kernel::set<A>(batch {}, A {}, val0, val1, static_cast<T>(vals)...))
                        ^
/Users/jenkins/workspace/prod-v2/bsr/cci-f5e023fd/recipes/xsimd/all/test_package/test_package.cpp:20:26: note: in instantiation of function template specialization 'xsimd::batch<double>::batch<double, double>' requested here
  xs::batch<number_type> a{1.5, 2.5, 3.5, 4.5};
                         ^
In file included from /Users/jenkins/workspace/prod-v2/bsr/cci-f5e023fd/recipes/xsimd/all/test_package/test_package.cpp:1:
In file included from /Users/jenkins/workspace/prod-v2/bsr/33280/caeca/p/xsimd1ca23010ddae9/p/include/xsimd/xsimd.hpp:62:
In file included from /Users/jenkins/workspace/prod-v2/bsr/33280/caeca/p/xsimd1ca23010ddae9/p/include/xsimd/config/../types/../types/xsimd_batch.hpp:492:
In file included from /Users/jenkins/workspace/prod-v2/bsr/33280/caeca/p/xsimd1ca23010ddae9/p/include/xsimd/config/../types/../arch/xsimd_isa.hpp:24:
/Users/jenkins/workspace/prod-v2/bsr/33280/caeca/p/xsimd1ca23010ddae9/p/include/xsimd/arch/./xsimd_sse2.hpp:1460:20: error: no matching function for call to '_mm_setr_pd'
            return _mm_setr_pd(values...);
                   ^~~~~~~~~~~
/Applications/conan/xcode/13.0/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/13.0.0/include/emmintrin.h:1896:1: note: candidate function not viable: requires 2 arguments, but 4 were provided
_mm_setr_pd(double __w, double __x)
^
3 errors generated.
make[2]: *** [CMakeFiles/test_package.dir/test_package.cpp.o] Error 1
make[1]: *** [CMakeFiles/test_package.dir/all] Error 2
make: *** [all] Error 2

ERROR: xsimd/13.0.0 (test package): Error in build() method, line 30
    cmake.build()
    ConanException: Error 2 while executing```
Nekto89 commented 1 day ago

apple-clang 12

Click to expand log ``` conan create --version 13.0.0 . ======== Exporting recipe to the cache ======== xsimd/13.0.0: Exporting package recipe: /Users/user/xsimd_test/conan-center-index/recipes/xsimd/all/conanfile.py xsimd/13.0.0: exports: File 'conandata.yml' found. Exporting it... xsimd/13.0.0: Copied 1 '.py' file: conanfile.py xsimd/13.0.0: Copied 1 '.yml' file: conandata.yml xsimd/13.0.0: Exported to cache folder: /Users/user/.conan2/p/xsimdbedb68a4b064a/e xsimd/13.0.0: Exported: xsimd/13.0.0#8ae198d642a8dcb6d85327d1100830a9 (2024-06-26 11:34:10 UTC) ======== Input profiles ======== Profile host: [settings] arch=x86_64 build_type=Release compiler=apple-clang compiler.cppstd=17 compiler.libcxx=libc++ compiler.version=12.0 os=Macos [conf] Profile build: [settings] arch=x86_64 build_type=Release compiler=apple-clang compiler.cppstd=17 compiler.libcxx=libc++ compiler.version=12.0 os=Macos [conf] ======== Computing dependency graph ======== Graph root cli Requirements xsimd/13.0.0#8ae198d642a8dcb6d85327d1100830a9 - Cache ======== Computing necessary packages ======== xsimd/13.0.0: Forced build from source Requirements xsimd/13.0.0#8ae198d642a8dcb6d85327d1100830a9:da39a3ee5e6b4b0d3255bfef95601890afd80709 - Build ======== Installing packages ======== xsimd/13.0.0: Calling source() in /Users/user/.conan2/p/xsimdbedb68a4b064a/s/src -------- Installing package xsimd/13.0.0 (1 of 1) -------- xsimd/13.0.0: Building from source xsimd/13.0.0: Package xsimd/13.0.0:da39a3ee5e6b4b0d3255bfef95601890afd80709 xsimd/13.0.0: Building your package in /Users/user/.conan2/p/b/xsimd16e2e5fbaa468/b xsimd/13.0.0: Generating aggregated env files xsimd/13.0.0: Generated aggregated env files: ['conanbuild.sh', 'conanrun.sh'] xsimd/13.0.0: Package 'da39a3ee5e6b4b0d3255bfef95601890afd80709' built xsimd/13.0.0: Build folder /Users/user/.conan2/p/b/xsimd16e2e5fbaa468/b/build-release xsimd/13.0.0: Generating the package xsimd/13.0.0: Packaging in folder /Users/user/.conan2/p/b/xsimd16e2e5fbaa468/p xsimd/13.0.0: Calling package() xsimd/13.0.0: package(): Packaged 1 file: LICENSE xsimd/13.0.0: package(): Packaged 87 '.hpp' files xsimd/13.0.0: package(): Packaged 1 '.cmake' file: conan-official-xsimd-targets.cmake xsimd/13.0.0: Created package revision 06eff08e8fe56b1741f512fb95cc3f8c xsimd/13.0.0: Package 'da39a3ee5e6b4b0d3255bfef95601890afd80709' created xsimd/13.0.0: Full package reference: xsimd/13.0.0#8ae198d642a8dcb6d85327d1100830a9:da39a3ee5e6b4b0d3255bfef95601890afd80709#06eff08e8fe56b1741f512fb95cc3f8c xsimd/13.0.0: Package folder /Users/user/.conan2/p/b/xsimd16e2e5fbaa468/p WARN: deprecated: Usage of deprecated Conan 1.X features that will be removed in Conan 2.X: WARN: deprecated: 'cpp_info.build_modules' used in: xsimd/13.0.0 ======== Launching test_package ======== ======== Computing dependency graph ======== Graph root xsimd/13.0.0 (test package): /Users/user/xsimd_test/conan-center-index/recipes/xsimd/all/test_package/conanfile.py Requirements xsimd/13.0.0#8ae198d642a8dcb6d85327d1100830a9 - Cache ======== Computing necessary packages ======== Requirements xsimd/13.0.0#8ae198d642a8dcb6d85327d1100830a9:da39a3ee5e6b4b0d3255bfef95601890afd80709#06eff08e8fe56b1741f512fb95cc3f8c - Cache ======== Installing packages ======== xsimd/13.0.0: Already installed! (1 of 1) WARN: deprecated: Usage of deprecated Conan 1.X features that will be removed in Conan 2.X: WARN: deprecated: 'cpp_info.build_modules' used in: xsimd/13.0.0 ======== Testing the package ======== Removing previously existing 'test_package' build folder: /Users/user/xsimd_test/conan-center-index/recipes/xsimd/all/test_package/build/apple-clang-12.0-x86_64-17-release xsimd/13.0.0 (test package): Test package build: build/apple-clang-12.0-x86_64-17-release xsimd/13.0.0 (test package): Test package build folder: /Users/user/xsimd_test/conan-center-index/recipes/xsimd/all/test_package/build/apple-clang-12.0-x86_64-17-release xsimd/13.0.0 (test package): Calling generate() xsimd/13.0.0 (test package): Generators folder: /Users/user/xsimd_test/conan-center-index/recipes/xsimd/all/test_package/build/apple-clang-12.0-x86_64-17-release/generators xsimd/13.0.0 (test package): CMakeToolchain generated: conan_toolchain.cmake xsimd/13.0.0 (test package): CMakeToolchain generated: /Users/user/xsimd_test/conan-center-index/recipes/xsimd/all/test_package/build/apple-clang-12.0-x86_64-17-release/generators/CMakePresets.json xsimd/13.0.0 (test package): CMakeToolchain generated: /Users/user/xsimd_test/conan-center-index/recipes/xsimd/all/test_package/CMakeUserPresets.json xsimd/13.0.0 (test package): CMakeDeps necessary find_package() and targets for your CMakeLists.txt find_package(xsimd) target_link_libraries(... xsimd) xsimd/13.0.0 (test package): Generating aggregated env files xsimd/13.0.0 (test package): Generated aggregated env files: ['conanbuild.sh', 'conanrun.sh'] ======== Testing the package: Building ======== xsimd/13.0.0 (test package): Calling build() xsimd/13.0.0 (test package): Running CMake.configure() xsimd/13.0.0 (test package): RUN: cmake -G "Unix Makefiles" -DCMAKE_TOOLCHAIN_FILE="generators/conan_toolchain.cmake" -DCMAKE_INSTALL_PREFIX="/Users/user/xsimd_test/conan-center-index/recipes/xsimd/all/test_package" -DCMAKE_POLICY_DEFAULT_CMP0091="NEW" -DCMAKE_BUILD_TYPE="Release" "/Users/user/xsimd_test/conan-center-index/recipes/xsimd/all/test_package" -- Using Conan toolchain: /Users/user/xsimd_test/conan-center-index/recipes/xsimd/all/test_package/build/apple-clang-12.0-x86_64-17-release/generators/conan_toolchain.cmake -- Conan toolchain: C++ Standard 17 with extensions OFF -- The CXX compiler identification is AppleClang 12.0.0.12000032 -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Check for working CXX compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++ - skipped -- Detecting CXX compile features -- Detecting CXX compile features - done -- Conan: Target declared 'xsimd' -- Performing Test COMPILER_SUPPORTS_MARCH_NATIVE -- Performing Test COMPILER_SUPPORTS_MARCH_NATIVE - Success -- Configuring done (0.9s) -- Generating done (0.0s) -- Build files have been written to: /Users/user/xsimd_test/conan-center-index/recipes/xsimd/all/test_package/build/apple-clang-12.0-x86_64-17-release xsimd/13.0.0 (test package): Running CMake.build() xsimd/13.0.0 (test package): RUN: cmake --build "/Users/user/xsimd_test/conan-center-index/recipes/xsimd/all/test_package/build/apple-clang-12.0-x86_64-17-release" -- -j8 [ 50%] Building CXX object CMakeFiles/test_package.dir/test_package.cpp.o [100%] Linking CXX executable test_package [100%] Built target test_package ======== Testing the package: Executing test ======== xsimd/13.0.0 (test package): Running test() xsimd/13.0.0 (test package): RUN: ./test_package (2, 3, 4, 5) ```
Nekto89 commented 1 day ago

btw that apple-clang 13 build is doing cross-compilation from arm to x86_64

Nekto89 commented 22 hours ago

improved in #24493