• [RFH] Creating an FTBFS package list due to 2-byte alignment

    From John Paul Adrian Glaubitz@21:1/5 to All on Sat Apr 5 21:50:01 2025
    Hello,

    there is a tedious but easy task to be fulfilled for the m68k port
    which could be crowdsourced which is collecting all packages that
    fail to build from source (FTBFS) due to the 2-byte alignment on
    m68k.

    This can be done by looking at the following page:

    - https://buildd.debian.org/status/architecture.php?a=m68k&suite=sid

    Then look at the package list in "Build-Attempted" and click on any
    package such as "libtpms" which leads to:

    - https://buildd.debian.org/status/package.php?p=libtpms&suite=sid

    Click on the red "Build-Attempted" field for the m68k architecture
    row to inspect the build log and find the cause for the build failure.

    To find the exact point where the build failed, it's usually wise to
    search for the string "error:" (without the quotes) and you get in this
    case:

    tpm2/BackwardsCompatibilityObject.c:77:1: error: static assertion failed: "OLD_TPMT_PUBLIC has wrong size"
    77 | static_assert(sizeof(OLD_TPMT_PUBLIC) == 356,
    | ^~~~~~~~~~~~~
    tpm2/BackwardsCompatibilityObject.c:160:1: error: static assertion failed: "OLD_OBJECT has wrong size"
    160 | static_assert(sizeof(OLD_OBJECT) == 1896,
    | ^~~~~~~~~~~~~

    The failing static assertion is a clear indicator for an FTBFS due
    to the 2-byte alignment on m68k. This is because the smaller alignment
    causes the structs in question to be smaller due to the smaller alignment causing denser packing of the struct.

    Thus, libtpms has been identified as a package that FTBFS on m68k due
    the 2-byte alignment issue and should be added to the following wiki
    page:

    - https://wiki.debian.org/M68k/Alignment

    See the history of the wiki page for a hint on how to add another package
    to the list:

    - https://wiki.debian.org/M68k/Alignment?action=info

    So, in the case of libtpms, add the package after libsdl3 in the list and
    use a changelog entry like "Add libtpms to list of affected packages".

    Getting the list as complete as possible will be useful to further discuss
    the alignment issue on m68k.

    PS: On Debian, build logs can also be downloaded with the getbuildlog utility
    from the devscripts package. See the instructions at the top of every build
    log shown on buildd.debian.org.

    Thanks,
    Adrian

    --
    .''`. John Paul Adrian Glaubitz
    : :' : Debian Developer
    `. `' Physicist
    `- GPG: 62FF 8A75 84E0 2956 9546 0006 7426 3B37 F5B5 F913

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