• Bug#1105761: mpdecimal: Hurd support

    From Stefan Krah@21:1/5 to All on Wed May 14 16:20:01 2025
    XPost: linux.debian.ports.hurd

    Source: mpdecimal
    Version: 4.0.0-1
    Severity: normal
    Tags: ftbfs
    X-Debbugs-Cc: debian-hurd@lists.debian.org, skrah@bytereef.org
    User: debian-hurd@lists.debian.org
    Usertags: hurd-amd64 hurd-i386




    -- System Information:
    Debian Release: trixie/sid
    APT prefers unstable
    APT policy: (500, 'unstable')
    Architecture: amd64 (x86_64)

    Kernel: Linux 6.9.10-amd64 (SMP w/4 CPU threads; PREEMPT)
    Locale: LANG=en_US.UTF-8, LC_CTYPE=C.UTF-8 (charmap=UTF-8), LANGUAGE=en_US:en Shell: /bin/sh linked to /usr/bin/dash
    Init: systemd (via /run/systemd/system)
    LSM: AppArmor: enabled

    The Hurd build works perfectly, except that some symbols aren't hidden
    because of a missing __gnu_hurd__, which causes symbol list mismatches.

    The following diff should fix the build and will be in the next mpdecimal release (if you agree that it is correct):

    diff --git a/libmpdec/mpdecimal.h.in b/libmpdec/mpdecimal.h.in
    index 9e7f84a..3deac48 100644
    --- a/libmpdec/mpdecimal.h.in
    +++ b/libmpdec/mpdecimal.h.in
    @@ -47,7 +47,7 @@ extern "C" {
    #endif


    -#if (defined(__linux__) || defined(__FreeBSD__) || defined(__APPLE__)) && \ +#if (defined(__linux__) || defined(__gnu_hurd__) || defined(__FreeBSD__) || defined(__APPLE__)) && \
    defined(__GNUC__) && __GNUC__ >= 4 && !defined(__INTEL_COMPILER)
    #define MPD_PRAGMA(x) _Pragma(x)
    #define MPD_HIDE_SYMBOLS_START "GCC visibility push(hidden)"


    Stefan Krah

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)