<div dir="ltr"><div dir="ltr">On Mon, Jan 20, 2020 at 5:43 AM Дмитрий Мельничук <<a href="mailto:dmitry.melnichuk@geosteertech.com">dmitry.melnichuk@geosteertech.com</a>> wrote:<br></div><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div>Thank you so much for your assistance!<br><br>As far as I have been able to find out, the errors <em> "Type mismatch in argument ‘ierr’"</em> have been successfully fixed.</div><div><div>But execution of command "<em>make PETSC_DIR=/cygdrive/d/... PETSC_ARCH=arch-mswin-c-debug check" </em>leads to the appereance of Segmantation Violation error.</div><div> </div><div>I compiled PETSc with Microsoft MPI v10.<br>Does it make sense to compile PETSc with another MPI implementation (such as MPICH) in order to resolve the issue?</div></div></blockquote><div><br></div><div>Its not MPI. The problem appears to be your BLAS.</div><div><br></div><div>Barry, is this a mismatch with BLAS ints?</div><div><br></div><div>   Matt</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div><div>Error message:</div><div><div><em>Running test examples to verify correct installation</em></div><div><em>Using PETSC_DIR=/cygdrive/d/Computational_geomechanics/installation/petsc-barry and PETSC_ARCH=arch-mswin-c-debug</em></div><div><em>Possible error running C/C++ src/snes/examples/tutorials/ex19 with 1 MPI process</em></div><div><em>See <a href="http://www.mcs.anl.gov/petsc/documentation/faq.html" target="_blank">http://www.mcs.anl.gov/petsc/documentation/faq.html</a></em></div><div><em>C:/MPI/Bin/mpiexec.exe: error while loading shared libraries: ?: cannot open shared object file: No such file or directory</em></div><div><em>Possible error running C/C++ src/snes/examples/tutorials/ex19 with 2 MPI processes</em></div><div><em>See <a href="http://www.mcs.anl.gov/petsc/documentation/faq.html" target="_blank">http://www.mcs.anl.gov/petsc/documentation/faq.html</a></em></div><div><em>C:/MPI/Bin/mpiexec.exe: error while loading shared libraries: ?: cannot open shared object file: No such file or directory</em></div><div><em>Possible error running Fortran example src/snes/examples/tutorials/ex5f with 1 MPI process</em></div><div><em>See <a href="http://www.mcs.anl.gov/petsc/documentation/faq.html" target="_blank">http://www.mcs.anl.gov/petsc/documentation/faq.html</a></em></div><div><em>[0]PETSC ERROR: ------------------------------------------------------------------------</em></div><div><em>[0]PETSC ERROR: Caught signal number 11 SEGV: Segmentation Violation, probably memory access out of range</em></div><div><em>[0]PETSC ERROR: Try option -start_in_debugger or -on_error_attach_debugger</em></div><div><em>[0]PETSC ERROR: or see <a href="https://www.mcs.anl.gov/petsc/documentation/faq.html#valgrind" target="_blank">https://www.mcs.anl.gov/petsc/documentation/faq.html#valgrind</a></em></div><div><em>[0]PETSC ERROR: or try <a href="http://valgrind.org" target="_blank">http://valgrind.org</a> on GNU/linux and Apple Mac OS X to find memory corruption errors</em></div><div><em>[0]PETSC ERROR: likely location of problem given in stack below</em></div><div><em>[0]PETSC ERROR: ---------------------  Stack Frames ------------------------------------</em></div><div><em>[0]PETSC ERROR: Note: The EXACT line numbers in the stack are not available,</em></div><div><em>[0]PETSC ERROR:       INSTEAD the line number of the start of the function</em></div><div><em>[0]PETSC ERROR:       is given.</em></div><div><em>[0]PETSC ERROR: [0] VecNorm_Seq line 221 /cygdrive/d/Computational_geomechanics/installation/petsc-barry/src/vec/vec/impls/seq/bvec2.c</em></div><div><em>[0]PETSC ERROR: [0] VecNorm line 213 /cygdrive/d/Computational_geomechanics/installation/petsc-barry/src/vec/vec/interface/rvector.c</em></div><div><em>[0]PETSC ERROR: [0] SNESSolve_NEWTONLS line 144 /cygdrive/d/Computational_geomechanics/installation/petsc-barry/src/snes/impls/ls/ls.c</em></div><div><em>[0]PETSC ERROR: [0] SNESSolve line 4375 /cygdrive/d/Computational_geomechanics/installation/petsc-barry/src/snes/interface/snes.c</em></div><div><em>[0]PETSC ERROR: --------------------- Error Message --------------------------------------------------------------</em></div><div><em>[0]PETSC ERROR: Signal received</em></div><div><em>[0]PETSC ERROR: See <a href="https://www.mcs.anl.gov/petsc/documentation/faq.html" target="_blank">https://www.mcs.anl.gov/petsc/documentation/faq.html</a> for trouble shooting.</em></div><div><em>[0]PETSC ERROR: Petsc Development GIT revision: unknown  GIT Date: unknown</em></div><div><em>[0]PETSC ERROR: ./ex5f on a arch-mswin-c-debug named DESKTOP-R88IMOB by useruser Mon Jan 20 09:18:34 2020</em></div><div><em>[0]PETSC ERROR: Configure options --with-cc=x86_64-w64-mingw32-gcc --with-cxx=x86_64-w64-mingw32-g++ --with-fc=x86_64-w64-mingw32-gfortran --with-mpi-include=/cygdrive/c/MPISDK/Include --with-mpi-lib=/cygdrive/c/MPISDK/Lib/libmsmpi.a --with-mpi-mpiexec=/cygdrive/c/MPI/Bin/mpiexec.exe --with-debugging=yes -CFLAGS=-O2 -CXXFLAGS=-O2 -FFLAGS="-O2 -static-libgfortran -static -lpthread -fno-range-check -fdefault-integer-8" --download-fblaslapack --with-shared-libraries=no --with-64-bit-indices --force</em></div><div><em>[0]PETSC ERROR: #1 User provided function() line 0 in  unknown file</em></div><div> </div><div><em>job aborted:</em></div><div><em>[ranks] message</em></div><div> </div><div><em>[0] application aborted</em></div><div><em>aborting MPI_COMM_WORLD (comm=0x44000000), error 50152059, comm rank 0</em></div><div> </div><div><em>---- error analysis -----</em></div><div> </div><div><em>[0] on DESKTOP-R88IMOB</em></div><div><em>./ex5f aborted the job. abort code 50152059</em></div><div> </div><div><em>---- error analysis -----</em></div><div><em>Completed test examples</em><br><br>Kind regards,<br>Dmitry Melnichuk</div></div></div><div> </div><div>19.01.2020, 07:47, "Smith, Barry F." <<a href="mailto:bsmith@mcs.anl.gov" target="_blank">bsmith@mcs.anl.gov</a>>:</div><blockquote><p><br>   Dmitry,<br><br>   I have completed and tested the branch barry/2020-01-15/support-default-integer-8 it is undergoing testing now <a href="https://gitlab.com/petsc/petsc/merge_requests/2456" target="_blank">https://gitlab.com/petsc/petsc/merge_requests/2456</a><br><br>   Please give it a try. Note that MPI has no support for integer promotion so YOU must insure that any MPI calls from Fortran pass 4 byte integers not promoted 8 byte integers.<br><br>   I have tested it with recent versions of MPICH and OpenMPI, it is fragile at compile time and may fail to compile with different versions of MPI.<br><br>    Good luck,<br><br>   Barry<br><br>    I do not recommend this approach for integer promotion in Fortran. Just blindly promoting all integers can often lead to problems. I recommend using the kind mechanism of<br>Fortran to insure that each variable is the type you want, you can recompile with different options to promote the kind declared variables you wish. Of course this is more intrusive and requires changes to the Fortran code.<br> </p><blockquote> On Jan 15, 2020, at 7:00 AM, Дмитрий Мельничук <<a href="mailto:dmitry.melnichuk@geosteertech.com" target="_blank">dmitry.melnichuk@geosteertech.com</a>> wrote:<br><br> Hello all!<br><br> At present time I need to compile solver called Defmod (<a href="https://bitbucket.org/stali/defmod/wiki/Home" target="_blank">https://bitbucket.org/stali/defmod/wiki/Home</a>), which is written in Fortran 95.<br> Defmod uses PETSc for solving linear algebra system.<br> Solver compilation with 32-bit version of PETSc does not cause any problem.<br> But solver compilation with 64-bit version of PETSc produces an error with size of ierr PETSc variable.<br><br> 1. For example, consider the following statements written in Fortran:<br><br><br> PetscErrorCode :: ierr_m<br> PetscInt :: ierr<br> ...<br> ...<br> call VecDuplicate(Vec_U,Vec_Um,ierr)<br> call VecCopy(Vec_U,Vec_Um,ierr)<br> call VecGetLocalSize(Vec_U,j,ierr)<br> call VecGetOwnershipRange(Vec_U,j1,j2,ierr_m)<br><br><br> As can be seen first three subroutunes require ierr to be size of INTEGER(8), while the last subroutine (VecGetOwnershipRange) requires ierr to be size of INTEGER(4).<br> Using the same integer format gives an error:<br><br> There is no specific subroutine for the generic ‘vecgetownershiprange’ at (1)<br><br> 2. Another example is:<br><br><br> call MatAssemblyBegin(Mat_K,Mat_Final_Assembly,ierr)<br> CHKERRA(ierr)<br> call MatAssemblyEnd(Mat_K,Mat_Final_Assembly,ierr)<br><br><br> I am not able to define an appropriate size if ierr in CHKERRA(ierr). If I choose INTEGER(8), the error "Type mismatch in argument ‘ierr’ at (1); passed INTEGER(8) to INTEGER(4)" occurs.<br> If I define ierr as INTEGER(4), the error "Type mismatch in argument ‘ierr’ at (1); passed INTEGER(4) to INTEGER(8)" appears.<br><br><br> 3. If I change the sizes of ierr vaiables as error messages require, the compilation completed successfully, but an error occurs when calculating the RHS vector with following message:<br><br> [0]PETSC ERROR: Out of range index value -4 cannot be negative<br><br><br> Command to configure 32-bit version of PETSc under Windows 10 using Cygwin:<br> ./configure --with-cc=x86_64-w64-mingw32-gcc --with-cxx=x86_64-w64-mingw32-g++ --with-fc=x86_64-w64-mingw32-gfortran --download-fblaslapack --with-mpi-include=/cygdrive/c/MPISDK/Include --with-mpi-lib=/cygdrive/c/MPISDK/Lib/libmsmpi.a --with-mpi-mpiexec=/cygdrive/c/MPI/Bin/mpiexec.exe --with-debugging=yes -CFLAGS='-O2' -CXXFLAGS='-O2' -FFLAGS='-O2 -static-libgfortran -static -lpthread -fno-range-check' --with-shared-libraries=no<br><br> Command to configure 64-bit version of PETSc under Windows 10 using Cygwin:<br> ./configure --with-cc=x86_64-w64-mingw32-gcc --with-cxx=x86_64-w64-mingw32-g++ --with-fc=x86_64-w64-mingw32-gfortran --download-fblaslapack --with-mpi-include=/cygdrive/c/MPISDK/Include --with-mpi-lib=/cygdrive/c/MPISDK/Lib/libmsmpi.a --with-mpi-mpiexec=/cygdrive/c/MPI/Bin/mpiexec.exe --with-debugging=yes -CFLAGS='-O2' -CXXFLAGS='-O2' -FFLAGS='-O2 -static-libgfortran -static -lpthread -fno-range-check -fdefault-integer-8' --with-shared-libraries=no --with-64-bit-indices --known-64-bit-blas-indices<br><br><br> Kind regards,<br> Dmitry Melnichuk</blockquote><p> </p></blockquote></blockquote></div><br clear="all"><div><br></div>-- <br><div dir="ltr" class="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div>What most experimenters take for granted before they begin their experiments is infinitely more interesting than any results to which their experiments lead.<br>-- Norbert Wiener</div><div><br></div><div><a href="http://www.cse.buffalo.edu/~knepley/" target="_blank">https://www.cse.buffalo.edu/~knepley/</a><br></div></div></div></div></div></div></div></div>