Please send configure.log (best to petsc-ma...@mcs.anl.gov).


> On Nov 13, 2023, at 11:41 AM, Abhinav Singh <abhinavrajen...@gmail.com> wrote:
> 
> Dear Petsc devs,
> 
> I have been having issues lately when compiling petsc on MacOS with various 
> libraries. This is probably due to the updated linker in MacOS and 
> unfortunately the newer operating systems do not allow using older toolchains.
> 
> on arm64, only 3.20 and up can be configured
> 
> 
> My configure command usually looks like this:
> 'sudo ./configure  COPTFLAGS=-O3 -g CXXOPTFLAGS=-O3 -g FOPTFLAGS=-O3 -g 
> --with-cxx-dialect=C++11 --with-mpi-dir=/opt/openfpm/dep_clang/MPI 
> --with-64-bit-indices  --with-parmetis-dir=/opt/openfpm/dep_clang/PARMETIS 
> --with-metis-dir=/opt/openfpm/dep_clang/METIS --with-boost=yes 
> --with-boost-dir=/opt/openfpm/dep_clang/BOOST 
> --with-suitesparse-dir=/opt/openfpm/dep_clang/SUITESPARSE 
> --download-superlu_dist --download-hypre 
> --prefix=/opt/openfpm/dep_clang/PETSC --download-scalapack --download-mumps 
> --with-debugging=0 --with-clean
> '
> 
> There are two main issues:
> 
> 1) Duplicate 'LC_Paths' when compiling code with apple clang and gfortran. If 
> I enable download_scalapack, the the cmake findPetsc fails with the following 
> error on both x86 and arm64:
> """
>  kind: "try_run-v1"
>     backtrace:
>       - 
> "/opt/homebrew/Cellar/cmake/3.27.7/share/cmake/Modules/Internal/CheckSourceRuns.cmake:93
>  (try_run)"
>       - 
> "/opt/homebrew/Cellar/cmake/3.27.7/share/cmake/Modules/CheckCSourceRuns.cmake:52
>  (cmake_check_source_runs)"
>       - "cmake_modules/FindPackageMultipass.cmake:97 (check_c_source_runs)"
>       - "cmake_modules/FindPETSc.cmake:284 (multipass_source_runs)"
>       - "cmake_modules/FindPETSc.cmake:318 (petsc_test_runs)"
>       - "CMakeLists.txt:69 (find_package)"
>     checks:
>       - "Performing Test MULTIPASS_TEST_4_petsc_works_all"
>     directories:
>       source: 
> "/Users/absingh/openfpm_pdata/build/CMakeFiles/CMakeScratch/TryCompile-LJcmJB"
>       binary: 
> "/Users/absingh/openfpm_pdata/build/CMakeFiles/CMakeScratch/TryCompile-LJcmJB"
>     cmakeVariables:
>       CMAKE_C_FLAGS: ""
>       CMAKE_EXE_LINKER_FLAGS: ""
>       CMAKE_MODULE_PATH: "/Users/absingh/openfpm_pdata/cmake_modules/"
>       CMAKE_OSX_ARCHITECTURES: ""
>       CMAKE_OSX_DEPLOYMENT_TARGET: ""
>       CMAKE_OSX_SYSROOT: 
> "/Library/Developer/CommandLineTools/SDKs/MacOSX14.0.sdk"
>     buildResult:
>       variable: "MULTIPASS_TEST_4_petsc_works_all_COMPILED"
>       cached: true
>       stdout: |
>         Change Dir: 
> '/Users/absingh/openfpm_pdata/build/CMakeFiles/CMakeScratch/TryCompile-LJcmJB'
>         
>         Run Build Command(s): /opt/homebrew/Cellar/cmake/3.27.7/bin/cmake -E 
> env VERBOSE=1 /usr/bin/make -f Makefile cmTC_e0165/fast
>         /Library/Developer/CommandLineTools/usr/bin/make  -f 
> CMakeFiles/cmTC_e0165.dir/build.make CMakeFiles/cmTC_e0165.dir/build
>         Building C object CMakeFiles/cmTC_e0165.dir/src.c.o
>         /Library/Developer/CommandLineTools/usr/bin/cc 
> -DMULTIPASS_TEST_4_petsc_works_all -I/opt/openfpm/dep_clang/PETSC/include 
> -I/opt/openfpm/dep_clang/SUITESPARSE/include 
> -I/opt/openfpm/dep_clang/PARMETIS/include 
> -I/opt/openfpm/dep_clang/METIS/include -I/opt/openfpm/dep_clang/BOOST/include 
> -I/opt/openfpm/dep_clang/MPI/include -arch arm64 -isysroot 
> /Library/Developer/CommandLineTools/SDKs/MacOSX14.0.sdk -MD -MT 
> CMakeFiles/cmTC_e0165.dir/src.c.o -MF CMakeFiles/cmTC_e0165.dir/src.c.o.d -o 
> CMakeFiles/cmTC_e0165.dir/src.c.o -c 
> /Users/absingh/openfpm_pdata/build/CMakeFiles/CMakeScratch/TryCompile-LJcmJB/src.c
>         Linking C executable cmTC_e0165
>         /opt/homebrew/Cellar/cmake/3.27.7/bin/cmake -E cmake_link_script 
> CMakeFiles/cmTC_e0165.dir/link.txt --verbose=1
>         /Library/Developer/CommandLineTools/usr/bin/cc  -arch arm64 -isysroot 
> /Library/Developer/CommandLineTools/SDKs/MacOSX14.0.sdk 
> -Wl,-search_paths_first -Wl,-headerpad_max_install_names 
> CMakeFiles/cmTC_e0165.dir/src.c.o -o cmTC_e0165  
> -Wl,-rpath,/opt/openfpm/dep_clang/PETSC/lib 
> -Wl,-rpath,/opt/openfpm/dep_clang/SUITESPARSE/lib 
> /opt/openfpm/dep_clang/PETSC/lib/libpetsc.dylib 
> /opt/openfpm/dep_clang/PETSC/lib/libHYPRE.dylib 
> /opt/openfpm/dep_clang/SUITESPARSE/lib/libspqr.dylib 
> /opt/openfpm/dep_clang/SUITESPARSE/lib/libumfpack.dylib 
> /opt/openfpm/dep_clang/SUITESPARSE/lib/libklu.dylib 
> /opt/openfpm/dep_clang/SUITESPARSE/lib/libcholmod.dylib 
> /opt/openfpm/dep_clang/SUITESPARSE/lib/libbtf.dylib 
> /opt/openfpm/dep_clang/SUITESPARSE/lib/libccolamd.dylib 
> /opt/openfpm/dep_clang/SUITESPARSE/lib/libcolamd.dylib 
> /opt/openfpm/dep_clang/SUITESPARSE/lib/libcamd.dylib 
> /opt/openfpm/dep_clang/SUITESPARSE/lib/libamd.dylib 
> /opt/openfpm/dep_clang/SUITESPARSE/lib/libsuitesparseconfig.dylib 
> /opt/openfpm/dep_clang/PETSC/lib/libdmumps.a 
> /opt/openfpm/dep_clang/PETSC/lib/libmumps_common.a 
> /opt/openfpm/dep_clang/PETSC/lib/libpord.a 
> /Library/Developer/CommandLineTools/SDKs/MacOSX14.0.sdk/usr/lib/libpthread.tbd
>  /opt/openfpm/dep_clang/PETSC/lib/libscalapack.dylib 
> /opt/openfpm/dep_clang/PETSC/lib/libsuperlu_dist.dylib 
> /Library/Developer/CommandLineTools/SDKs/MacOSX14.0.sdk/usr/lib/liblapack.tbd 
> /Library/Developer/CommandLineTools/SDKs/MacOSX14.0.sdk/usr/lib/libblas.tbd 
> /opt/openfpm/dep_clang/PARMETIS/lib/libparmetis.a 
> /opt/openfpm/dep_clang/METIS/lib/libmetis.dylib 
> /opt/openfpm/dep_clang/MPI/lib/libmpi_usempif08.dylib 
> /opt/openfpm/dep_clang/MPI/lib/libmpi_usempi_ignore_tkr.a 
> /opt/openfpm/dep_clang/MPI/lib/libmpi_mpifh.dylib 
> /opt/openfpm/dep_clang/MPI/lib/libmpi.dylib 
> /opt/homebrew/Cellar/gcc/13.2.0/lib/gcc/current/libgfortran.dylib 
> /opt/homebrew/Cellar/gcc/13.2.0/lib/gcc/current/gcc/aarch64-apple-darwin23/13/libemutls_w.a
>  /opt/homebrew/Cellar/gcc/13.2.0/lib/gcc/current/libquadmath.dylib 
> /Library/Developer/CommandLineTools/SDKs/MacOSX14.0.sdk/usr/lib/libc++.tbd 
> /Library/Developer/CommandLineTools/SDKs/MacOSX14.0.sdk/usr/lib/libgcc_s.1.tbd
>  
>         ld: warning: duplicate LC_RPATH are deprecated 
> ('/opt/homebrew/Cellar/gcc/13.2.0/lib/gcc/current/gcc/aarch64-apple-darwin23/13')
>         ld: warning: duplicate LC_RPATH are deprecated 
> ('/opt/homebrew/Cellar/gcc/13.2.0/lib/gcc/current/gcc')
>         ld: warning: duplicate LC_RPATH are deprecated 
> ('/opt/homebrew/Cellar/gcc/13.2.0/lib/gcc/current')
>         ld: warning: duplicate LC_RPATH are deprecated 
> ('/opt/homebrew/Cellar/gcc/13.2.0/lib/gcc/current/gcc/aarch64-apple-darwin23/13')
>         ld: warning: duplicate LC_RPATH are deprecated 
> ('/opt/homebrew/Cellar/gcc/13.2.0/lib/gcc/current/gcc')
>         ld: warning: duplicate LC_RPATH are deprecated 
> ('/opt/homebrew/Cellar/gcc/13.2.0/lib/gcc/current')
>         ld: duplicate LC_RPATH 
> '/opt/homebrew/Cellar/gcc/13.2.0/lib/gcc/current/gcc/aarch64-apple-darwin23/13'
>  in '/opt/openfpm/dep_clang/PETSC/lib/libscalapack.2.2.1.dylib'
>         clang: error: linker command failed with exit code 1 (use -v to see 
> invocation)
>         make[1]: *** [cmTC_e0165] Error 1
>         make: *** [cmTC_e0165/fast] Error 2
>         
>       exitCode: 2
>     runResult:
>       variable: "MULTIPASS_TEST_4_petsc_works_all_EXITCODE"
>       cached: true
> """
> 
> Second, on arm64, I am unable to use the option 
> "with-metis-dir=/path/to/metis". The installation works fine but when I run 
> make check, I get the error that 'libmetis.dylib' is not found. This behavior 
> continues even when I export 'DYLD_LIBRARY_PATH' to have the libmetis. CMake 
> findPetsc also fails with the same error.
> 
> Any advice would be great. 
> 
> Thank you!
> Abhinav
> 
> 
> 
> 
> 
> 
> 
> 
> 

Reply via email to