scivision / mumps

MUMPS via CMake
http://mumps-solver.org
MIT License
115 stars 46 forks source link

Elmer Mac installation issues #94

Open bshgithub opened 3 months ago

bshgithub commented 3 months ago

Hi I'm trying to install Elmer using mpi, but I'm having issues. I've been following the directions here:https://www.youtube.com/watch?v=h7PswPM9qtk&t=93s, and everything is fine. until I get to: cmake -DWITH_ELMERGUI:BOOL=TRUE -DWITH_MPI:BOOL=TRUE -DWITH_LUA:BOOL=TRUE -DWITH_Mumps:BOOL=TRUE -DMUMPSROOT=../mumps -DCMAKE_INSTALL_PREFIX=../install ../elmerfem- as I get an error message saying:Finding Mumps CMake Error at cmake/Modules/FindMumps.cmake:149 (MESSAGE): Mumps library not found. Call Stack (most recent call first): CMakeLists.txt:407 (FIND_PACKAGE). Also when running -cmake -Dparallel=true -Darith=d -Dmetis=true -B build- I have to run it twice before it can compile without errors. Can anyone help me with this? Thanks.(I'm on an Intel Mac)

scivision commented 2 months ago

I'm not sure what error you are seeing. The options you seem to want from MUMPS are

cmake -Dparallel=on -DBUILD_SINGLE=off -DBUILD_DOUBLE=on -Dmetis=true -DCMAKE_INSTALL_PREFIX=~/mumps -B build

Then doing

cmake --build build
cmake --install build

results in numerous files installed under ~/mumps

-- Installing: /Users/me/mumps/cmake/FindLAPACK.cmake
-- Installing: /Users/me/mumps/cmake/FindSCALAPACK.cmake
-- Installing: /Users/me/mumps/cmake/FindMETIS.cmake
-- Installing: /Users/me/mumps/cmake/FindScotch.cmake
-- Installing: /Users/me/mumps/cmake/FindMUMPS.cmake
-- Installing: /Users/me/mumps/lib/libpord.a
-- Installing: /Users/me/mumps/lib/libmumps_common.a
-- Installing: /Users/me/mumps/lib/libdmumps.a
-- Installing: /Users/me/mumps/include/dmumps_c.h
-- Installing: /Users/me/mumps/include/dmumps_root.h
-- Installing: /Users/me/mumps/include/dmumps_struc.h
-- Installing: /Users/me/mumps/include/mumps_int_def.h
-- Installing: /Users/me/mumps/include/mumps_c_types.h
-- Installing: /Users/me/mumps/include/mumps_compat.h
-- Installing: /Users/me/mumps/cmake/MUMPS-targets.cmake
-- Installing: /Users/me/mumps/cmake/MUMPS-targets-release.cmake
-- Installing: /Users/me/mumps/cmake/MUMPSConfig.cmake
-- Installing: /Users/me/mumps/cmake/MUMPSConfigVersion.cmake
-- Installing: /Users/me/mumps/share/docs/MUMPS/README.md
-- Installing: /Users/me/mumps/share/docs/MUMPS/LICENSE
scivision commented 2 months ago

ElmerFEM seems to have a custom FindMUMPS that may be overriding the CMake package install from this project. I also think you should try

-DMUMPS_ROOT=~/mumps

instead of -DMUMPSROOT as that might not be what CMake expects.

In short, if you can tell me more of what errors you see when trying to build MUMPS itself. And, I think ElmerFEM might want to not override this packages MUMPS CMake. In the ElmerFEM CMakeLists.txt they might want to update like


IF(WITH_Mumps)
  find_package(MUMPS CONFIG)
  if(NOT MUMPS_FOUND)
    FIND_PACKAGE(Mumps REQUIRED)
  endif()
ENDIF()
bshgithub commented 2 months ago

Hi,Thank you for the information. I’ll give it a try!Thanks again,BareaSent from my iPhoneOn 26 Aug 2024, at 09:48, scivision @.***> wrote: ElmerFEM seems to have a custom FindMUMPS that may be overriding the CMake package install from this project. I also think you should try -DMUMPS_ROOT=~/mumps instead of -DMUMPSROOT as that might not be what CMake expects. In short, if you can tell me more of what errors you see when trying to build MUMPS itself. And, I think ElmerFEM might want to not override this packages MUMPS CMake. In the ElmerFEM CMakeLists.txt they might want to update like IF(WITH_Mumps) find_package(MUMPS CONFIG) if(NOT MUMPS_FOUND) FIND_PACKAGE(Mumps REQUIRED) endif() ENDIF()

—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you authored the thread.Message ID: @.***>

scivision commented 2 months ago

Yes I've made a pull request over at Elmer FEM. Their cmake project as it was would not possibly work with regular packages. Like mumps. There were a number of mistakes that I'm working with them to correct in the Elmerfem cmake script

bshgithub commented 2 months ago

here are the errors I get(when running cmake -DWITH_ELMERGUI:BOOL=TRUE -DWITH_MPI:BOOL=TRUE -DWITH_LUA: BOOL=TRUE -DWITH_Mumps :BOOL=TRUE - -DMUMPS_ROOT=~/mumps -DCMAKE_INS): CMake Error: Unknown argument - CMake Error: Run 'cmake --help' for all supported options. zsh: permission denied: ../elmerfem bareaseeley-harris@Bareas-MacBook-Pro-2 mumps % cmake -DWITH_ELMERGUI:BOOL=TRUE -DWITH_MPI:BOOL=TRUE -DWITH_LUA:BOOL=TRUE -DWITH_Mumps:BOOL=TRUE -DMUMPS_ROOT=~/mumps -DCMAKE_INSTALL_PREFIX=../install ../elmerfem -- The Fortran compiler identification is GNU 14.2.0 -- The C compiler identification is AppleClang 15.0.0.15000309 -- The CXX compiler identification is AppleClang 15.0.0.15000309 -- Checking whether Fortran compiler has -isysroot -- Checking whether Fortran compiler has -isysroot - yes -- Checking whether Fortran compiler supports OSX deployment target flag -- Checking whether Fortran compiler supports OSX deployment target flag - yes -- Detecting Fortran compiler ABI info -- Detecting Fortran compiler ABI info - done -- Check for working Fortran compiler: /usr/local/bin/gfortran - skipped -- 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 -- Detected Homebrew install at /usr/local -- Checking whether GFortran version >= 7 -- yes -- Found MPI_C: /usr/local/Cellar/open-mpi/5.0.3_1/lib/libmpi.dylib (found version "3.1") -- Found MPI_CXX: /usr/local/Cellar/open-mpi/5.0.3_1/lib/libmpi.dylib (found version "3.1") -- Found MPI_Fortran: /usr/local/Cellar/open-mpi/5.0.3_1/lib/libmpi_usempif08.dylib (found version "3.1") -- Found MPI: TRUE (found version "3.1") -- Checking whether MPI_IN_PLACE is supported with /usr/local/bin/mpif90 -- Checking whether MPI_IN_PLACE is supported with /usr/local/bin/mpif90 -- yes


-- Looking for Fortran sgemm -- Looking for Fortran seem - not found -- Performing Test CMAKE_HAVE_LIBC_PTHREAD -- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success -- Found Threads: TRUE -- Looking for Fortran dgemm -- Looking for Fortran dgemm - found -- Found BLAS: /Library/Developer/CommandLineTools/SDKs/MacOSX14.4.sdk/System/Library/Frameworks/Accelerate.framework -- Looking for Fortran cheev -- Looking for Fortran cheev - found -- Found LAPACK: /Library/Developer/CommandLineTools/SDKs/MacOSX14.4.sdk/System/Library/Frameworks/Accelerate.framework;-lm;-ldl

bshgithub commented 2 months ago

also I get this warning:CMake Warning: Ignoring extra path from command line:

":BOOL=TRUE"