-
Notifications
You must be signed in to change notification settings - Fork 64
Open
Description
This is more than likely not anywhere close to a supported environment, but thought I'd submit the issue anyways.
Both GKLib and Metis compile without issue on 32-bit PPC, however, ParMETIS does not.
The 32-bit PPC system I'm working with is running MPICH for the MPI implementation as well.
Full error is the following:
[ 21%] Building C object libparmetis/CMakeFiles/parmetis.dir/gkmpi.c.o
cd /root/ParMETIS/build/Linux-ppc/libparmetis && /usr/bin/mpicc -I/root/ParMETIS/include -I"/root/ParMETIS/~/local/include" -I/root/local/include -I/root/ParMETIS/libparmetis/. -DLINUX -D_FILE_OFFSET_BITS=64 -std=c99 -fno-strict-aliasing -mtune=native -fPIC -Werror -Wall -pedantic -Wno-unused-function -Wno-unused-but-set-variable -Wno-unused-variable -Wno-unknown-pragmas -Wno-unused-label -DNDEBUG -DNDEBUG2 -DHAVE_EXECINFO_H -DHAVE_GETLINE -O3 -MD -MT libparmetis/CMakeFiles/parmetis.dir/gkmpi.c.o -MF CMakeFiles/parmetis.dir/gkmpi.c.o.d -o CMakeFiles/parmetis.dir/gkmpi.c.o -c /root/ParMETIS/libparmetis/gkmpi.c
/root/ParMETIS/libparmetis/gkmpi.c: In function ‘libparmetis__gkMPI_Alltoallv’:
/root/ParMETIS/libparmetis/gkmpi.c:230:47: error: passing argument 3 of ‘MPI_Alltoallv_c’ from incompatible pointer type [-Werror=incompatible-pointer-types]
230 | return MPI_Alltoallv_c(sendbuf, sendcounts, sdispls, sendtype,
| ^~~~~~~
| |
| idx_t * {aka long long int *}
In file included from /usr/lib/powerpc-linux-gnu/mpich/include/mpi.h:958,
from /root/ParMETIS/libparmetis/./parmetislib.h:19,
from /root/ParMETIS/libparmetis/gkmpi.c:15:
/usr/lib/powerpc-linux-gnu/mpich/include/mpi_proto.h:948:87: note: expected ‘const MPI_Aint *’ {aka ‘const int *’} but argument is of type ‘idx_t *’ {aka ‘long long int *’}
948 | int MPI_Alltoallv_c(const void *sendbuf, const MPI_Count sendcounts[], const MPI_Aint sdispls[],
| ~~~~~~~~~~~~~~~^~~~~~~~~
/root/ParMETIS/libparmetis/gkmpi.c:231:37: error: passing argument 7 of ‘MPI_Alltoallv_c’ from incompatible pointer type [-Werror=incompatible-pointer-types]
231 | recvbuf, recvcounts, rdispls, recvtype, comm);
| ^~~~~~~
| |
| idx_t * {aka long long int *}
/usr/lib/powerpc-linux-gnu/mpich/include/mpi_proto.h:950:36: note: expected ‘const MPI_Aint *’ {aka ‘const int *’} but argument is of type ‘idx_t *’ {aka ‘long long int *’}
950 | const MPI_Aint rdispls[], MPI_Datatype recvtype, MPI_Comm comm)
| ~~~~~~~~~~~~~~~^~~~~~~~~
/root/ParMETIS/libparmetis/gkmpi.c: In function ‘libparmetis__gkMPI_Allgatherv’:
/root/ParMETIS/libparmetis/gkmpi.c:282:28: error: passing argument 6 of ‘MPI_Allgatherv_c’ from incompatible pointer type [-Werror=incompatible-pointer-types]
282 | recvcounts, rdispls, recvtype, comm);
| ^~~~~~~
| |
| idx_t * {aka long long int *}
/usr/lib/powerpc-linux-gnu/mpich/include/mpi_proto.h:927:67: note: expected ‘const MPI_Aint *’ {aka ‘const int *’} but argument is of type ‘idx_t *’ {aka ‘long long int *’}
927 | const MPI_Count recvcounts[], const MPI_Aint displs[], MPI_Datatype recvtype,
| ~~~~~~~~~~~~~~~^~~~~~~~
/root/ParMETIS/libparmetis/gkmpi.c: In function ‘libparmetis__gkMPI_Scatterv’:
/root/ParMETIS/libparmetis/gkmpi.c:332:46: error: passing argument 3 of ‘MPI_Scatterv_c’ from incompatible pointer type [-Werror=incompatible-pointer-types]
332 | return MPI_Scatterv_c(sendbuf, sendcounts, sdispls, sendtype,
| ^~~~~~~
| |
| idx_t * {aka long long int *}
/usr/lib/powerpc-linux-gnu/mpich/include/mpi_proto.h:1155:86: note: expected ‘const MPI_Aint *’ {aka ‘const int *’} but argument is of type ‘idx_t *’ {aka ‘long long int *’}
1155 | int MPI_Scatterv_c(const void *sendbuf, const MPI_Count sendcounts[], const MPI_Aint displs[],
| ~~~~~~~~~~~~~~~^~~~~~~~
/root/ParMETIS/libparmetis/gkmpi.c: In function ‘libparmetis__gkMPI_Gatherv’:
/root/ParMETIS/libparmetis/gkmpi.c:385:28: error: passing argument 6 of ‘MPI_Gatherv_c’ from incompatible pointer type [-Werror=incompatible-pointer-types]
385 | recvcounts, rdispls, recvtype, root, comm);
| ^~~~~~~
| |
| idx_t * {aka long long int *}
/usr/lib/powerpc-linux-gnu/mpich/include/mpi_proto.h:985:64: note: expected ‘const MPI_Aint *’ {aka ‘const int *’} but argument is of type ‘idx_t *’ {aka ‘long long int *’}
985 | const MPI_Count recvcounts[], const MPI_Aint displs[], MPI_Datatype recvtype,
| ~~~~~~~~~~~~~~~^~~~~~~~
cc1: all warnings being treated as errors
make[3]: *** [libparmetis/CMakeFiles/parmetis.dir/build.make:233: libparmetis/CMakeFiles/parmetis.dir/gkmpi.c.o] Error 1
make[3]: Leaving directory '/root/ParMETIS/build/Linux-ppc'
make[2]: *** [CMakeFiles/Makefile2:145: libparmetis/CMakeFiles/parmetis.dir/all] Error 2
make[2]: Leaving directory '/root/ParMETIS/build/Linux-ppc'
make[1]: *** [Makefile:139: all] Error 2
make[1]: Leaving directory '/root/ParMETIS/build/Linux-ppc'
make: *** [Makefile:62: all] Error 2
Looks like the error happens when it tries to build gkmpi.c
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels