Skip to content

User ML: Building OpenMPI 5.0.8 or 5.0.9 with gcc 16 #13721

@devreal

Description

@devreal

From the Open MPI user mailing list (https://www.mail-archive.com/[email protected]//msg35483.html)

I'm trying to build openMPI 5.0.9 (or 5.0.8) with the latest version of Gnu compiler ( 16, built from the git repository) but it fails.

Is there a way to solve this recursive inlining detected ?

In function ‘mca_part_persist_start’,
inlined from ‘mca_part_persist_start’ at ../../../../../ompi/mca/part/persist/part_persist.h:500:23,
inlined from ‘mca_part_persist_start’ at ../../../../../ompi/mca/part/persist/part_persist.h:500:23,
inlined from ‘mca_part_persist_start’ at ../../../../../ompi/mca/part/persist/part_persist.h:500:23,
inlined from ‘mca_part_persist_start’ at ../../../../../ompi/mca/part/persist/part_persist.h:500:23,
inlined from ‘mca_part_persist_start’ at ../../../../../ompi/mca/part/persist/part_persist.h:500:23:
../../../../../ompi/mca/part/persist/part_persist.h:484:1: error: inlining failed in call to ‘always_inline’ ‘mca_part_persist_start’: recursive inlining

I've tried to unset the inlining directive in part_persist.h but it fails later with a multiply defined function.

I've set some option at config time for CFLAGS and CXXFLAGS:

-DOPAL_DISABLE_INLINE -DOMPI_DISABLE_INLINE --param max-inline-insns-single=2000

as first problem was insufficient max-inline-insns-single value but increasing the value to 2000 fails now with the recursive inlining detected.

Looking at https://github.com/open-mpi/ompi/blob/main/ompi/mca/part/persist/part_persist.h, I don't see the recursion. However, I also don't know why this function is defined in a header file and marked inline.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions