I attempted to build Mana on the NERSC Perlmutter system but encountered the following error during the make -j mana
process:
make -j mana > log.mana.txt (log.mana.txt)
openjdk version "11.0.20.1" 2023-08-24
OpenJDK Runtime Environment (build 11.0.20.1+0-suse-150000.3.102.1-x8664)
OpenJDK 64-Bit Server VM (build 11.0.20.1+0-suse-150000.3.102.1-x8664, mixed mode)
/usr/lib64/gcc/x86_64-suse-linux/12/../../../../x86_64-suse-linux/bin/ld: libproxy.a(libproxy.o): in function getVdsoPointerInLinkMap': /global/cfs/cdirs/../../checkpointR/mana/mpi-proxy-split/lower-half/libproxy.c:237:(.text+0x5ae): warning: Using 'dlopen' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking /usr/lib64/gcc/x86_64-suse-linux/12/../../../../x86_64-suse-linux/bin/ld: /global/cfs/cdirs/cr/pm_dependencies/libcurl.a(libcurl_la-netrc.o): in function
Curl_parsenetrc':
netrc.c:(.text+0x664): warning: Using 'getpwuid_r' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking
/usr/lib64/gcc/x86_64-suse-linux/12/../../../../x86_64-suse-linux/bin/ld: libnl3.a(lib_libnl_3_la-utils.o): in function nl_ip_proto2str': /global/cfs/cdirs/../../checkpointR/mana/mpi-proxy-split/lower-half/rpmbuild/BUILD/libnl-3.3.0/lib/utils.c:868:(.text+0xf8d): warning: Using 'getprotobynumber' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking /usr/lib64/gcc/x86_64-suse-linux/12/../../../../x86_64-suse-linux/bin/ld: libnl3.a(lib_libnl_3_la-utils.o): in function
nl_str2ip_proto':
/global/cfs/cdirs/../../checkpointR/mana/mpi-proxy-split/lower-half/rpmbuild/BUILD/libnl-3.3.0/lib/utils.c:881:(.text+0xff9): warning: Using 'getprotobyname' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking
/usr/lib64/gcc/x86_64-suse-linux/12/../../../../x86_64-suse-linux/bin/ld: gethostbyname-static/gethostbyname_static.o: in function `gethostbyname2_r':
/global/cfs/cdirs/../../checkpointR/mana/mpi-proxy-split/lower-half/gethostbyname-static/gethostbyname_static.c:154:(.text+0x61f): warning: Using 'gethostbyname_r' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking
/usr/lib64/gcc/x86_64-suse-linux/12/../../../../x86_64-suse-linux/bin/ld: warning: lib_libmpi_gnu_123_la-cray_memcpy_rome.o: missing .note.GNU-stack section implies executable stack
/usr/lib64/gcc/x86_64-suse-linux/12/../../../../x86_64-suse-linux/bin/ld: NOTE: This behaviour is deprecated and will be removed in a future version of the linker
day1_mpi.f90:151:20:
128 | call MPI_Recv ( r_buffer, r_dim, MPI_REAL, source, tag, &
| 2
......
151 | call MPI_Recv ( i_buffer, i_dim, MPI_INTEGER, source, tag, &
| 1
Warning: Type mismatch between actual argument at (1) and actual argument at (2) (INTEGER(4)/REAL(4)).
day1_mpi.f90:185:20:
119 | call MPI_Send ( i_buffer, count, MPI_INTEGER, dest, tag, &
| 2
......
185 | call MPI_Send ( r_buffer, count2, MPI_REAL, dest, tag, &
| 1
Warning: Type mismatch between actual argument at (1) and actual argument at (2) (REAL(4)/INTEGER(4)).
wave_mpi.f90:459:22:
440 | call MPI_Recv ( buffer, 2, MPI_INTEGER, i, collect1, MPI_COMM_WORLD, &
| 2
......
459 | call MPI_Recv ( u_global(i_global_lo+1), n_local2, MPI_DOUBLE_PRECISION, &
| 1
Warning: Type mismatch between actual argument at (1) and actual argument at (2) (REAL(8)/INTEGER(4)).
wave_mpi.f90:490:20:
486 | call MPI_Send ( buffer, 2, MPI_INTEGER, 0, collect1, MPI_COMM_WORLD, error )
| 2
......
490 | call MPI_Send ( u_local, n_local, MPI_DOUBLE_PRECISION, 0, collect2, &
| 1
Warning: Type mismatch between actual argument at (1) and actual argument at (2) (REAL(8)/INTEGER(4)).
day1_mpi.f90:151:20:
128 | call MPI_Recv ( r_buffer, r_dim, MPI_REAL, source, tag, &
| 2
......
151 | call MPI_Recv ( i_buffer, i_dim, MPI_INTEGER, source, tag, &
| 1
Warning: Type mismatch between actual argument at (1) and actual argument at (2) (INTEGER(4)/REAL(4)).
day1_mpi.f90:185:20:
119 | call MPI_Send ( i_buffer, count, MPI_INTEGER, dest, tag, &
| 2
......
185 | call MPI_Send ( r_buffer, count2, MPI_REAL, dest, tag, &
| 1
Warning: Type mismatch between actual argument at (1) and actual argument at (2) (REAL(4)/INTEGER(4)).
wave_mpi.f90:459:22:
440 | call MPI_Recv ( buffer, 2, MPI_INTEGER, i, collect1, MPI_COMM_WORLD, &
| 2
......
459 | call MPI_Recv ( u_global(i_global_lo+1), n_local2, MPI_DOUBLE_PRECISION, &
| 1
Warning: Type mismatch between actual argument at (1) and actual argument at (2) (REAL(8)/INTEGER(4)).
wave_mpi.f90:490:20:
486 | call MPI_Send ( buffer, 2, MPI_INTEGER, 0, collect1, MPI_COMM_WORLD, error )
| 2
......
490 | call MPI_Send ( u_local, n_local, MPI_DOUBLE_PRECISION, 0, collect2, &
| 1
Warning: Type mismatch between actual argument at (1) and actual argument at (2) (REAL(8)/INTEGER(4)).
mtcp_split_process.c: In function ‘initializeLowerHalf’:
mtcp_split_process.c:421:18: error: ‘LowerHalfInfo_t’ {aka ‘struct _LowerHalfInfo’} has no member named ‘endOfHeapFrozenAddr’
421 | *lh_info_addr->endOfHeapFrozenAddr = 1;
| ^~
make[1]: *** [Makefile:121: mtcp_split_process.o] Error 1
make[1]: *** Waiting for unfinished jobs....
make: *** [Makefile:52: mana] Error 2