after new version of nvidia-cuda-toolkit triggered rebuild of openmpi, i get this error: ibtool: compile: x86_64-pc-linux-gnu-gcc -m32 -mfpmath=sse -DHAVE_CONFIG_H -I. -I/var/tmp/portage/sys-cluster/openmpi-4.1.6/work/openmpi-4.1.6/opal/mca/pmix/pmix3x/pmix/src -I../src/include -I../include -iquote/var/tmp/portage/sys-cluster/openmpi-4.1.6/work/openmpi-4.1.6-abi_x86_32.x86/opal/mca/pmix/pmix3x/pmix -iquote/var/tmp/portage/sys-cluster/openmpi-4.1.6/work/openmpi-4.1.6/opal/mca/pmix/pmix3x/pmix -iquote/var/tmp/portage/sys-cluster/openmpi-4.1.6/work/openmpi-4.1.6/opal/mca/pmix/pmix3x/pmix/src -iquote/var/tmp/portage/sys-cluster/openmpi-4.1.6/work/openmpi-4.1.6-abi_x86_32.x86/opal/mca/pmix/pmix3x/pmix/include -I/var/tmp/portage/sys-cluster/openmpi-4.1.6/work/openmpi-4.1.6/opal/mca/pmix/pmix3x/pmix/include -I/var/tmp/portage/sys-cluster/openmpi-4.1.6/work/openmpi-4.1.6 -I/var/tmp/portage/sys-cluster/openmpi-4.1.6/work/openmpi-4.1.6-abi_x86_32.x86 -I/var/tmp/portage/sys-cluster/openmpi-4.1.6/work/openmpi-4.1.6/opal/include -I/var/tmp/portage/sys-cluster/openmpi-4.1.6/work/openmpi-4.1.6-abi_x86_32.x86/opal/include -DNDEBUG -march=alderlake -mabm -mno-cldemote -mno-kl -mno-pconfig -mno-sgx -mno-widekl -mshstk --param=l1-cache-line-size=64 --param=l1-cache-size=48 --param=l2-cache-size=36864 -O2 -pipe -frecord-gcc-switches -finline-functions -fno-strict-aliasing -c /var/tmp/portage/sys-cluster/openmpi-4.1.6/work/openmpi-4.1.6/opal/mca/pmix/pmix3x/pmix/src/common/pmix_iof.c -fPIC -DPIC -o common/.libs/pmix_iof.o /bin/bash ../libtool --tag=CC --mode=compile x86_64-pc-linux-gnu-gcc -m32 -mfpmath=sse -DHAVE_CONFIG_H -I. -I/var/tmp/portage/sys-cluster/openmpi-4.1.6/work/openmpi-4.1.6/opal/mca/pmix/pmix3x/pmix/src -I../src/include -I../include -iquote/var/tmp/portage/sys-cluster/openmpi-4.1.6/work/openmpi-4.1.6-abi_x86_32.x86/opal/mca/pmix/pmix3x/pmix -iquote/var/tmp/portage/sys-cluster/openmpi-4.1.6/work/openmpi-4.1.6/opal/mca/pmix/pmix3x/pmix -iquote/var/tmp/portage/sys-cluster/openmpi-4.1.6/work/openmpi-4.1.6/opal/mca/pmix/pmix3x/pmix/src -iquote/var/tmp/portage/sys-cluster/openmpi-4.1.6/work/openmpi-4.1.6-abi_x86_32.x86/opal/mca/pmix/pmix3x/pmix/include -I/var/tmp/portage/sys-cluster/openmpi-4.1.6/work/openmpi-4.1.6/opal/mca/pmix/pmix3x/pmix/include -I/var/tmp/portage/sys-cluster/openmpi-4.1.6/work/openmpi-4.1.6 -I/var/tmp/portage/sys-cluster/openmpi-4.1.6/work/openmpi-4.1.6-abi_x86_32.x86 -I/var/tmp/portage/sys-cluster/openmpi-4.1.6/work/openmpi-4.1.6/opal/include -I/var/tmp/portage/sys-cluster/openmpi-4.1.6/work/openmpi-4.1.6-abi_x86_32.x86/opal/include -DNDEBUG -march=alderlake -mabm -mno-cldemote -mno-kl -mno-pconfig -mno-sgx -mno-widekl -mshstk --param=l1-cache-line-size=64 --param=l1-cache-size=48 --param=l2-cache-size=36864 -O2 -pipe -frecord-gcc-switches -finline-functions -fno-strict-aliasing -c -o hwloc/hwloc.lo /var/tmp/portage/sys-cluster/openmpi-4.1.6/work/openmpi-4.1.6/opal/mca/pmix/pmix3x/pmix/src/hwloc/hwloc.c libtool: compile: x86_64-pc-linux-gnu-gcc -m32 -mfpmath=sse -DHAVE_CONFIG_H -I. -I/var/tmp/portage/sys-cluster/openmpi-4.1.6/work/openmpi-4.1.6/opal/mca/pmix/pmix3x/pmix/src -I../src/include -I../include -iquote/var/tmp/portage/sys-cluster/openmpi-4.1.6/work/openmpi-4.1.6-abi_x86_32.x86/opal/mca/pmix/pmix3x/pmix -iquote/var/tmp/portage/sys-cluster/openmpi-4.1.6/work/openmpi-4.1.6/opal/mca/pmix/pmix3x/pmix -iquote/var/tmp/portage/sys-cluster/openmpi-4.1.6/work/openmpi-4.1.6/opal/mca/pmix/pmix3x/pmix/src -iquote/var/tmp/portage/sys-cluster/openmpi-4.1.6/work/openmpi-4.1.6-abi_x86_32.x86/opal/mca/pmix/pmix3x/pmix/include -I/var/tmp/portage/sys-cluster/openmpi-4.1.6/work/openmpi-4.1.6/opal/mca/pmix/pmix3x/pmix/include -I/var/tmp/portage/sys-cluster/openmpi-4.1.6/work/openmpi-4.1.6 -I/var/tmp/portage/sys-cluster/openmpi-4.1.6/work/openmpi-4.1.6-abi_x86_32.x86 -I/var/tmp/portage/sys-cluster/openmpi-4.1.6/work/openmpi-4.1.6/opal/include -I/var/tmp/portage/sys-cluster/openmpi-4.1.6/work/openmpi-4.1.6-abi_x86_32.x86/opal/include -DNDEBUG -march=alderlake -mabm -mno-cldemote -mno-kl -mno-pconfig -mno-sgx -mno-widekl -mshstk --param=l1-cache-line-size=64 --param=l1-cache-size=48 --param=l2-cache-size=36864 -O2 -pipe -frecord-gcc-switches -finline-functions -fno-strict-aliasing -c /var/tmp/portage/sys-cluster/openmpi-4.1.6/work/openmpi-4.1.6/opal/mca/pmix/pmix3x/pmix/src/hwloc/hwloc.c -fPIC -DPIC -o hwloc/.libs/hwloc.o /var/tmp/portage/sys-cluster/openmpi-4.1.6/work/openmpi-4.1.6/opal/mca/pmix/pmix3x/pmix/src/hwloc/hwloc.c: In function ‘find_hole’: /var/tmp/portage/sys-cluster/openmpi-4.1.6/work/openmpi-4.1.6/opal/mca/pmix/pmix3x/pmix/src/hwloc/hwloc.c:641:47: error: passing argument 3 of ‘use_hole’ from incompatible pointer type [-Wincompatible-pointer-types] 641 | return use_hole(0, begin, addrp, size); | ^~~~~ | | | size_t * {aka unsigned int *} /var/tmp/portage/sys-cluster/openmpi-4.1.6/work/openmpi-4.1.6/opal/mca/pmix/pmix3x/pmix/src/hwloc/hwloc.c:587:36: note: expected ‘long unsigned int *’ but argument is of type ‘size_t *’ {aka ‘unsigned int *’} 587 | unsigned long *addrp, | ~~~~~~~~~~~~~~~^~~~~ /var/tmp/portage/sys-cluster/openmpi-4.1.6/work/openmpi-4.1.6/opal/mca/pmix/pmix3x/pmix/src/hwloc/hwloc.c:649:65: error: passing argument 3 of ‘use_hole’ from incompatible pointer type [-Wincompatible-pointer-types] 649 | return use_hole(prevend, begin-prevend, addrp, size); | ^~~~~ | | | size_t * {aka unsigned int *} /var/tmp/portage/sys-cluster/openmpi-4.1.6/work/openmpi-4.1.6/opal/mca/pmix/pmix3x/pmix/src/hwloc/hwloc.c:587:36: note: expected ‘long unsigned int *’ but argument is of type ‘size_t *’ {aka ‘unsigned int *’} 587 | unsigned long *addrp, | ~~~~~~~~~~~~~~~^~~~~ /var/tmp/portage/sys-cluster/openmpi-4.1.6/work/openmpi-4.1.6/opal/mca/pmix/pmix3x/pmix/src/hwloc/hwloc.c:656:65: error: passing argument 3 of ‘use_hole’ from incompatible pointer type [-Wincompatible-pointer-types] 656 | return use_hole(prevend, begin-prevend, addrp, size); | ^~~~~ | | | size_t * {aka unsigned int *} /var/tmp/portage/sys-cluster/openmpi-4.1.6/work/openmpi-4.1.6/opal/mca/pmix/pmix3x/pmix/src/hwloc/hwloc.c:587:36: note: expected ‘long unsigned int *’ but argument is of type ‘size_t *’ {aka ‘unsigned int *’} 587 | unsigned long *addrp, | ~~~~~~~~~~~~~~~^~~~~ /var/tmp/portage/sys-cluster/openmpi-4.1.6/work/openmpi-4.1.6/opal/mca/pmix/pmix3x/pmix/src/hwloc/hwloc.c:708:52: error: passing argument 3 of ‘use_hole’ from incompatible pointer type [-Wincompatible-pointer-types] 708 | return use_hole(biggestbegin, biggestsize, addrp, size); | ^~~~~ | | | size_t * {aka unsigned int *} /var/tmp/portage/sys-cluster/openmpi-4.1.6/work/openmpi-4.1.6/opal/mca/pmix/pmix3x/pmix/src/hwloc/hwloc.c:587:36: note: expected ‘long unsigned int *’ but argument is of type ‘size_t *’ {aka ‘unsigned int *’} 587 | unsigned long *addrp, | ~~~~~~~~~~~~~~~^~~~~ /var/tmp/portage/sys-cluster/openmpi-4.1.6/work/openmpi-4.1.6/opal/mca/pmix/pmix3x/pmix/src/hwloc/hwloc.c: In function ‘pmix_hwloc_get_topology’: /var/tmp/portage/sys-cluster/openmpi-4.1.6/work/openmpi-4.1.6/opal/mca/pmix/pmix3x/pmix/src/hwloc/hwloc.c:397:9: warning: ignoring return value of ‘asprintf’ declared with attribute ‘warn_unused_result’ [-Wunused-result] 397 | asprintf(&shmemfile, "%s/hwloc.sm", pmix_server_globals.tmpdir); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ make[5]: *** [Makefile:1809: hwloc/hwloc.lo] Error 1 make[5]: Leaving directory '/var/tmp/portage/sys-cluster/openmpi-4.1.6/work/openmpi-4.1.6-abi_x86_32.x86/opal/mca/pmix/pmix3x/pmix/src' make[4]: *** [Makefile:1907: all-recursive] Error 1 make[4]: Leaving directory '/var/tmp/portage/sys-cluster/openmpi-4.1.6/work/openmpi-4.1.6-abi_x86_32.x86/opal/mca/pmix/pmix3x/pmix/src' make[3]: *** [Makefile:779: all-recursive] Error 1 make[3]: Leaving directory '/var/tmp/portage/sys-cluster/openmpi-4.1.6/work/openmpi-4.1.6-abi_x86_32.x86/opal/mca/pmix/pmix3x/pmix' make[2]: *** [Makefile:2083: all-recursive] Error 1 make[2]: Leaving directory '/var/tmp/portage/sys-cluster/openmpi-4.1.6/work/openmpi-4.1.6-abi_x86_32.x86/opal/mca/pmix/pmix3x' make[1]: *** [Makefile:2387: all-recursive] Error 1 make[1]: Leaving directory '/var/tmp/portage/sys-cluster/openmpi-4.1.6/work/openmpi-4.1.6-abi_x86_32.x86/opal' make: *** [Makefile:1905: all-recursive] Error 1 # emerge -pqv '=sys-cluster/openmpi-4.1.6::gentoo' [ebuild R ] sys-cluster/openmpi-4.1.6 USE="cuda cxx fortran ipv6 romio -cma -libompitrace -peruse -valgrind" ABI_X86="32 (64) (-x32)" OPENMPI_FABRICS="-knem -ofed" OPENMPI_OFED_FEATURES="-control-hdr-padding -dynamic-sl -rdmacm -udcm" OPENMPI_RM="-pbs (-slurm)"
The bug has been referenced in the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=974f671712dfe56dd3a83032cb9d2e7680bc9a5e commit 974f671712dfe56dd3a83032cb9d2e7680bc9a5e Author: Miroslav Šulc <fordfrog@gentoo.org> AuthorDate: 2024-07-04 09:59:47 +0000 Commit: Miroslav Šulc <fordfrog@gentoo.org> CommitDate: 2024-07-04 10:00:06 +0000 sys-cluster/openmpi: fixed incompatible pointers in 4.1.6 Bug: https://bugs.gentoo.org/935267 Signed-off-by: Miroslav Šulc <fordfrog@gentoo.org> .../openmpi-4.1.6-incompatible-pointers.patch | 181 +++++++++++++++++++++ sys-cluster/openmpi/openmpi-4.1.6.ebuild | 4 + 2 files changed, 185 insertions(+)