[petsc-users] ex19: Segmentation Violation when run with MUMPS on MacOS (arm64)

Satish Balay balay at mcs.anl.gov
Wed Apr 3 23:44:12 CDT 2024


With xcode-15.3 and branch "barry/2024-04-03/fix-chaco-modern-c/release" from https://urldefense.us/v3/__https://gitlab.com/petsc/petsc/-/merge_requests/7433__;!!G_uCfscf7eWS!YJPSyG4qeGbCKYRp9y16HJgjw7AOrQ0mL0QWb_XcKYZ17UwK2GtURGMpkyi4TctAY-8XqSvQUFmyCQFNnKy75fI$  [and a patched openmpi tarball to remove -Wl,-commons,use_dylibs] the following works for me.

Satish

----

petsc at mpro petsc.x % ./configure --download-bison --download-chaco --download-ctetgen --download-eigen --download-fftw --download-hdf5 --download-hpddm --download-hwloc --download-hypre --download-libpng --download-metis --download-mmg --download-mumps --download-netcdf --download-openblas --download-openblas-make-options="'USE_THREAD=0 USE_LOCKING=1 USE_OPENMP=0'" --download-p4est --download-parmmg --download-pnetcdf --download-pragmatic --download-ptscotch --download-scalapack --download-slepc --download-suitesparse --download-superlu_dist --download-tetgen --download-triangle --with-c2html=0 --with-debugging=1 --with-fortran-bindings=0 --with-shared-libraries=1 --with-x=0 --with-zlib --download-openmpi=https://urldefense.us/v3/__https://web.cels.anl.gov/projects/petsc/download/externalpackages/openmpi-5.0.2-xcode15.tar.gz__;!!G_uCfscf7eWS!YJPSyG4qeGbCKYRp9y16HJgjw7AOrQ0mL0QWb_XcKYZ17UwK2GtURGMpkyi4TctAY-8XqSvQUFmyCQFNvoG1gVM$  --download-pastix && make && make check
<snip>
          CC arch-darwin-c-debug/obj/src/lme/interface/lmesolve.o
     CLINKER arch-darwin-c-debug/lib/libslepc.3.21.0.dylib
    DSYMUTIL arch-darwin-c-debug/lib/libslepc.3.21.0.dylib
Now to install the library do:
make SLEPC_DIR=/Users/petsc/petsc.x/arch-darwin-c-debug/externalpackages/git.slepc PETSC_DIR=/Users/petsc/petsc.x install
=========================================
*** Installing SLEPc ***
*** Installing SLEPc at prefix location: /Users/petsc/petsc.x/arch-darwin-c-debug  ***
====================================
Install complete.
Now to check if the libraries are working do (in current directory):
make SLEPC_DIR=/Users/petsc/petsc.x/arch-darwin-c-debug PETSC_DIR=/Users/petsc/petsc.x PETSC_ARCH=arch-darwin-c-debug check
====================================
/usr/bin/make --no-print-directory -f makefile PETSC_ARCH=arch-darwin-c-debug PETSC_DIR=/Users/petsc/petsc.x SLEPC_DIR=/Users/petsc/petsc.x/arch-darwin-c-debug/externalpackages/git.slepc install-builtafterslepc
/usr/bin/make --no-print-directory -f makefile PETSC_ARCH=arch-darwin-c-debug PETSC_DIR=/Users/petsc/petsc.x SLEPC_DIR=/Users/petsc/petsc.x/arch-darwin-c-debug/externalpackages/git.slepc slepc4py-install
make[6]: Nothing to be done for `slepc4py-install'.
*** Building and installing HPDDM ***
=========================================
Now to check if the libraries are working do:
make PETSC_DIR=/Users/petsc/petsc.x PETSC_ARCH=arch-darwin-c-debug check
=========================================
Running PETSc check examples to verify correct installation
Using PETSC_DIR=/Users/petsc/petsc.x and PETSC_ARCH=arch-darwin-c-debug
C/C++ example src/snes/tutorials/ex19 run successfully with 1 MPI process
C/C++ example src/snes/tutorials/ex19 run successfully with 2 MPI processes
C/C++ example src/snes/tutorials/ex19 run successfully with HYPRE
C/C++ example src/snes/tutorials/ex19 run successfully with MUMPS
C/C++ example src/snes/tutorials/ex19 run successfully with SuiteSparse
C/C++ example src/snes/tutorials/ex19 run successfully with SuperLU_DIST
C/C++ example src/vec/vec/tests/ex47 run successfully with HDF5
Running SLEPc check examples to verify correct installation
Using SLEPC_DIR=/Users/petsc/petsc.x/arch-darwin-c-debug/externalpackages/git.slepc, PETSC_DIR=/Users/petsc/petsc.x, and PETSC_ARCH=arch-darwin-c-debug
C/C++ example src/eps/tests/test10 run successfully with 1 MPI process
C/C++ example src/eps/tests/test10 run successfully with 2 MPI processes
Completed SLEPc check examples
Completed PETSc check examples
petsc at mpro petsc.x % clang --version
Apple clang version 15.0.0 (clang-1500.3.9.4)
Target: arm64-apple-darwin23.4.0
Thread model: posix
InstalledDir: /Library/Developer/CommandLineTools/usr/bin
petsc at mpro petsc.x % 


On Tue, 2 Apr 2024, Zongze Yang wrote:

> Thank you for the suggestion.
> 
> I'd like to share some test results using the current Xcode. When I added the flag `LDFLAGS=-Wl,-ld_classic` and configured PETSc with OpenMPI, the tests with the latest Xcode seemed okay, except for some link warnings. The configure 
> command is
> ```
> ./configure \
>     PETSC_ARCH=arch-darwin-c-debug-openmpi \
>     LDFLAGS=-Wl,-ld_classic \
>     --download-openmpi=https://urldefense.us/v3/__https://download.open-mpi.org/release/open-mpi/v5.0/openmpi-5.0.3rc1.tar.bz2__;!!G_uCfscf7eWS!eGiVH2meEkLSEHvkY6Y-m7U1wPG4ZDxHod7lLZI3HTu6itzNEDm7n3cz4GNly925EEHvVRnyNQYn2aAt0ewiXz99$ 
> \
>     --download-mumps --download-scalapack \
>     --with-clean \
>     && make && make check
> ```


More information about the petsc-users mailing list