-
Notifications
You must be signed in to change notification settings - Fork 945
Description
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 inliningI'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.