Hi Victor,

 

https://github.com/pmodels/mpich/pull/7033 should address this issue. It contains patches that were submitted/accepted in upstream libfabric. I have already backported to the 4.2.x branch, and a soon to be released 4.2.2 will have the fix.

 

Thanks,

Ken

 

From: Victor Eijkhout via discuss <discuss@mpich.org>
Reply-To: "discuss@mpich.org" <discuss@mpich.org>
Date: Friday, June 28, 2024 at 2:59 PM
To: "discuss@mpich.org" <discuss@mpich.org>
Cc: Victor Eijkhout <eijkhout@tacc.utexas.edu>
Subject: [mpich-discuss] Failure to compile with gcc/14

 

Gcc/14 installed on Mac OS 14.5 through brew, compiling the latest MPICH 4.2.1 release. src/hmem.c:216:45: error: passing argument 3 of 'ofi_iov_bytes_to_copy' from incompatible pointer type [-Wincompatible-pointer-types] 216 | &hmem_iov_offset,

ZjQcmQRYFpfptBannerStart

This Message Is From an External Sender

This message came from outside your organization.

 

ZjQcmQRYFpfptBannerEnd

Gcc/14 installed on Mac OS 14.5 through brew, compiling the latest MPICH 4.2.1 release.
 
src/hmem.c:216:45: error: passing argument 3 of 'ofi_iov_bytes_to_copy' from incompatible pointer type [-Wincompatible-pointer-types]
216 |                                             &hmem_iov_offset, &hmem_buf);
   |                                             ^~~~~~~~~~~~~~~~
   |                                             |
   |                                             uint64_t * {aka long long unsigned int *}
In file included from src/hmem.c:41:
./include/ofi_iov.h:87:47: note: expected 'size_t *' {aka 'long unsigned int *'} but argument is of type 'uint64_t *' {aka 'long long unsigned int *'}
87 |                         size_t *size, size_t *offset, char **copy_buf)
   |                                       ~~~~~~~~^~~~~~
src/hmem.c: In function 'ofi_copy_hmem_iov_buf':
src/hmem.c:252:45: error: passing argument 3 of 'ofi_iov_bytes_to_copy' from incompatible pointer type [-Wincompatible-pointer-types]
252 |                                             &hmem_iov_offset, &hmem_buf);
   |                                             ^~~~~~~~~~~~~~~~
   |                                             |
   |                                             uint64_t * {aka long long unsigned int *}
./include/ofi_iov.h:87:47: note: expected 'size_t *' {aka 'long unsigned int *'} but argument is of type 'uint64_t *' {aka 'long long unsigned int *'}
87 |                         size_t *size, size_t *offset, char **copy_buf)
   |                                       ~~~~~~~~^~~~~~
src/hmem.c: In function 'ofi_copy_mr_iov':
src/hmem.c:282:61: error: passing argument 3 of 'ofi_iov_bytes_to_copy' from incompatible pointer type [-Wincompatible-pointer-types]
282 |                 len = ofi_iov_bytes_to_copy(&iov[i], &size, &offset, &hmem_buf);
   |                                                             ^~~~~~~
   |                                                             |
   |                                                             uint64_t * {aka long long unsigned int *}
./include/ofi_iov.h:87:47: note: expected 'size_t *' {aka 'long unsigned int *'} but argument is of type 'uint64_t *' {aka 'long long unsigned int *'}
87 |                         size_t *size, size_t *offset, char **copy_buf)
   |                                       ~~~~~~~~^~~~~~
 

_______________________________________________
discuss mailing list     discuss@mpich.org
To manage subscription options or unsubscribe:
https://lists.mpich.org/mailman/listinfo/discuss