From: "Miroslav Šulc" <fordfrog@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/gentoo:master commit in: sys-cluster/openmpi/, sys-cluster/openmpi/files/
Date: Thu, 4 Jul 2024 10:00:10 +0000 (UTC) [thread overview]
Message-ID: <1720087206.974f671712dfe56dd3a83032cb9d2e7680bc9a5e.fordfrog@gentoo> (raw)
commit: 974f671712dfe56dd3a83032cb9d2e7680bc9a5e
Author: Miroslav Šulc <fordfrog <AT> gentoo <DOT> org>
AuthorDate: Thu Jul 4 09:59:47 2024 +0000
Commit: Miroslav Šulc <fordfrog <AT> gentoo <DOT> org>
CommitDate: Thu Jul 4 10:00:06 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=974f6717
sys-cluster/openmpi: fixed incompatible pointers in 4.1.6
Bug: https://bugs.gentoo.org/935267
Signed-off-by: Miroslav Šulc <fordfrog <AT> gentoo.org>
.../openmpi-4.1.6-incompatible-pointers.patch | 181 +++++++++++++++++++++
sys-cluster/openmpi/openmpi-4.1.6.ebuild | 4 +
2 files changed, 185 insertions(+)
diff --git a/sys-cluster/openmpi/files/openmpi-4.1.6-incompatible-pointers.patch b/sys-cluster/openmpi/files/openmpi-4.1.6-incompatible-pointers.patch
new file mode 100644
index 000000000000..9f9ae4008ad6
--- /dev/null
+++ b/sys-cluster/openmpi/files/openmpi-4.1.6-incompatible-pointers.patch
@@ -0,0 +1,181 @@
+--- a/ompi/mca/io/romio321/romio/adio/common/ad_coll_exch_new.c
++++ b/ompi/mca/io/romio321/romio/adio/common/ad_coll_exch_new.c
+@@ -154,7 +154,7 @@ void ADIOI_Exch_file_views(int myrank, int nprocs, int file_ptr_type,
+ }
+
+ MPI_Type_get_extent(fd->filetype, &lb, &filetype_extent);
+- MPI_Type_size_x(fd->filetype, &filetype_sz);
++ MPI_Type_size_x(fd->filetype, (MPI_Count *)&filetype_sz);
+ if (filetype_extent == filetype_sz) {
+ flat_file_p = ADIOI_Add_contig_flattened(fd->filetype);
+ flat_file_p->blocklens[0] = memtype_sz*count;
+--- a/ompi/mca/io/romio321/romio/adio/common/ad_read_coll.c
++++ b/ompi/mca/io/romio321/romio/adio/common/ad_read_coll.c
+@@ -851,7 +851,7 @@ static void ADIOI_R_Exchange_data(ADIO_File fd, void *buf, ADIOI_Flatlist_node
+ others_req[i].lens[k] = partial_send[i];
+ }
+ ADIOI_Type_create_hindexed_x(count[i],
+- &(others_req[i].lens[start_pos[i]]),
++ (const MPI_Count *)&(others_req[i].lens[start_pos[i]]),
+ &(others_req[i].mem_ptrs[start_pos[i]]),
+ MPI_BYTE, &send_type);
+ /* absolute displacement; use MPI_BOTTOM in send */
+--- a/ompi/mca/io/romio321/romio/adio/common/ad_write_coll.c
++++ b/ompi/mca/io/romio321/romio/adio/common/ad_write_coll.c
+@@ -610,7 +610,7 @@ static void ADIOI_W_Exchange_data(ADIO_File fd, void *buf, char *write_buf,
+ others_req[i].lens[k] = partial_recv[i];
+ }
+ ADIOI_Type_create_hindexed_x(count[i],
+- &(others_req[i].lens[start_pos[i]]),
++ (const MPI_Count *)&(others_req[i].lens[start_pos[i]]),
+ &(others_req[i].mem_ptrs[start_pos[i]]),
+ MPI_BYTE, recv_types+j);
+ /* absolute displacements; use MPI_BOTTOM in recv */
+--- a/ompi/mca/io/romio321/romio/mpi-io/get_bytoff.c
++++ b/ompi/mca/io/romio321/romio/mpi-io/get_bytoff.c
+@@ -63,7 +63,7 @@ int MPI_File_get_byte_offset(MPI_File fh, MPI_Offset offset, MPI_Offset *disp)
+ MPIO_CHECK_NOT_SEQUENTIAL_MODE(adio_fh, myname, error_code);
+ /* --END ERROR HANDLING-- */
+
+- ADIOI_Get_byte_offset(adio_fh, offset, disp);
++ ADIOI_Get_byte_offset(adio_fh, (ADIO_Offset)offset, (ADIO_Offset *)disp);
+
+ fn_exit:
+
+--- a/ompi/mca/io/romio321/romio/mpi-io/get_posn.c
++++ b/ompi/mca/io/romio321/romio/mpi-io/get_posn.c
+@@ -52,7 +52,7 @@ int MPI_File_get_position(MPI_File fh, MPI_Offset *offset)
+ MPIO_CHECK_NOT_SEQUENTIAL_MODE(adio_fh, myname, error_code);
+ /* --END ERROR HANDLING-- */
+
+- ADIOI_Get_position(adio_fh, offset);
++ ADIOI_Get_position(adio_fh, (ADIO_Offset *)offset);
+
+ fn_exit:
+ return MPI_SUCCESS;
+--- a/ompi/mca/io/romio321/romio/mpi-io/get_posn_sh.c
++++ b/ompi/mca/io/romio321/romio/mpi-io/get_posn_sh.c
+@@ -53,7 +53,8 @@ int MPI_File_get_position_shared(MPI_File fh, MPI_Offset *offset)
+
+ ADIOI_TEST_DEFERRED(adio_fh, myname, &error_code);
+
+- ADIO_Get_shared_fp(adio_fh, 0, offset, &error_code);
++
++ ADIO_Get_shared_fp(adio_fh, 0, (ADIO_Offset *)offset, &error_code);
+ /* --BEGIN ERROR HANDLING-- */
+ if (error_code != MPI_SUCCESS)
+ error_code = MPIO_Err_return_file(adio_fh, error_code);
+--- a/ompi/mca/io/romio321/romio/mpi-io/seek.c
++++ b/ompi/mca/io/romio321/romio/mpi-io/seek.c
+@@ -73,7 +73,7 @@ int MPI_File_seek(MPI_File fh, MPI_Offset offset, int whence)
+ break;
+ case MPI_SEEK_CUR:
+ /* find offset corr. to current location of file pointer */
+- ADIOI_Get_position(adio_fh, &curr_offset);
++ ADIOI_Get_position(adio_fh, (ADIO_Offset *)&curr_offset);
+ offset += curr_offset;
+
+ /* --BEGIN ERROR HANDLING-- */
+@@ -94,7 +94,7 @@ int MPI_File_seek(MPI_File fh, MPI_Offset offset, int whence)
+ ADIOI_TEST_DEFERRED(adio_fh, "MPI_File_seek", &error_code);
+
+ /* find offset corr. to end of file */
+- ADIOI_Get_eof_offset(adio_fh, &eof_offset);
++ ADIOI_Get_eof_offset(adio_fh, (ADIO_Offset *)&eof_offset);
+ offset += eof_offset;
+
+ /* --BEGIN ERROR HANDLING-- */
+--- a/ompi/mca/io/romio321/romio/mpi-io/seek_sh.c
++++ b/ompi/mca/io/romio321/romio/mpi-io/seek_sh.c
+@@ -101,7 +101,7 @@ int MPI_File_seek_shared(MPI_File fh, MPI_Offset offset, int whence)
+ break;
+ case MPI_SEEK_CUR:
+ /* get current location of shared file pointer */
+- ADIO_Get_shared_fp(adio_fh, 0, &curr_offset, &error_code);
++ ADIO_Get_shared_fp(adio_fh, 0, (ADIO_Offset *)&curr_offset, &error_code);
+ /* --BEGIN ERROR HANDLING-- */
+ if (error_code != MPI_SUCCESS)
+ {
+@@ -130,7 +130,7 @@ int MPI_File_seek_shared(MPI_File fh, MPI_Offset offset, int whence)
+ break;
+ case MPI_SEEK_END:
+ /* find offset corr. to end of file */
+- ADIOI_Get_eof_offset(adio_fh, &eof_offset);
++ ADIOI_Get_eof_offset(adio_fh, (ADIO_Offset *)&eof_offset);
+ offset += eof_offset;
+ /* --BEGIN ERROR HANDLING-- */
+ if (offset < 0)
+--- a/opal/mca/pmix/pmix3x/pmix/src/hwloc/hwloc.c
++++ b/opal/mca/pmix/pmix3x/pmix/src/hwloc/hwloc.c
+@@ -638,7 +638,7 @@ static int find_hole(pmix_hwloc_vm_hole_kind_t hkind,
+ switch (hkind) {
+ case VM_HOLE_BEGIN:
+ fclose(file);
+- return use_hole(0, begin, addrp, size);
++ return use_hole(0, begin, (unsigned long *)addrp, size);
+
+ case VM_HOLE_AFTER_HEAP:
+ if (prevmkind == VM_MAP_HEAP && mkind != VM_MAP_HEAP) {
+@@ -646,14 +646,14 @@ static int find_hole(pmix_hwloc_vm_hole_kind_t hkind,
+ * (there can be several of them consecutively).
+ */
+ fclose(file);
+- return use_hole(prevend, begin-prevend, addrp, size);
++ return use_hole(prevend, begin-prevend, (unsigned long *)addrp, size);
+ }
+ break;
+
+ case VM_HOLE_BEFORE_STACK:
+ if (mkind == VM_MAP_STACK) {
+ fclose(file);
+- return use_hole(prevend, begin-prevend, addrp, size);
++ return use_hole(prevend, begin-prevend, (unsigned long *)addrp, size);
+ }
+ break;
+
+@@ -705,7 +705,7 @@ static int find_hole(pmix_hwloc_vm_hole_kind_t hkind,
+ done:
+ fclose(file);
+ if (hkind == VM_HOLE_IN_LIBS || hkind == VM_HOLE_BIGGEST) {
+- return use_hole(biggestbegin, biggestsize, addrp, size);
++ return use_hole(biggestbegin, biggestsize, (unsigned long *)addrp, size);
+ }
+
+ return PMIX_ERROR;
+--- a/orte/mca/rtc/hwloc/rtc_hwloc.c
++++ b/orte/mca/rtc/hwloc/rtc_hwloc.c
+@@ -608,7 +608,7 @@ static int find_hole(orte_rtc_hwloc_vm_hole_kind_t hkind,
+ switch (hkind) {
+ case VM_HOLE_BEGIN:
+ fclose(file);
+- return use_hole(0, begin, addrp, size);
++ return use_hole(0, begin, (unsigned long *)addrp, size);
+
+ case VM_HOLE_AFTER_HEAP:
+ if (prevmkind == VM_MAP_HEAP && mkind != VM_MAP_HEAP) {
+@@ -616,14 +616,14 @@ static int find_hole(orte_rtc_hwloc_vm_hole_kind_t hkind,
+ * (there can be several of them consecutively).
+ */
+ fclose(file);
+- return use_hole(prevend, begin-prevend, addrp, size);
++ return use_hole(prevend, begin-prevend, (unsigned long *)addrp, size);
+ }
+ break;
+
+ case VM_HOLE_BEFORE_STACK:
+ if (mkind == VM_MAP_STACK) {
+ fclose(file);
+- return use_hole(prevend, begin-prevend, addrp, size);
++ return use_hole(prevend, begin-prevend, (unsigned long *)addrp, size);
+ }
+ break;
+
+@@ -678,7 +678,7 @@ static int find_hole(orte_rtc_hwloc_vm_hole_kind_t hkind,
+ done:
+ fclose(file);
+ if (hkind == VM_HOLE_IN_LIBS || hkind == VM_HOLE_BIGGEST) {
+- return use_hole(biggestbegin, biggestsize, addrp, size);
++ return use_hole(biggestbegin, biggestsize, (unsigned long *)addrp, size);
+ }
+
+ return ORTE_ERROR;
diff --git a/sys-cluster/openmpi/openmpi-4.1.6.ebuild b/sys-cluster/openmpi/openmpi-4.1.6.ebuild
index cd171b1263f5..ce638f5a87a7 100644
--- a/sys-cluster/openmpi/openmpi-4.1.6.ebuild
+++ b/sys-cluster/openmpi/openmpi-4.1.6.ebuild
@@ -64,6 +64,10 @@ MULTILIB_WRAPPED_HEADERS=(
/usr/include/openmpi/mpiext/mpiext_cuda_c.h
)
+PATCHES=(
+ "${FILESDIR}/${PN}-4.1.6-incompatible-pointers.patch"
+)
+
pkg_setup() {
fortran-2_pkg_setup
next reply other threads:[~2024-07-04 10:00 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-07-04 10:00 Miroslav Šulc [this message]
-- strict thread matches above, loose matches on Subject: below --
2022-01-29 10:27 [gentoo-commits] repo/gentoo:master commit in: sys-cluster/openmpi/, sys-cluster/openmpi/files/ David Seifert
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1720087206.974f671712dfe56dd3a83032cb9d2e7680bc9a5e.fordfrog@gentoo \
--to=fordfrog@gentoo.org \
--cc=gentoo-commits@lists.gentoo.org \
--cc=gentoo-dev@lists.gentoo.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox