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