Hi Marco Try the patch here (for the prrte 3rd-party subdirectory): https://github.com/openpmix/prrte/pull/1173
Ralph > On Jan 9, 2022, at 12:29 AM, Marco Atzeri via devel > <devel@lists.open-mpi.org> wrote: > > On 01.01.2022 20:07, Barrett, Brian wrote: >> Marco - >> There are some patches that haven't made it to the 5.0 branch to make this >> behavior better. I didn't get a chance to back port them before the holiday >> break, but they will be in the next RC. That said, the issue below is a >> warning, not an error, so you should still end up with a build that works >> (with an included PMIx). The issue is that png-config can't be found, so we >> have trouble guessing what libraries are dependencies of PMIx, which is a >> potential problem in complicated builds with static libraries. >> Brian > > Thanks Brian, > > the build error was in reality in setting for threads. > > I was using up to v4.1 > > --with-threads=posix > > that currently is not accepted anymore but no error is reported, > causing a different setting that does not work in CYGWIN. > Removing the configuration seems to work > > > I have however found a logic error in prrte that > probably need a verification of all the HAVE_*_H > between configuration and code > > > /pub/devel/openmpi/v5.0/openmpi-5.0.0-0.1.x86_64/src/openmpi-5.0.0rc2/3rd-party/prrte/src/mca/odls/default/odls_default_module.c:114:14: > fatal error: sys/ptrace.h: No such file or directory > 114 | # include <sys/ptrace.h> > | ^~~~~~~~~~~~~~ > > caused by > > $ grep -rH HAVE_SYS_PTRACE_H . > ./3rd-party/prrte/config.log:| #define HAVE_SYS_PTRACE_H 0 > ./3rd-party/prrte/config.log:| #define HAVE_SYS_PTRACE_H 0 > ./3rd-party/prrte/config.log:#define HAVE_SYS_PTRACE_H 0 > ./3rd-party/prrte/config.status:D["HAVE_SYS_PTRACE_H"]=" 0" > ./3rd-party/prrte/src/include/prte_config.h:#define HAVE_SYS_PTRACE_H 0 > > while the code in > 3rd-party/prrte/src/mca/odls/default/odls_default_module.c > has > > #ifdef HAVE_SYS_PTRACE_H > # include <sys/ptrace.h> > #endif > > > currently I am stacked at > > 0rc2/3rd-party/prrte/src/mca/oob/tcp/oob_tcp_connection.c:61: > /pub/devel/openmpi/v5.0/openmpi-5.0.0-0.1.x86_64/src/openmpi-5.0.0rc2/3rd-party/prrte/s > rc/mca/oob/tcp/oob_tcp_connection.c: In function > ‘prte_oob_tcp_peer_try_connect’: > /pub/devel/openmpi/v5.0/openmpi-5.0.0-0.1.x86_64/src/openmpi-5.0.0rc2/3rd-party/prrte/src/mca/oob/tcp/oob_tcp_connection.c:163:16: > error: expected identifier or ‘(’ before ‘struct’ > 163 | prte_if_t *interface; > | ^~~~~~~~~ > /pub/devel/openmpi/v5.0/openmpi-5.0.0-0.1.x86_64/src/openmpi-5.0.0rc2/3rd-party/prrte/src/mca/oob/tcp/oob_tcp_connection.c:180:19: > error: expected ‘{’ before ‘=’ token > 180 | interface = PRTE_NEW(prte_if_t); > | ^ > > > not sure if it is caused by new GCC 11 requirement or from wrong headers > being pulled in. > > Has anyone built with GCC 11 ? > > Regards > Marco >