Closed matthewfeickert closed 1 week ago
Pinging @isuruf on this as I think they might know how feasible this is in general.
quadmath is not available on aarch64 as aarch64 has a native __float128
type.
Thanks @isuruf. Closing this, as there's not a path forward.
I haven't given this any thought, but if you have any off the top of your head ideas on how to take code that needs quadmath
on x86 and make it also work on aarch64 I'd be interested.
@isuruf Just to check that I understand correctly, as
aarch64 has a native
__float128
type.
then as quadmath
defines its own __float128
constants, as aarch64
already defines __float128
, the responsibility would be on quadmath
to add support aarch64
, correct? It isn't just a matter of having programs that normally use quadmath
check for the platform and disable quadmath
at compile time to use aarch64
's __float128
types instead?
Solution to issue cannot be found in the documentation.
Issue
From https://github.com/conda-forge/qcdloop-feedstock/pull/1 I've found that
gcc_impl_linux-aarch64
does not currently supportquadmath
.As
quadmath
is supported forlinux-64
andlinux-ppc64le
is it possible to support forlinux-aarch64
?linux/x86_64 comparison:
```console $ docker run --rm -ti --platform linux/x86_64 debian:bookworm # uname -m x86_64 # apt update && apt install -y curl # curl -fsSL https://pixi.sh/install.sh | bash # . /root/.bashrc # mkdir debug && cd debug # pixi init # pixi add gcc Added gcc >=14.2.0,<14.3 # pixi list Package Version Build Size Kind Source _libgcc_mutex 0.1 conda_forge 2.5 KiB conda _libgcc_mutex-0.1-conda_forge.tar.bz2 _openmp_mutex 4.5 2_gnu 23.1 KiB conda _openmp_mutex-4.5-2_gnu.tar.bz2 binutils_impl_linux-64 2.43 h4bf12b8_2 5.4 MiB conda binutils_impl_linux-64-2.43-h4bf12b8_2.conda gcc 14.2.0 h96c4ede_1 54.5 KiB conda gcc-14.2.0-h96c4ede_1.conda gcc_impl_linux-64 14.2.0 h6b349bd_1 69.1 MiB conda gcc_impl_linux-64-14.2.0-h6b349bd_1.conda kernel-headers_linux-64 3.10.0 he073ed8_18 921.4 KiB conda kernel-headers_linux-64-3.10.0-he073ed8_18.conda ld_impl_linux-64 2.43 h712a8e2_2 653.5 KiB conda ld_impl_linux-64-2.43-h712a8e2_2.conda libgcc 14.2.0 h77fa898_1 828.9 KiB conda libgcc-14.2.0-h77fa898_1.conda libgcc-devel_linux-64 14.2.0 h41c2201_101 2.6 MiB conda libgcc-devel_linux-64-14.2.0-h41c2201_101.conda libgomp 14.2.0 h77fa898_1 450.2 KiB conda libgomp-14.2.0-h77fa898_1.conda libsanitizer 14.2.0 h2a3dede_1 4.3 MiB conda libsanitizer-14.2.0-h2a3dede_1.conda libstdcxx 14.2.0 hc0a3c3a_1 3.7 MiB conda libstdcxx-14.2.0-hc0a3c3a_1.conda sysroot_linux-64 2.17 h4a8ded7_18 14.8 MiB conda sysroot_linux-64-2.17-h4a8ded7_18.conda tzdata 2024b hc8b5060_0 119.5 KiB conda tzdata-2024b-hc8b5060_0.conda # find . -type f -iname "*quadmath*" ./.pixi/envs/default/lib/gcc/x86_64-conda-linux-gnu/14.2.0/libquadmath.a ./.pixi/envs/default/lib/gcc/x86_64-conda-linux-gnu/14.2.0/include/quadmath_weak.h ./.pixi/envs/default/lib/gcc/x86_64-conda-linux-gnu/14.2.0/include/quadmath.h ./.pixi/envs/default/lib/libquadmath.so.0.0.0 ./.pixi/envs/default/share/info/libquadmath.info ```Installed packages
Environment info