Bug#994246: xtensor: arm64 FTBFS: xsimd neon error xsimd::batch_bool does not have any field named ‘simd_complex_batch_bool’

Drew Parsons dparsons at debian.org
Tue Sep 14 15:43:44 BST 2021


Source: xtensor
Version: 0.23.10-5
Severity: normal
Control: forwarded -1 https://github.com/xtensor-stack/xtensor/issues/2433

xtensor 0.23.10 FTBFS on arm64 with errors like:

[  4%] Building CXX object test/CMakeFiles/test_xtensor_lib.dir/test_xadaptor_semantic.cpp.o
cd /<<PKGBUILDDIR>>/obj-aarch64-linux-gnu/test && /usr/bin/c++ -DXSIMD_ENABLE_XTL_COMPLEX -DXTENSOR_USE_XSIMD -I/<<PKGBUILDDIR>>/include -isystem /<<PKGBUILDDIR>>/obj-aarch64-linux-gnu/test/googletest-src/googletest/include -isystem /<<PKGBUILDDIR>>/obj-aarch64-linux-gnu/test/googletest-src/googletest -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -march=native -std=c++14 -Wunused-parameter -Wextra -Wreorder -Wconversion -Wsign-conversion -Wold-style-cast -Wunused-variable -ftemplate-backtrace-limit=0 -DGTEST_HAS_PTHREAD=1 -o CMakeFiles/test_xtensor_lib.dir/test_xadaptor_semantic.cpp.o -c /<<PKGBUILDDIR>>/test/test_xadaptor_semantic.cpp
In file included from /usr/include/xsimd/types/xsimd_types_include.hpp:69,
                 from /usr/include/xsimd/types/xsimd_traits.hpp:17,
                 from /usr/include/xsimd/xsimd.hpp:16,
                 from /<<PKGBUILDDIR>>/include/xtensor/xtensor_config.hpp:75,
                 from /<<PKGBUILDDIR>>/include/xtensor/xbuffer_adaptor.hpp:21,
                 from /<<PKGBUILDDIR>>/include/xtensor/xarray.hpp:19,
                 from /<<PKGBUILDDIR>>/test/test_xjson.cpp:14:
/usr/include/xsimd/types/xsimd_neon_complex.hpp:369:15: error: ‘template<class X> class xsimd::simd_complex_batch_bool’ used without template arguments
  369 |         using simd_complex_batch_bool::simd_complex_batch_bool;
      |               ^~~~~~~~~~~~~~~~~~~~~~~
/usr/include/xsimd/types/xsimd_neon_complex.hpp: In constructor ‘xsimd::batch_bool<xtl::xcomplex<float, float, i3ec>, 4>::batch_bool(bool, bool, bool, bool)’:
/usr/include/xsimd/types/xsimd_neon_complex.hpp:374:15: error: class ‘xsimd::batch_bool<xtl::xcomplex<float, float, i3ec>, 4>’ does not have any field named ‘simd_complex_batch_bool’
  374 |             : simd_complex_batch_bool(real_batch(b0, b1, b2, b3))
      |               ^~~~~~~~~~~~~~~~~~~~~~~
/usr/include/xsimd/types/xsimd_neon_complex.hpp: At global scope:
/usr/include/xsimd/types/xsimd_neon_complex.hpp:410:26: error: type ‘xsimd::batch<xtl::xcomplex<float, float, i3ec>, 4>::base_type’ is not a base type for type ‘xsimd::batch<xtl::xcomplex<float, float, i3ec>, 4>’
  410 |         using base_type::base_type;
      |                          ^~~~~~~~~
/usr/include/xsimd/types/xsimd_neon_complex.hpp:419:26: error: type ‘xsimd::batch<xtl::xcomplex<float, float, i3ec>, 4>::base_type’ is not a base type for type ‘xsimd::batch<xtl::xcomplex<float, float, i3ec>, 4>’
  419 |         using base_type::load_aligned;
...


This is after patching with xsimd_xcomplex.patch (see
https://github.com/xtensor-stack/xtensor/issues/1898 )

The problem seems to be related to but not the same as upstream
Issue#1898.

Reported upstream at
https://github.com/xtensor-stack/xtensor/issues/2433

but the underlying problem seems to be a bug in neon support in xsimd,
https://github.com/xtensor-stack/xsimd/issues/400



-- System Information:
Debian Release: bookworm/sid
  APT prefers unstable
  APT policy: (500, 'unstable'), (1, 'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 5.10.0-8-amd64 (SMP w/8 CPU threads)
Kernel taint flags: TAINT_OOT_MODULE
Locale: LANG=en_AU.UTF-8, LC_CTYPE=en_AU.UTF-8 (charmap=UTF-8), LANGUAGE=en_AU:en
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled


More information about the debian-science-maintainers mailing list