[petsc-dev] petsc compatibility issues with slepc
Satish Balay
balay.anl at fastmail.org
Fri Nov 15 00:09:17 CST 2024
Try building MPICH with the additional flags:
'LDFLAGS=-Wl,-ld_classic -Wl,-commons,use_dylibs'
some of the MacOS/Xcode15+/Mumps issues are discussed at https://urldefense.us/v3/__https://gitlab.com/petsc/petsc/-/issues/1637__;!!G_uCfscf7eWS!Zte1-UKulqdgdberr4xeYOwxdsIKJsn3gxvhrGC3D2xGk5lM8RZhduBb5ksvmdJzUmO22D93HJ3f9_S87-ihWbYQxQ$
We do not know the exact reason why MUMPS fails [without these extra options]
Satish
On Fri, 15 Nov 2024, David Jiawei LUO LIANG wrote:
> My MacBook is M2
> gcc, g++, c++, cpp version is :
>
> Apple clang version 16.0.0 (clang-1600.0.26.4)
>
> Target: arm64-apple-darwin24.1.0
>
> Thread model: posix
>
> InstalledDir: /Library/Developer/CommandLineTools/usr/bin
>
>
>
> # install mpich by source
> ./configure --prefix=/Users/lawkawai/lib/mpich-4.2.3-opt
>
> config.status: executing gen_binding_f90 commands
>
> [ ./maint/gen_binding_f90.py -f-logical-size=4 -ignore-tkr=gcc ]
>
> --> [src/binding/fortran/use_mpi/mpi_base.f90]
>
> --> [src/binding/fortran/use_mpi/pmpi_base.f90]
>
> --> [src/binding/fortran/use_mpi/mpi_constants.f90]
>
> --> [src/binding/fortran/use_mpi/mpi_sizeofs.f90]
>
> *****************************************************
>
> ***
>
> *** device : ch4:ofi (embedded libfabric)
>
> *** shm feature : auto
>
> *** gpu support : disabled
>
> ***
>
> MPICH is configured with device ch4:ofi, which should work
>
> for TCP networks and any high-bandwidth interconnect
>
> supported by libfabric. MPICH can also be configured with
>
> "--with-device=ch4:ucx", which should work for TCP networks
>
> and any high-bandwidth interconnect supported by the UCX
>
> library. In addition, the legacy device ch3 (--with-device=ch3)
>
> is also available.
>
> *****************************************************
>
> Configuration completed.
>
>
> make -j6 2>&1 | tee m.txt
>
> MOD src/binding/fortran/use_mpi/mpi.mod-stamp
>
> copying selected object files to avoid basename conflicts...
>
> GEN lib/libmpi.la
>
> CXXLD lib/libmpicxx.la
>
> GEN lib/libmpifort.la
>
> CCLD src/env/mpichversion
>
> CCLD src/env/mpivars
>
> ld: warning: -dylib_file is deprecated. Use -F or -L to control where indirect dylibs are found
>
> ld: warning: -dylib_file is deprecated. Use -F or -L to control where indirect dylibs are found
>
> Making all in examples
>
> CC cpi.o
>
> CCLD cpi
>
>
>
> make install 2>&1 | tee mi.txt
>
> /usr/bin/install -c -m 644 index.htm /Users/lawkawai/lib/mpich-4.2.3-opt/share/doc/mpich/www3/index.htm
>
> /usr/bin/install -c -m 644 mpi.cit /Users/lawkawai/lib/mpich-4.2.3-opt/share/doc/mpich/www3/mpi.cit
>
> if [ ! -e /Users/lawkawai/lib/mpich-4.2.3-opt/share/doc/mpich ] ; then mkdir -p /Users/lawkawai/lib/mpich-4.2.3-opt/share/doc/mpich ; fi
>
> if [ -s ./doc/userguide/user.pdf ] ; then /usr/bin/install -c -m 644 ./doc/userguide/user.pdf /Users/lawkawai/lib/mpich-4.2.3-opt/share/doc/mpich/user.pdf ; fi
>
> if [ -s ./doc/installguide/install.pdf ] ; then /usr/bin/install -c -m 644 ./doc/installguide/install.pdf /Users/lawkawai/lib/mpich-4.2.3-opt/share/doc/mpich/install.pdf ; fi
>
> if [ -s ./doc/logging/logging.pdf ] ; then /usr/bin/install -c -m 644 ./doc/logging/logging.pdf /Users/lawkawai/lib/mpich-4.2.3-opt/share/doc/mpich/logging.pdf ; fi
>
> mkdir -p '/Users/lawkawai/lib/mpich-4.2.3-opt/include'
>
> /usr/bin/install -c -m 644 src/include/mpi_proto.h '/Users/lawkawai/lib/mpich-4.2.3-opt/include'
>
> mkdir -p '/Users/lawkawai/lib/mpich-4.2.3-opt/include'
>
> /usr/bin/install -c -m 644 src/binding/fortran/use_mpi/mpi.mod src/binding/fortran/use_mpi/mpi_sizeofs.mod src/binding/fortran/use_mpi/mpi_constants.mod src/binding/fortran/use_mpi/mpi_base.mod src/binding/fortran/use_mpi/pmpi_base.mod '/Users/lawkawai/lib/mpich-4.2.3-opt/include'
>
> mkdir -p '/Users/lawkawai/lib/mpich-4.2.3-opt/include'
>
> /usr/bin/install -c -m 644 src/binding/cxx/mpicxx.h src/binding/fortran/mpif_h/mpif.h src/include/mpi.h '/Users/lawkawai/lib/mpich-4.2.3-opt/include'
>
> mkdir -p '/Users/lawkawai/lib/mpich-4.2.3-opt/lib/pkgconfig'
>
> /usr/bin/install -c -m 644 src/packaging/pkgconfig/mpich.pc '/Users/lawkawai/lib/mpich-4.2.3-opt/lib/pkgconfig'
>
> Making install in examples
>
> make[3]: Nothing to be done for `install-exec-am'.
>
> make[3]: Nothing to be done for `install-data-am'.
>
>
>
> export PATH=/Users/jiaweiluo/lib/mpich-4.2.3-opt/bin:$PATH
> source ~/.zshrc
> which mpicc
>
> /Users/lawkawai/lib/mpich-4.2.3-opt/bin/mpicc
>
>
>
> # install vtk by source
> cmake ../VTK-9.3.1-src/ -DCMAKE_INSTALL_PREFIX=/Users/lawkawai/lib/VTK-9.3.1-shared -DBUILD_SHARED_LIBS=ON -DCMAKE_BUILD_TYPE=Release
>
>
>
>
> -- Configuring done (44.3s)
>
> -- Generating done (1.8s)
>
> -- Build files have been written to: /Users/lawkawai/lib/build_vtk
>
>
>
> make -j4
>
> [100%] Building CXX object Views/Infovis/CMakeFiles/ViewsInfovis.dir/vtkViewUpdater.cxx.o
>
> [100%] Linking CXX shared library ../../lib/libvtkViewsInfovis-9.3.dylib
>
> [100%] Built target ViewsInfovis
>
>
>
> make install
>
> -- Installing: /Users/lawkawai/lib/VTK-9.3.1-shared/lib/cmake/vtk-9.3/VTK-vtk-module-find-packages.cmake
>
> -- Installing: /Users/lawkawai/lib/VTK-9.3.1-shared/share/licenses/VTK/Copyright.txt
>
>
>
> export LD_LIBRARY_PATH=/Users/lawkawai/lib/VTK-9.3.1-shared/lib:$LD_LIBRARY_PATH
> source ~/.zshrc
>
>
> # install petsc by source
> ./configure --with-x=0 -with-pic --with-make-np=4 --with-mpi-compilers=1 --with-mpi-dir=/Users/lawkawai/lib/mpich-4.2.3-opt/ --with-scalar-type=real --with-precision=double --with-mumps=1 --download-mumps --with-scalapack=1 --download-scalapack --with-blacs=1 --download-blacs --download-fblaslapack --download-metis --download-hdf5 --with-debugging=no --download-slepc --prefix=/Users/lawkawai/lib/petsc-3.22.1-opt
>
> ================================================================================
>
> Configuring PETSc to compile on your system
>
> ================================================================================
>
> ================================================================================
>
> ***** WARNING *****
>
> Found environment variable: FFLAGS=-w -fallow-argument-mismatch -O2. Ignoring it! Use
>
> "./configure FFLAGS=$FFLAGS" if you really want to use this value
>
> ================================================================================
>
> ================================================================================
>
> ***** WARNING *****
>
> Using default C optimization flags "-g -O3". You might consider manually setting optimal
>
> optimization flags for your system with COPTFLAGS="optimization flags" see
>
> config/examples/arch-*-opt.py for examples
>
> ================================================================================
>
> ================================================================================
>
> ***** WARNING *****
>
> Using default Cxx optimization flags "-g -O3". You might consider manually setting
>
> optimal optimization flags for your system with CXXOPTFLAGS="optimization flags" see
>
> config/examples/arch-*-opt.py for examples
>
> ================================================================================
>
> ================================================================================
>
> ***** WARNING *****
>
> Using default FC optimization flags "-g -O". You might consider manually setting optimal
>
> optimization flags for your system with FOPTFLAGS="optimization flags" see
>
> config/examples/arch-*-opt.py for examples
>
> ================================================================================
>
> ================================================================================
>
> Trying to download
>
> https://urldefense.us/v3/__https://web.cels.anl.gov/projects/petsc/download/externalpackages/hdf5-1.14.3-p1.tar.bz2__;!!G_uCfscf7eWS!Zte1-UKulqdgdberr4xeYOwxdsIKJsn3gxvhrGC3D2xGk5lM8RZhduBb5ksvmdJzUmO22D93HJ3f9_S87-iokRZNRw$
>
> for HDF5
>
> ================================================================================
>
> ================================================================================
>
> Running configure on HDF5; this may take several minutes
>
> ================================================================================
>
> ================================================================================
>
> Running make on HDF5; this may take several minutes
>
> ================================================================================
>
> ================================================================================
>
> Running make install on HDF5; this may take several minutes
>
> ================================================================================
>
> ================================================================================
>
> Trying to download https://urldefense.us/v3/__https://bitbucket.org/petsc/pkg-fblaslapack__;!!G_uCfscf7eWS!Zte1-UKulqdgdberr4xeYOwxdsIKJsn3gxvhrGC3D2xGk5lM8RZhduBb5ksvmdJzUmO22D93HJ3f9_S87-g9jVmOlQ$ for FBLASLAPACK
>
> ================================================================================
>
> ================================================================================
>
> Compiling FBLASLAPACK; this may take several minutes
>
> ================================================================================
>
> ================================================================================
>
> Trying to download https://urldefense.us/v3/__https://bitbucket.org/petsc/pkg-metis.git__;!!G_uCfscf7eWS!Zte1-UKulqdgdberr4xeYOwxdsIKJsn3gxvhrGC3D2xGk5lM8RZhduBb5ksvmdJzUmO22D93HJ3f9_S87-itjk178Q$ for METIS
>
> ================================================================================
>
> ================================================================================
>
> Configuring METIS with CMake; this may take several minutes
>
> ================================================================================
>
> ================================================================================
>
> Compiling and installing METIS; this may take several minutes
>
> ================================================================================
>
> ================================================================================
>
> Trying to download https://urldefense.us/v3/__https://github.com/Reference-ScaLAPACK/scalapack__;!!G_uCfscf7eWS!Zte1-UKulqdgdberr4xeYOwxdsIKJsn3gxvhrGC3D2xGk5lM8RZhduBb5ksvmdJzUmO22D93HJ3f9_S87-isrxMi_g$ for SCALAPACK
>
> ================================================================================
>
> ================================================================================
>
> Configuring SCALAPACK with CMake; this may take several minutes
>
> ================================================================================
>
> ================================================================================
>
> Compiling and installing SCALAPACK; this may take several minutes
>
> ================================================================================
>
> ================================================================================
>
> Trying to download https://urldefense.us/v3/__https://mumps-solver.org/MUMPS_5.7.3.tar.gz__;!!G_uCfscf7eWS!Zte1-UKulqdgdberr4xeYOwxdsIKJsn3gxvhrGC3D2xGk5lM8RZhduBb5ksvmdJzUmO22D93HJ3f9_S87-ivKujXlg$ for MUMPS
>
> ================================================================================
>
> ================================================================================
>
> Compiling MUMPS; this may take several minutes
>
> ================================================================================
>
> ================================================================================
>
> Installing MUMPS; this may take several minutes
>
> ================================================================================
>
> ================================================================================
>
> Trying to download https://urldefense.us/v3/__https://gitlab.com/slepc/slepc.git__;!!G_uCfscf7eWS!Zte1-UKulqdgdberr4xeYOwxdsIKJsn3gxvhrGC3D2xGk5lM8RZhduBb5ksvmdJzUmO22D93HJ3f9_S87-jDO9ptcw$ for SLEPC
>
> ================================================================================
>
> ================================================================================
>
> SLEPc examples are available at arch-darwin-c-opt/externalpackages/git.slepc
>
> export SLEPC_DIR=/Users/lawkawai/lib/petsc-3.22.1-opt
>
> ================================================================================
>
> Compilers:
>
> C Compiler: /Users/lawkawai/lib/mpich-4.2.3-opt/bin/mpicc -fPIC -Wall -Wwrite-strings -Wno-unknown-pragmas -Wconversion -Wno-sign-conversion -Wno-float-conversion -Wno-implicit-float-conversion -fstack-protector -fno-stack-check -Qunused-arguments -fvisibility=hidden -Wall -Wwrite-strings -Wno-unknown-pragmas -Wconversion -Wno-sign-conversion -Wno-float-conversion -Wno-implicit-float-conversion -fstack-protector -fno-stack-check -Qunused-arguments -fvisibility=hidden -g -O3
>
> Version: Apple clang version 16.0.0 (clang-1600.0.26.4)
>
> C++ Compiler: /Users/lawkawai/lib/mpich-4.2.3-opt/bin/mpicxx -Wall -Wwrite-strings -Wno-strict-aliasing -Wno-unknown-pragmas -fstack-protector -fno-stack-check -fvisibility=hidden -Wall -Wwrite-strings -Wno-strict-aliasing -Wno-unknown-pragmas -fstack-protector -fno-stack-check -fvisibility=hidden -g -O3 -std=gnu++20 -fPIC
>
> Version: Apple clang version 16.0.0 (clang-1600.0.26.4)
>
> Fortran Compiler: /Users/lawkawai/lib/mpich-4.2.3-opt/bin/mpif90 -fPIC -Wall -ffree-line-length-none -ffree-line-length-0 -Wno-lto-type-mismatch -Wno-unused-dummy-argument -Wall -ffree-line-length-none -ffree-line-length-0 -Wno-lto-type-mismatch -Wno-unused-dummy-argument -g -O
>
> Version: GNU Fortran (Homebrew GCC 14.2.0_1) 14.2.0
>
> Linkers:
>
> Shared linker: /Users/lawkawai/lib/mpich-4.2.3-opt/bin/mpicc -dynamiclib -undefined dynamic_lookup -fPIC -Wall -Wwrite-strings -Wno-unknown-pragmas -Wconversion -Wno-sign-conversion -Wno-float-conversion -Wno-implicit-float-conversion -fstack-protector -fno-stack-check -Qunused-arguments -fvisibility=hidden -Wall -Wwrite-strings -Wno-unknown-pragmas -Wconversion -Wno-sign-conversion -Wno-float-conversion -Wno-implicit-float-conversion -fstack-protector -fno-stack-check -Qunused-arguments -fvisibility=hidden -g -O3
>
> Dynamic linker: /Users/lawkawai/lib/mpich-4.2.3-opt/bin/mpicc -dynamiclib -undefined dynamic_lookup -fPIC -Wall -Wwrite-strings -Wno-unknown-pragmas -Wconversion -Wno-sign-conversion -Wno-float-conversion -Wno-implicit-float-conversion -fstack-protector -fno-stack-check -Qunused-arguments -fvisibility=hidden -Wall -Wwrite-strings -Wno-unknown-pragmas -Wconversion -Wno-sign-conversion -Wno-float-conversion -Wno-implicit-float-conversion -fstack-protector -fno-stack-check -Qunused-arguments -fvisibility=hidden -g -O3
>
> Libraries linked against:
>
> BlasLapack:
>
> Libraries: -Wl,-rpath,/Users/lawkawai/lib/petsc-3.22.1-opt/lib -L/Users/lawkawai/lib/petsc-3.22.1-opt/lib -lflapack -lfblas
>
> uses 4 byte integers
>
> MPI:
>
> Version: 4
>
> Includes: -I/Users/lawkawai/lib/mpich-4.2.3-opt/include
>
> mpiexec: /Users/lawkawai/lib/mpich-4.2.3-opt/bin/mpiexec
>
> Implementation: mpich4
>
> MPICH_NUMVERSION: 40203300
>
> python:
>
> Executable: /opt/homebrew/opt/python at 3.13/bin/python3.13
>
> pthread:
>
> cmake:
>
> Version: 3.31.0
>
> Executable: /opt/homebrew/bin/cmake
>
> fblaslapack:
>
> hdf5:
>
> Version: 1.14.3
>
> Includes: -I/Users/lawkawai/lib/petsc-3.22.1-opt/include
>
> Libraries: -Wl,-rpath,/Users/lawkawai/lib/petsc-3.22.1-opt/lib -L/Users/lawkawai/lib/petsc-3.22.1-opt/lib -lhdf5_hl -lhdf5
>
> metis:
>
> Version: 5.1.0
>
> Includes: -I/Users/lawkawai/lib/petsc-3.22.1-opt/include
>
> Libraries: -Wl,-rpath,/Users/lawkawai/lib/petsc-3.22.1-opt/lib -L/Users/lawkawai/lib/petsc-3.22.1-opt/lib -lmetis
>
> slepc:
>
> Version: 3.22.0
>
> Includes: -I/Users/lawkawai/lib/petsc-3.22.1-opt/include
>
> Libraries: -Wl,-rpath,/Users/lawkawai/lib/petsc-3.22.1-opt/lib -L/Users/lawkawai/lib/petsc-3.22.1-opt/lib -lslepc
>
> regex:
>
> bison:
>
> Version: 2.3
>
> Executable: /usr/bin/bison
>
> MUMPS:
>
> Version: 5.7.3
>
> Includes: -I/Users/lawkawai/lib/petsc-3.22.1-opt/include
>
> Libraries: -Wl,-rpath,/Users/lawkawai/lib/petsc-3.22.1-opt/lib -L/Users/lawkawai/lib/petsc-3.22.1-opt/lib -ldmumps -lmumps_common -lpord -lpthread
>
> scalapack:
>
> Libraries: -Wl,-rpath,/Users/lawkawai/lib/petsc-3.22.1-opt/lib -L/Users/lawkawai/lib/petsc-3.22.1-opt/lib -lscalapack
>
> PETSc:
>
> Language used to compile PETSc: C
>
> PETSC_ARCH: arch-darwin-c-opt
>
> PETSC_DIR: /Users/lawkawai/lib/petsc-3.22.1-src
>
> Prefix: /Users/lawkawai/lib/petsc-3.22.1-opt
>
> Scalar type: real
>
> Precision: double
>
> Support for __fp16
>
> Integer size: 4 bytes
>
> Single library: yes
>
> Shared libraries: yes
>
> Memory alignment from malloc(): 16 bytes
>
> Using GNU make: /opt/homebrew/bin/gmake
>
> xxx=======================================================================================xxx
>
> Configure stage complete. Now build PETSc libraries with:
>
> make PETSC_DIR=/Users/lawkawai/lib/petsc-3.22.1-src PETSC_ARCH=arch-darwin-c-opt all
>
> xxx=======================================================================================xxx
>
>
>
> make PETSC_DIR=/Users/lawkawai/lib/petsc-3.22.1-src PETSC_ARCH=arch-darwin-c-opt all
>
> CLINKER arch-darwin-c-opt/lib/libpetsc.3.22.1.dylib
>
> DSYMUTIL arch-darwin-c-opt/lib/libpetsc.3.22.1.dylib
>
> gmake[3]: Leaving directory '/Users/lawkawai/lib/petsc-3.22.1-src'
>
> gmake[2]: Leaving directory '/Users/lawkawai/lib/petsc-3.22.1-src'
>
> =========================================
>
> Now to install the libraries do:
>
> make PETSC_DIR=/Users/lawkawai/lib/petsc-3.22.1-src PETSC_ARCH=arch-darwin-c-opt install
>
>
>
> make PETSC_DIR=/Users/lawkawai/lib/petsc-3.22.1-src PETSC_ARCH=arch-darwin-c-opt install
>
>
> *** Installing SLEPc ***
>
> *** Installing SLEPc at prefix location: /Users/lawkawai/lib/petsc-3.22.1-opt ***
>
> ====================================
>
> Install complete.
>
> Now to check if the libraries are working do (in current directory):
>
> make SLEPC_DIR=/Users/lawkawai/lib/petsc-3.22.1-opt PETSC_DIR=/Users/lawkawai/lib/petsc-3.22.1-opt PETSC_ARCH="" check
>
> ====================================
>
> /opt/homebrew/bin/gmake --no-print-directory -f makefile PETSC_ARCH=installed-arch-darwin-c-opt PETSC_DIR=/Users/lawkawai/lib/petsc-3.22.1-opt SLEPC_DIR=/Users/lawkawai/lib/petsc-3.22.1-src/arch-darwin-c-opt/externalpackages/git.slepc install-builtafterslepc
>
> /opt/homebrew/bin/gmake --no-print-directory -f makefile PETSC_ARCH=installed-arch-darwin-c-opt PETSC_DIR=/Users/lawkawai/lib/petsc-3.22.1-opt SLEPC_DIR=/Users/lawkawai/lib/petsc-3.22.1-src/arch-darwin-c-opt/externalpackages/git.slepc slepc4py-install
>
> gmake[7]: Nothing to be done for 'slepc4py-install'.
>
> gmake[3]: Nothing to be done for 'hpddm-install'.
>
> gmake[3]: Nothing to be done for 'amrex-install'.
>
> gmake[3]: Nothing to be done for 'bamg-install'.
>
>
>
> when I run my software
> # my cmake
> # This is a sample code that provide a linkage between the
> # PERIGEE code and external libraries. Users will have to
> # provide correct values for the libraries, according to their
> # installation.
> # This one is a sample one, assuming the libraries are installed
> # following the guide documented in
> # https://urldefense.us/v3/__https://github.com/ju-liu/PERIGEE-NS/blob/master/install-external-libs.md__;!!G_uCfscf7eWS!Zte1-UKulqdgdberr4xeYOwxdsIKJsn3gxvhrGC3D2xGk5lM8RZhduBb5ksvmdJzUmO22D93HJ3f9_S87-inbMZ2Vw$
> # The value of $HOME is /Users/lawkawai
>
> # ========================================================
> # Specify the library locations
> # ========================================================
> # VTK_DIR should be the vtk directory/lib/cmake/vtk-version,
> # which contains VTKConfig.cmake file.
> # In the guide, vtk directory is $HOME/lib/VTK-7.1.1-shared
> set(VTK_DIR /Users/lawkawai/lib/VTK-9.3.1-shared/lib/cmake/vtk-9.3)
>
> # Modify the PETSC_DIR variable to point to the location of PETSc.
> set(PETSC_DIR /Users/lawkawai/lib/petsc-3.22.1-opt)
>
> # Modify the SLEPC_DIR
> set(SLEPC_DIR ${PETSC_DIR})
>
> # Modify the PETSC_ARCH variable. You can find it in your configuration
> # output. If you forget it, go to your PETSc home director and open
> # configure.log. Go the end of the file, and you shall find the value
> # of PETSC_ARCH
> set(PETSC_ARCH .)
>
> # Modify the METIS_DIR.
> # Note: If your PETSc has METIS installed, the conf
> # file will directly load that METIS; otherwise this METIS will
> # be used for PERIGEE. This means, if you are sure that you have
> # METIS in PETSc, you do not have to specify the METIS_DIR variable.
> set(METIS_DIR ${PETSC_DIR})
>
> # Modify the HDF5_ROOT, pointing to your hdf5 library location
> set(HDF5_ROOT ${PETSC_DIR})
>
> set(YAML_DIR /Users/lawkawai/lib/yaml-shared)
>
> # set(OpenMP_ROOT /opt/homebrew/Cellar/libomp/19.1.3)
>
> # set(Matlab_ROOT /Applications/MATLAB_R2023b.app)
> # ========================================================
> # Setup the libraries
> # You do NOT have to modify anything in this part
> # ========================================================
> list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_LIST_DIR}")
>
> find_package(VTK REQUIRED)
> find_package(PETSc REQUIRED)
> find_package(HDF5 REQUIRED)
> find_package(SLEPc)
> find_package(YAML REQUIRED)
> # find_package(OpenMP
> # find_package(Matlab REQUIRED)
>
> include_directories(${VTK_INCLUDE_DIRS})
> include_directories(${HDF5_INCLUDE_DIRS})
> include_directories(${PETSC_INC})
> include_directories(${SLEPC_INC})
> include_directories(${YAML_INC})
> # include_directories(${Matlab_INCLUDE_DIRS})
>
> set(EXTRA_LINK_LIBS ${EXTRA_LINK_LIBS} ${VTK_LIBRARIES})
> set(EXTRA_LINK_LIBS ${EXTRA_LINK_LIBS} ${HDF5_LIBRARIES})
> set(EXTRA_LINK_LIBS ${EXTRA_LINK_LIBS} ${PETSC_LIB})
> set(EXTRA_LINK_LIBS ${EXTRA_LINK_LIBS} ${PETSC_METIS_LIB})
> set(EXTRA_LINK_LIBS ${EXTRA_LINK_LIBS} ${SLEPC_LIB})
> set(EXTRA_LINK_LIBS ${EXTRA_LINK_LIBS} ${YAML_LIB})
> # set(EXTRA_LINK_LIBS ${EXTRA_LINK_LIBS} ${Matlab_ENG_LIBRARY})
>
>
> if(PETSC_METIS)
> set(EXTRA_LINK_LIBS ${EXTRA_LINK_LIBS} ${PETSC_METIS_LIB})
> message(STATUS "Use METIS in PETSc: " ${PETSC_METIS_LIB})
> else(PETSC_METIS)
> find_package(METIS)
> INCLUDE_DIRECTORIES(${METIS_INCLUDE_DIRS})
> set(EXTRA_LINK_LIBS ${EXTRA_LINK_LIBS} ${METIS_LIBRARIES})
> endif(PETSC_METIS)
>
> include_directories(${HDF5_INCLUDE_DIRS})
> set(EXTRA_LINK_LIBS ${EXTRA_LINK_LIBS} ${HDF5_LIBRARIES})
>
> message(STATUS "External Libraries: " ${EXTRA_LINK_LIBS})
>
> # ========================================================
> # Compiler options
> # ========================================================
> # Specify the MPI compilers. There should be compilers in
> # $PETSC_DIR/$PETSC_ARCH/bin, or the mpich you specified for
> # PETSc install.
> set(CMAKE_C_COMPILER /Users/lawkawai/lib/mpich-4.2.3-opt/bin/mpicc)
> set(CMAKE_CXX_COMPILER /Users/lawkawai/lib/mpich-4.2.3-opt/bin/mpicxx)
> set(CMAKE_CXX_STANDARD 11)
>
> if( ${CMAKE_BUILD_TYPE} MATCHES "Release" )
> set(CMAKE_CXX_FLAGS " -O3 -Wall ")
> else( ${CMAKE_BUILD_TYPE} MATCHES "Release" )
> set(CMAKE_CXX_FLAGS " -O0 -Wall ")
> endif( ${CMAKE_BUILD_TYPE} MATCHES "Release" )
>
> set(CMAKE_VERBOSE_MAKEFILE OFF)
>
> # EOF
>
>
>
>
>
> # cmake my project
> cmake ../../codes/MixPERIGEE/examples/elasticity_NURBS_TaylorHood -DCMKAE_BUILD_TYPE=Release
>
> -- The C compiler identification is AppleClang 16.0.0.16000026
>
> -- The CXX compiler identification is AppleClang 16.0.0.16000026
>
> -- Detecting C compiler ABI info
>
> -- Detecting C compiler ABI info - done
>
> -- Check for working C compiler: /Library/Developer/CommandLineTools/usr/bin/cc - skipped
>
> -- Detecting C compile features
>
> -- Detecting C compile features - done
>
> -- Detecting CXX compiler ABI info
>
> -- Detecting CXX compiler ABI info - done
>
> -- Check for working CXX compiler: /Library/Developer/CommandLineTools/usr/bin/c++ - skipped
>
> -- Detecting CXX compile features
>
> -- Detecting CXX compile features - done
>
> -- =================== System setup ==========================
>
> -- THE SYSTEM is Darwin
>
> -- Darwin-24.1.0
>
> -- CMAKE_BINARY_DIR: /Users/lawkawai/build/build_MixPERIGEE
>
> -- CMAKE_CURRENT_BINARY_DIR: /Users/lawkawai/build/build_MixPERIGEE
>
> -- CMAKE_SOURCE_DIR: /Users/lawkawai/codes/MixPERIGEE/examples/elasticity_NURBS_TaylorHood
>
> -- CMAKE_CURRENT_SOURCE_DIR: /Users/lawkawai/codes/MixPERIGEE/examples/elasticity_NURBS_TaylorHood
>
> -- PROJECT_BINARY_DIR: /Users/lawkawai/build/build_MixPERIGEE
>
> -- PROJECT_SOURCE_DIR: /Users/lawkawai/codes/MixPERIGEE/examples/elasticity_NURBS_TaylorHood
>
> -- EXECUTABLE_OUTPUT_PATH: /Users/lawkawai/build/build_MixPERIGEE
>
> -- LIBRARY_OUTPUT_PATH: /Users/lawkawai/build/build_MixPERIGEE/lib
>
> -- CMAKE_COMMAND: /opt/homebrew/bin/cmake
>
> -- CMAKE_SYSTEM_PROCESSOR: arm64
>
> -- CMAKE_AR: /Library/Developer/CommandLineTools/usr/bin/ar
>
> -- CMAKE_RANLIB: /Library/Developer/CommandLineTools/usr/bin/ranlib
>
> -- Performing Test CMAKE_HAVE_LIBC_PTHREAD
>
> -- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success
>
> -- Found Threads: TRUE
>
> -- Found OpenGL: /Library/Developer/CommandLineTools/SDKs/MacOSX15.1.sdk/System/Library/Frameworks/OpenGL.framework found components: OpenGL
>
> -- Found PETSc: /Users/lawkawai/lib/petsc-3.22.1-opt/./lib/libpetsc.dylib
>
> -- Found HDF5: /Users/lawkawai/lib/petsc-3.22.1-opt/lib/libhdf5.dylib;/Library/Developer/CommandLineTools/SDKs/MacOSX15.1.sdk/usr/lib/libdl.tbd;/Library/Developer/CommandLineTools/SDKs/MacOSX15.1.sdk/usr/lib/libm.tbd (found version "1.14.3")
>
> -- Found SLEPc: /Users/lawkawai/lib/petsc-3.22.1-opt/./lib/libslepc.dylib
>
> -- Found YAML: /Users/lawkawai/lib/yaml-shared/lib/libyaml-cpp.dylib
>
> -- Use METIS in PETSc: /Users/lawkawai/lib/petsc-3.22.1-opt/./lib/libmetis.dylib
>
> -- External Libraries:
VTK::WrappingToolsVTK::ViewsContext2DVTK::loguruVTK::TestingRenderingVTK::TestingCoreVTK::vtksysVTK::ViewsInfovisVTK::CommonColorVTK::RenderingVolumeOpenGL2VTK::glewVTK::openglVTK::RenderingLabelVTK::octreeVTK::RenderingLODVTK::RenderingLICOpenGL2VTK::RenderingImageVTK::RenderingContextOpenGL2VTK::RenderingCellGridVTK::IOVeraOutVTK::hdf5VTK::IOTecplotTableVTK::utf8VTK::IOSegYVTK::IOParallelXMLVTK::IOPLYVTK::IOOggTheoraVTK::theoraVTK::oggVTK::IONetCDFVTK::netcdfVTK::libprojVTK::IOMotionFXVTK::pegtlVTK::IOParallelVTK::jsoncppVTK::IOMINCVTK::IOLSDynaVTK::IOInfovisVTK::libxml2VTK::zlibVTK::IOImportVTK::IOIOSSVTK::fmtVTK::iossVTK::cgnsVTK::exodusIIVTK::IOFLUENTCFFVTK::IOVideoVTK::IOMovieVTK::IOExportPDFVTK::libharuVTK::IOExportGL2PSVTK::RenderingGL2PSOpenGL2VTK::gl2psVTK::pngVTK::IOExportVTK::RenderingVtkJSVTK::nlohmannjsonVTK::RenderingSceneGraphVTK::IOExodusVTK::IOEnSightVTK::IOCityGMLVTK::pugixmlVTK::IOChemistryVTK::IOCesium3DTilesVTK::IOGeometryVTK::IOCellGridVTK::IOCONVERGEC
FDVTK::IOHDFVTK::IOCGNSReaderVTK::IOAsynchronousVTK::IOAMRVTK::InteractionImageVTK::ImagingStencilVTK::ImagingStatisticsVTK::ImagingMorphologicalVTK::ImagingMathVTK::ImagingFourierVTK::IOSQLVTK::sqliteVTK::GeovisCoreVTK::InfovisLayoutVTK::ViewsCoreVTK::InteractionWidgetsVTK::RenderingVolumeVTK::RenderingAnnotationVTK::ImagingHybridVTK::ImagingColorVTK::InteractionStyleVTK::FiltersTopologyVTK::FiltersTensorVTK::FiltersSelectionVTK::FiltersSMPVTK::FiltersReductionVTK::FiltersProgrammableVTK::FiltersPointsVTK::FiltersParallelImagingVTK::FiltersImagingVTK::ImagingGeneralVTK::FiltersGeometryPreviewVTK::FiltersGenericVTK::FiltersFlowPathsVTK::eigenVTK::FiltersCellGridVTK::FiltersAMRVTK::FiltersParallelVTK::FiltersTextureVTK::FiltersModelingVTK::DomainsChemistryOpenGL2VTK::RenderingOpenGL2VTK::RenderingHyperTreeGridVTK::RenderingUIVTK::FiltersHybridVTK::DomainsChemistryVTK::ChartsCoreVTK::InfovisCoreVTK::FiltersExtractionVTK::ParallelDIYVTK::diy2VTK::IOXMLVTK::IOXMLParserVTK::expat
VTK::ParallelCoreVTK::IOLegacyVTK::IOCoreVTK::doubleconversionVTK::lz4VTK::lzmaVTK::fast_floatVTK::FiltersStatisticsVTK::FiltersHyperTreeVTK::ImagingSourcesVTK::IOImageVTK::DICOMParserVTK::jpegVTK::metaioVTK::tiffVTK::RenderingContext2DVTK::RenderingFreeTypeVTK::freetypeVTK::kwimlVTK::RenderingCoreVTK::FiltersSourcesVTK::ImagingCoreVTK::FiltersGeneralVTK::FiltersVerdictVTK::verdictVTK::FiltersGeometryVTK::CommonComputationalGeometryVTK::FiltersCoreVTK::CommonExecutionModelVTK::CommonDataModelVTK::CommonSystemVTK::CommonMiscVTK::exprtkVTK::CommonTransformsVTK::CommonMathVTK::kissfftVTK::CommonCore/Users/lawkawai/lib/petsc-3.22.1-opt/lib/libhdf5.dylib/Library/Developer/CommandLineTools/SDKs/MacOSX15.1.sdk/usr/lib/libdl.tbd/Library/Developer/CommandLineTools/SDKs/MacOSX15.1.sdk/usr/lib/libm.tbd/Users/lawkawai/lib/petsc-3.22.1-opt/./lib/libpetsc.dylib/Users/lawkawai/lib/petsc-3.22.1-opt/./lib/libmetis.dylib/Users/lawkawai/lib/petsc-3.22.1-opt/./lib/libslepc.dylib/Users/lawkawai/
lib/yaml-shared/lib/libyaml-cpp.dylib/Users/lawkawai/lib/petsc-3.22.1-opt/./lib/libmetis.dylib/Users/lawkawai/lib/petsc-3.22.1-opt/lib/libhdf5.dylib/Library/Developer/CommandLineTools/SDKs/MacOSX15.1.sdk/usr/lib/libdl.tbd/Library/Developer/CommandLineTools/SDKs/MacOSX15.1.sdk/usr/lib/libm.tbd
>
> -- Configuring done (0.9s)
>
> -- Generating done (0.1s)
>
> -- Build files have been written to: /Users/lawkawai/build/build_MixPERIGEE
>
>
>
> ./preprocess3d
>
> ========= Partition quality information =========
>
> The largest ghost / local node ratio is: 0.1126126126126126
>
> The smallest ghost / local node ratio is: 0.1126126126126126
>
> The summation of the number of ghost nodes is: 47
>
> The maximum badnode number is: 0
>
> The maximum and minimum local node numbers are 222 222
>
> The maximum / minimum of local node is: 1
>
>
>
>
> ================== Clean memory =================
>
> -- Mesh_NURBS_MultiPatch_3D deleted.
>
> -- Mesh_NURBS_MultiPatch_3D deleted.
>
>
>
>
>
> mpirun -np 2 ./mixed_ga_drive
>
> Time is 13:09:19 2024/11/15
>
> ===> Assembly mass matrix and residual vector.
>
> [0]PETSC ERROR: --------------------- Error Message --------------------------------------------------------------
>
> [0]PETSC ERROR: Unknown type. Check for miss-spelling or missing package: https://urldefense.us/v3/__https://petsc.org/release/install/install/*external-packages__;Iw!!G_uCfscf7eWS!Zte1-UKulqdgdberr4xeYOwxdsIKJsn3gxvhrGC3D2xGk5lM8RZhduBb5ksvmdJzUmO22D93HJ3f9_S87-hNinWapw$
>
> [0]PETSC ERROR: Unable to find requested PC type hypre
>
> [0]PETSC ERROR: WARNING! There are unused option(s) set! Could be the program crashed before usage or a spelling mistake, etc!
>
> [0]PETSC ERROR: Option left: name:-ksp_type value: gmres source: file
>
> [0]PETSC ERROR: Option left: name:-pc_factor_mat_solver_type value: mumps source: file
>
> [0]PETSC ERROR: Option left: name:-pc_type value: lu source: file
>
> [0]PETSC ERROR: See https://urldefense.us/v3/__https://petsc.org/release/faq/__;!!G_uCfscf7eWS!Zte1-UKulqdgdberr4xeYOwxdsIKJsn3gxvhrGC3D2xGk5lM8RZhduBb5ksvmdJzUmO22D93HJ3f9_S87-gz5ZACkg$ for trouble shooting.
>
> [0]PETSC ERROR: Petsc Release Version 3.22.1, Oct 28, 2024
>
> [0]PETSC ERROR: ./mixed_ga_driver with 2 MPI process(es) and PETSC_ARCH on lawkawais-MacBook-Pro.local by lawkawai Fri Nov 15 13:09:19 2024
>
> [0]PETSC ERROR: Configure options: --with-x=0 -with-pic --with-make-np=4 --with-mpi-compilers=1 --with-mpi-dir=/Users/lawkawai/lib/mpich-4.2.3-opt/ --with-scalar-type=real --with-precision=double --with-mumps=1 --download-mumps --with-scalapack=1 --download-scalapack --with-blacs=1 --download-blacs --download-fblaslapack --download-metis --download-hdf5 --with-debugging=no --download-slepc --prefix=/Users/lawkawai/lib/petsc-3.22.1-opt
>
> [0]PETSC ERROR: #1 PCSetType() at /Users/lawkawai/lib/petsc-3.22.1-src/src/ksp/pc/interface/pcset.c:59
>
> Residual norms for ls_mass_ solve.
>
> 0 KSP Residual norm 1.337529422525e+02
>
> 1 KSP Residual norm 5.908055492162e+01
>
>
>
> Time = 2.000000e-02, dt = 1.000000e-02, index = 2
>
> --- M updated Init res 2-norm: 2.599563e+05
>
> [0]PETSC ERROR: ------------------------------------------------------------------------
>
> [0]PETSC ERROR: Caught signal number 11 SEGV: Segmentation Violation, probably memory access out of range
>
> [0]PETSC ERROR: Try option -start_in_debugger or -on_error_attach_debugger
>
> [0]PETSC ERROR: or see https://urldefense.us/v3/__https://petsc.org/release/faq/*valgrind__;Iw!!G_uCfscf7eWS!Zte1-UKulqdgdberr4xeYOwxdsIKJsn3gxvhrGC3D2xGk5lM8RZhduBb5ksvmdJzUmO22D93HJ3f9_S87-gzBqq2dw$ and https://urldefense.us/v3/__https://petsc.org/release/faq/__;!!G_uCfscf7eWS!Zte1-UKulqdgdberr4xeYOwxdsIKJsn3gxvhrGC3D2xGk5lM8RZhduBb5ksvmdJzUmO22D93HJ3f9_S87-gz5ZACkg$
>
> [0]PETSC ERROR: configure using --with-debugging=yes, recompile, link, and run
>
> [0]PETSC ERROR: to get more information on the crash.
>
> [0]PETSC ERROR: Run with -malloc_debug to check if memory corruption is causing the crash.
>
> Abort(59) on node 0 (rank 0 in comm 0): application called MPI_Abort(MPI_COMM_WORLD, 59) - process 0
>
>
>
>
> when driver using cpu number >= 2, Petsc cannot work. But for cpu of 1, it's working.
> What is the problem ?
>
>
>
>
>
>
> David Jiawei LUO LIANG
>
>
>
> 南方科技大学/学生/研究生/2024
>
>
>
> 广东省深圳市南山区学苑大道1088号
>
>
>
>
>
>
>
> ------------------ Original ------------------
> From: "Satish Balay"<balay.anl at fastmail.org>;
> Date: Mon, Nov 11, 2024 11:40 PM
> To: "David Jiawei LUO LIANG"<12431140 at mail.sustech.edu.cn>;
> Cc: "Satish Balay"<balay.anl at fastmail.org>; "petsc-dev"<petsc-dev at mcs.anl.gov>;
> Subject: Re: ????????????[petsc-dev] petsc compatibility issues with slepc
>
>
>
> On Mon, 11 Nov 2024, David Jiawei LUO LIANG wrote:
>
> > But there still be some linking issues because my MacBook is arm64 architecture which is incompatible with x86
>
> with source install - everything should be built for arm64 - and there should be no "mixing" with x86 libraries.
>
> Satish
More information about the petsc-dev
mailing list