On Mon, 06 Feb 2023 17:53:31 +0200, Adrian Bunk <b...@debian.org> wrote:
> intelrdfpmath FTBFS on the older platforms alpha/hppa/mips where
> it seems to used to have support for, but that support is now so
> broken that even the headers necessary for compilation are missing:
> 
> float128/dpml_exception.h:315:17: fatal error: alpha_linux_exception.h: No
> such file or directory 315 | #       include "alpha_linux_exception.h"
> 
> float128/dpml_private.h:215:14: fatal error: mips_macros.h: No such file or
> directory 215 | #    include "mips_macros.h"
> 
> (The hppa FTBFS looks different, I haven't checked whether that's also
>  related to the stale hp_pa code.)
> 
> 
> This is a problem for libmongocrypt, which started to use intelrdfpmath
> but whose new version is currently blocked from testing migration due
> to libintelrdfpmath-dev not being available on mipsel/mips64el.

I’m afraid there isn’t much I can do about that, other than ask upstream to
add MIPS support.

Given the RC severity of this bug, I’ll consider the main point of the bug to
be the latter part:

> The RC severity is based on looking at a related question:
> How did intelrdfpmath compile on new platforms like powerpc/arm/s390x
> that never had any explicit support in intelrdfpmath?
> 
> intelrdfpmath (2.0u2-2) unstable; urgency=medium
>   * Assume unknown architectures are “EFI2”.
> 
> LIBRARY/float128/architecture.h:
>   #if defined(ct) || defined(efi2)
>   #   undef  _M_AMD64
>   #   define _M_AMD64
>   #endif
> 
> This builds, but the (used) definition
>   #       define ENDIANESS little_endian
> isn't correct on s390x, and neither is
>   #           define BITS_PER_LONG   64
> on 32bit arm.

Ah, I knew that would bite me some day...

I’m updating intelrdfpmath to apply the architecture definitions used in
libmongocrypt (see
<https://github.com/mongodb/libmongocrypt/blob/master/cmake/IntelDFP.cmake>):
armel/armhf are assumed to behave like i386 (I haven’t checked whether that
makes sense), arm64/ppc64el/riscv64 are assumed to behave like amd64, and
s390x is supported explicitly.

If you want to track the unsupported architectures, please open a new bug. As
far as I can tell, even if libmongocrypt were built in Debian using its
embedded copy of intelrdfpmath, it would fail on the same architectures.

Regards,

Stephen

Attachment: pgpgzApOVtQZ1.pgp
Description: OpenPGP digital signature

Reply via email to