We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Hi All,
I'm trying to compile ScaLAPACK 2.2.0 against GNU 11.2.0 and am seeing the following types of errors
490 | $ CALL IGAMX2D( ICTXT, 'All', TOP, 1, 1, MMAX, 1, -1, | 2 ...... 3264 | CALL IGAMX2D( ICTXT, 'All', TOP, 1, 1, INFO, 1, -1, | 1 Error: Rank mismatch between actual argument at (1) and actual argument at (2) (rank-1 and scalar) make[2]: *** [CMakeFiles/scalapack.dir/build.make:12815: CMakeFiles/scalapack.dir/SRC/pstrord.f.o] Error 1 make[1]: *** [CMakeFiles/Makefile2:1237: CMakeFiles/scalapack.dir/all] Error 2 make: *** [Makefile:169: all] Error 2
I believe this can be solved from GNU 10+ by using the following compiler flag '-fallow-argument-mismatch'.
I have made a changed to SLmake.inc to include this flag (see below).....
$ diff SLmake.inc SLmake.inc.example SLmake.inc: FCFLAGS = -O3 -fallow-argument-mismatch SLmake.inc.example: FCFLAGS = -O3
..... which seems to get ignored when running make following the cmake command. How do I set this flag correctly?
~> cmake ../CMakeLists.txt -DBUILD_SHARED_LIBS=ON -DCMAKE_INSTALL_PREFIX=/my/install/dir -DCMAKE_VERBOSE_MAKEFILE=ON ~> make -j16 > make.out 2> make.err
I can get slightly further in the make process if I change the following line in the file CMakeCache.txt
CMAKE_Fortran_FLAGS:STRING=. ---> CMAKE_Fortran_FLAGS:STRING=-fallow-argument-mismatch
but then hit the following issues when running make again.
../../lib/libscalapack.so: undefined reference to MPI_Error_class' make[2]: *** [TESTING/LIN/CMakeFiles/xsgblu.dir/build.make:192: TESTING/xsgblu] Error 1 make[1]: *** [CMakeFiles/Makefile2:1575: TESTING/LIN/CMakeFiles/xsgblu.dir/all] Error 2 ../../lib/libscalapack.so: undefined reference to MPI_Error_class' ../../lib/libscalapack.so: undefined reference to MPI_Error_class' make[2]: *** [TESTING/LIN/CMakeFiles/xddtlu.dir/build.make:192: TESTING/xddtlu] Error 1 make[1]: *** [CMakeFiles/Makefile2:1497: TESTING/LIN/CMakeFiles/xddtlu.dir/all] Error 2 make[2]: *** [TESTING/LIN/CMakeFiles/xdlu.dir/build.make:192: TESTING/xdlu] Error 1 make[1]: *** [CMakeFiles/Makefile2:1289: TESTING/LIN/CMakeFiles/xdlu.dir/all] Error 2 ../../lib/libscalapack.so: undefined reference to MPI_Error_class' ../../lib/libscalapack.so: undefined reference to MPI_Error_class' ../../lib/libscalapack.so../../lib/libscalapack.so: undefined reference to : undefined reference to MPI_Comm_sizeMPI_Error_class' ../../lib/libscalapack.so: undefined reference to MPI_Error_class' make[2]: *** [TESTING/LIN/CMakeFiles/xzdblu.dir/build.make:192: TESTING/xzdblu] Error 1 make[1]: *** [CMakeFiles/Makefile2:1445: TESTING/LIN/CMakeFiles/xzdblu.dir/all] Error 2 make[2]: *** [TESTING/LIN/CMakeFiles/xcdtlu.dir/build.make:192: TESTING/xcdtlu] Error 1 make[1]: *** [CMakeFiles/Makefile2:1523: TESTING/LIN/CMakeFiles/xcdtlu.dir/all] Error 2 ../../lib/libscalapack.so: undefined reference to make[2]: *** [TESTING/LIN/CMakeFiles/xclu.dir/build.make:192: TESTING/xclu] Error 1 ../../lib/libscalapack.so: undefined reference to MPI_Error_class' make[1]: *** [CMakeFiles/Makefile2:1315: TESTING/LIN/CMakeFiles/xclu.dir/all] Error 2 make[2]: *** [TESTING/LIN/CMakeFiles/xsdtlu.dir/build.make:192: TESTING/xsdtlu] Error 1 make[1]: *** [CMakeFiles/Makefile2:1471: TESTING/LIN/CMakeFiles/xsdtlu.dir/all] Error 2 ../../lib/libscalapack.so: undefined reference to MPI_Error_class' ../../lib/libscalapack.so: undefined reference to MPI_Error_class' ../../lib/libscalapack.so: undefined reference to make[2]: *** [TESTING/LIN/CMakeFiles/xzdtlu.dir/build.make:192: TESTING/xzdtlu] Error 1 make[1]: *** [CMakeFiles/Makefile2:1549: TESTING/LIN/CMakeFiles/xzdtlu.dir/all] Error 2 ../../lib/libscalapack.so: undefined reference to MPI_Error_class' make[2]: *** [TESTING/LIN/CMakeFiles/xzgblu.dir/build.make:192: TESTING/xzgblu] Error 1 ../../lib/libscalapack.so: undefined reference to MPI_Error_class' make[1]: *** [CMakeFiles/Makefile2:1653: TESTING/LIN/CMakeFiles/xzgblu.dir/all] Error 2 make[2]: *** [TESTING/LIN/CMakeFiles/xzlu.dir/build.make:192: TESTING/xzlu] Error 1 make[1]: *** [CMakeFiles/Makefile2:1341: TESTING/LIN/CMakeFiles/xzlu.dir/all] Error 2 ../../lib/libscalapack.so: undefined reference to MPI_Error_class' make[2]: *** [TESTING/LIN/CMakeFiles/xcdblu.dir/build.make:192: TESTING/xcdblu] Error 1 make[1]: *** [CMakeFiles/Makefile2:1419: TESTING/LIN/CMakeFiles/xcdblu.dir/all] Error 2 make[2]: *** [TESTING/LIN/CMakeFiles/xsdblu.dir/build.make:192: TESTING/xsdblu] Error 1 make[1]: *** [CMakeFiles/Makefile2:1367: TESTING/LIN/CMakeFiles/xsdblu.dir/all] Error 2 ../../lib/libscalapack.so: undefined reference to MPI_Error_class' make[2]: *** [TESTING/LIN/CMakeFiles/xdgblu.dir/build.make:192: TESTING/xdgblu] Error 1 make[1]: *** [CMakeFiles/Makefile2:1601: TESTING/LIN/CMakeFiles/xdgblu.dir/all] Error 2 make[2]: *** [TESTING/LIN/CMakeFiles/xddblu.dir/build.make:192: TESTING/xddblu] Error 1 make[1]: *** [CMakeFiles/Makefile2:1393: TESTING/LIN/CMakeFiles/xddblu.dir/all] Error 2 ../../lib/libscalapack.so: undefined reference to MPI_Error_class' ../../lib/libscalapack.so: undefined reference to `MPI_Error_class' make[2]: *** [TESTING/LIN/CMakeFiles/xslu.dir/build.make:192: TESTING/xslu] Error 1 make[1]: *** [CMakeFiles/Makefile2:1263: TESTING/LIN/CMakeFiles/xslu.dir/all] Error 2 make[2]: *** [TESTING/LIN/CMakeFiles/xcgblu.dir/build.make:192: TESTING/xcgblu] Error 1 make[1]: *** [CMakeFiles/Makefile2:1627: TESTING/LIN/CMakeFiles/xcgblu.dir/all] Error 2 make: *** [Makefile:169: all] Error 2
MPI_Error_class' make[2]: *** [TESTING/LIN/CMakeFiles/xsgblu.dir/build.make:192: TESTING/xsgblu] Error 1 make[1]: *** [CMakeFiles/Makefile2:1575: TESTING/LIN/CMakeFiles/xsgblu.dir/all] Error 2 ../../lib/libscalapack.so: undefined reference to
MPI_Error_class' make[2]: *** [TESTING/LIN/CMakeFiles/xddtlu.dir/build.make:192: TESTING/xddtlu] Error 1 make[1]: *** [CMakeFiles/Makefile2:1497: TESTING/LIN/CMakeFiles/xddtlu.dir/all] Error 2 make[2]: *** [TESTING/LIN/CMakeFiles/xdlu.dir/build.make:192: TESTING/xdlu] Error 1 make[1]: *** [CMakeFiles/Makefile2:1289: TESTING/LIN/CMakeFiles/xdlu.dir/all] Error 2 ../../lib/libscalapack.so: undefined reference to
MPI_Error_class' ../../lib/libscalapack.so../../lib/libscalapack.so: undefined reference to
MPI_Comm_sizeMPI_Error_class' ../../lib/libscalapack.so: undefined reference to
make[2]: *** [TESTING/LIN/CMakeFiles/xclu.dir/build.make:192: TESTING/xclu] Error 1 ../../lib/libscalapack.so: undefined reference to
MPI_Error_class' ../../lib/libscalapack.so: undefined reference to
make[2]: *** [TESTING/LIN/CMakeFiles/xzdtlu.dir/build.make:192: TESTING/xzdtlu] Error 1 make[1]: *** [CMakeFiles/Makefile2:1549: TESTING/LIN/CMakeFiles/xzdtlu.dir/all] Error 2 ../../lib/libscalapack.so: undefined reference to
MPI_Error_class' make[1]: *** [CMakeFiles/Makefile2:1653: TESTING/LIN/CMakeFiles/xzgblu.dir/all] Error 2 make[2]: *** [TESTING/LIN/CMakeFiles/xzlu.dir/build.make:192: TESTING/xzlu] Error 1 make[1]: *** [CMakeFiles/Makefile2:1341: TESTING/LIN/CMakeFiles/xzlu.dir/all] Error 2 ../../lib/libscalapack.so: undefined reference to
MPI_Error_class' make[2]: *** [TESTING/LIN/CMakeFiles/xdgblu.dir/build.make:192: TESTING/xdgblu] Error 1 make[1]: *** [CMakeFiles/Makefile2:1601: TESTING/LIN/CMakeFiles/xdgblu.dir/all] Error 2 make[2]: *** [TESTING/LIN/CMakeFiles/xddblu.dir/build.make:192: TESTING/xddblu] Error 1 make[1]: *** [CMakeFiles/Makefile2:1393: TESTING/LIN/CMakeFiles/xddblu.dir/all] Error 2 ../../lib/libscalapack.so: undefined reference to
Finally, I notice that the version string in the file CMakeLists.txt for the 2.2.0 download is set to 2.1.0. Can this be corrected?
set(SCALAPACK_VERSION 2.1.0) set(CPACK_PACKAGE_VERSION_MAJOR 2) set(CPACK_PACKAGE_VERSION_MINOR 1) set(CPACK_PACKAGE_VERSION_PATCH 0)
Many thanks, Fab
The text was updated successfully, but these errors were encountered:
pstrord.f:525:51:
490 | $ CALL IGAMX2D( ICTXT, 'All', TOP, 1, 1, MMAX, 1, -1, | 2 ...... 525 | CALL IGAMX2D( ICTXT, 'All', TOP, 1, 1, INFO, 1, -1, -1, | 1 Error: Rank mismatch between actual argument at (1) and actual argument at (2) (rank-1 and scalar) pstrord.f:1582:51:
490 | $ CALL IGAMX2D( ICTXT, 'All', TOP, 1, 1, MMAX, 1, -1, | 2 ...... 1582 | CALL IGAMX2D( ICTXT, 'All', TOP, 1, 1, IERR, 1, -1, | 1 Error: Rank mismatch between actual argument at (1) and actual argument at (2) (rank-1 and scalar) pstrord.f:1593:54:
490 | $ CALL IGAMX2D( ICTXT, 'All', TOP, 1, 1, MMAX, 1, -1, | 2 ...... 1593 | CALL IGAMX2D( ICTXT, 'All', TOP, 1, 1, INFO, 1, -1, | 1 Error: Rank mismatch between actual argument at (1) and actual argument at (2) (rank-1 and scalar) pstrord.f:3253:51:
490 | $ CALL IGAMX2D( ICTXT, 'All', TOP, 1, 1, MMAX, 1, -1, | 2 ...... 3253 | CALL IGAMX2D( ICTXT, 'All', TOP, 1, 1, IERR, 1, -1, | 1 Error: Rank mismatch between actual argument at (1) and actual argument at (2) (rank-1 and scalar) pstrord.f:3264:54:
490 | $ CALL IGAMX2D( ICTXT, 'All', TOP, 1, 1, MMAX, 1, -1, | 2 ...... 3264 | CALL IGAMX2D( ICTXT, 'All', TOP, 1, 1, INFO, 1, -1, | 1 Error: Rank mismatch between actual argument at (1) and actual argument at (2) (rank-1 and scalar) yes. i meet it too.....
Sorry, something went wrong.
Duplicate of Reference-ScaLAPACK/scalapack#73.
I'm closing this here because the issue concerns Scalapack and not LAPACK. If there are more questions, please ask in the referenced Scalapack issue.
No branches or pull requests
Hi All,
I'm trying to compile ScaLAPACK 2.2.0 against GNU 11.2.0 and am seeing the following types of errors
490 | $ CALL IGAMX2D( ICTXT, 'All', TOP, 1, 1, MMAX, 1, -1,
| 2
......
3264 | CALL IGAMX2D( ICTXT, 'All', TOP, 1, 1, INFO, 1, -1,
| 1
Error: Rank mismatch between actual argument at (1) and actual argument at (2) (rank-1 and scalar)
make[2]: *** [CMakeFiles/scalapack.dir/build.make:12815: CMakeFiles/scalapack.dir/SRC/pstrord.f.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:1237: CMakeFiles/scalapack.dir/all] Error 2
make: *** [Makefile:169: all] Error 2
I believe this can be solved from GNU 10+ by using the following compiler flag '-fallow-argument-mismatch'.
I have made a changed to SLmake.inc to include this flag (see below).....
..... which seems to get ignored when running make following the cmake command. How do I set this flag correctly?
~> cmake ../CMakeLists.txt -DBUILD_SHARED_LIBS=ON -DCMAKE_INSTALL_PREFIX=/my/install/dir -DCMAKE_VERBOSE_MAKEFILE=ON
~> make -j16 > make.out 2> make.err
I can get slightly further in the make process if I change the following line in the file CMakeCache.txt
CMAKE_Fortran_FLAGS:STRING=. ---> CMAKE_Fortran_FLAGS:STRING=-fallow-argument-mismatch
but then hit the following issues when running make again.
../../lib/libscalapack.so: undefined reference to
MPI_Error_class' make[2]: *** [TESTING/LIN/CMakeFiles/xsgblu.dir/build.make:192: TESTING/xsgblu] Error 1 make[1]: *** [CMakeFiles/Makefile2:1575: TESTING/LIN/CMakeFiles/xsgblu.dir/all] Error 2 ../../lib/libscalapack.so: undefined reference to
MPI_Error_class'../../lib/libscalapack.so: undefined reference to
MPI_Error_class' make[2]: *** [TESTING/LIN/CMakeFiles/xddtlu.dir/build.make:192: TESTING/xddtlu] Error 1 make[1]: *** [CMakeFiles/Makefile2:1497: TESTING/LIN/CMakeFiles/xddtlu.dir/all] Error 2 make[2]: *** [TESTING/LIN/CMakeFiles/xdlu.dir/build.make:192: TESTING/xdlu] Error 1 make[1]: *** [CMakeFiles/Makefile2:1289: TESTING/LIN/CMakeFiles/xdlu.dir/all] Error 2 ../../lib/libscalapack.so: undefined reference to
MPI_Error_class'../../lib/libscalapack.so: undefined reference to
MPI_Error_class' ../../lib/libscalapack.so../../lib/libscalapack.so: undefined reference to
: undefined reference toMPI_Comm_sizeMPI_Error_class' ../../lib/libscalapack.so: undefined reference to
MPI_Error_class'make[2]: *** [TESTING/LIN/CMakeFiles/xzdblu.dir/build.make:192: TESTING/xzdblu] Error 1
make[1]: *** [CMakeFiles/Makefile2:1445: TESTING/LIN/CMakeFiles/xzdblu.dir/all] Error 2
make[2]: *** [TESTING/LIN/CMakeFiles/xcdtlu.dir/build.make:192: TESTING/xcdtlu] Error 1
make[1]: *** [CMakeFiles/Makefile2:1523: TESTING/LIN/CMakeFiles/xcdtlu.dir/all] Error 2
../../lib/libscalapack.so: undefined reference to
make[2]: *** [TESTING/LIN/CMakeFiles/xclu.dir/build.make:192: TESTING/xclu] Error 1 ../../lib/libscalapack.so: undefined reference to
MPI_Error_class'make[1]: *** [CMakeFiles/Makefile2:1315: TESTING/LIN/CMakeFiles/xclu.dir/all] Error 2
make[2]: *** [TESTING/LIN/CMakeFiles/xsdtlu.dir/build.make:192: TESTING/xsdtlu] Error 1
make[1]: *** [CMakeFiles/Makefile2:1471: TESTING/LIN/CMakeFiles/xsdtlu.dir/all] Error 2
../../lib/libscalapack.so: undefined reference to
MPI_Error_class' ../../lib/libscalapack.so: undefined reference to
MPI_Error_class'../../lib/libscalapack.so: undefined reference to
make[2]: *** [TESTING/LIN/CMakeFiles/xzdtlu.dir/build.make:192: TESTING/xzdtlu] Error 1 make[1]: *** [CMakeFiles/Makefile2:1549: TESTING/LIN/CMakeFiles/xzdtlu.dir/all] Error 2 ../../lib/libscalapack.so: undefined reference to
MPI_Error_class'make[2]: *** [TESTING/LIN/CMakeFiles/xzgblu.dir/build.make:192: TESTING/xzgblu] Error 1
../../lib/libscalapack.so: undefined reference to
MPI_Error_class' make[1]: *** [CMakeFiles/Makefile2:1653: TESTING/LIN/CMakeFiles/xzgblu.dir/all] Error 2 make[2]: *** [TESTING/LIN/CMakeFiles/xzlu.dir/build.make:192: TESTING/xzlu] Error 1 make[1]: *** [CMakeFiles/Makefile2:1341: TESTING/LIN/CMakeFiles/xzlu.dir/all] Error 2 ../../lib/libscalapack.so: undefined reference to
MPI_Error_class'make[2]: *** [TESTING/LIN/CMakeFiles/xcdblu.dir/build.make:192: TESTING/xcdblu] Error 1
make[1]: *** [CMakeFiles/Makefile2:1419: TESTING/LIN/CMakeFiles/xcdblu.dir/all] Error 2
make[2]: *** [TESTING/LIN/CMakeFiles/xsdblu.dir/build.make:192: TESTING/xsdblu] Error 1
make[1]: *** [CMakeFiles/Makefile2:1367: TESTING/LIN/CMakeFiles/xsdblu.dir/all] Error 2
../../lib/libscalapack.so: undefined reference to
MPI_Error_class' make[2]: *** [TESTING/LIN/CMakeFiles/xdgblu.dir/build.make:192: TESTING/xdgblu] Error 1 make[1]: *** [CMakeFiles/Makefile2:1601: TESTING/LIN/CMakeFiles/xdgblu.dir/all] Error 2 make[2]: *** [TESTING/LIN/CMakeFiles/xddblu.dir/build.make:192: TESTING/xddblu] Error 1 make[1]: *** [CMakeFiles/Makefile2:1393: TESTING/LIN/CMakeFiles/xddblu.dir/all] Error 2 ../../lib/libscalapack.so: undefined reference to
MPI_Error_class'../../lib/libscalapack.so: undefined reference to `MPI_Error_class'
make[2]: *** [TESTING/LIN/CMakeFiles/xslu.dir/build.make:192: TESTING/xslu] Error 1
make[1]: *** [CMakeFiles/Makefile2:1263: TESTING/LIN/CMakeFiles/xslu.dir/all] Error 2
make[2]: *** [TESTING/LIN/CMakeFiles/xcgblu.dir/build.make:192: TESTING/xcgblu] Error 1
make[1]: *** [CMakeFiles/Makefile2:1627: TESTING/LIN/CMakeFiles/xcgblu.dir/all] Error 2
make: *** [Makefile:169: all] Error 2
Finally, I notice that the version string in the file CMakeLists.txt for the 2.2.0 download is set to 2.1.0. Can this be corrected?
set(SCALAPACK_VERSION 2.1.0)
set(CPACK_PACKAGE_VERSION_MAJOR 2)
set(CPACK_PACKAGE_VERSION_MINOR 1)
set(CPACK_PACKAGE_VERSION_PATCH 0)
Many thanks,
Fab
The text was updated successfully, but these errors were encountered: