- Thank you received: 0
Building NGSolve on M1 Mac
3 years 5 days ago #4080
by alex.v
Building NGSolve on M1 Mac was created by alex.v
I am trying to install NGSolve from source on my M1 Mac, for arm rather than intel. I am doing this since I am working with python 3.9, but the distributed executable is only available for python 3.8.
My install script is:
The cmake command returns:
So it seems to have found python correctly. However, when I run make, I get the following error:
Any idea of what's going wrong?
My install script is:
Code:
export NGROOT=/Users/alex/Documents/GitHub/ngsolve
mkdir $NGROOT/ngsolve-build
cd $NGROOT/ngsolve-build
cmake $NGROOT/ngsolve-src -DPYTHON_LIBRARY=$(python3 -c "import distutils.sysconfig as sysconfig; print(sysconfig.get_config_var('LIBDIR')+'/libpython3.9.dylib')") -DPYTHON_INCLUDE_DIR=$(python3 -c "from distutils.sysconfig import get_python_inc; print(get_python_inc())")
make
make install
The cmake command returns:
Code:
Configure Netgen from submodule...
...
-- Found Pybind11: /Users/alex/Documents/GitHub/ngsolve/ngsolve-src/external_dependencies/netgen/external_dependencies/pybind11/include
-- Found PythonInterp: /opt/homebrew/bin/python3 (found suitable version "3.9.8", minimum required is "3")
-- Found PythonLibs: /opt/homebrew/opt/python@3.9/Frameworks/Python.framework/Versions/3.9/lib/libpython3.9.dylib (found suitable version "3.9.8", minimum required is "3")
So it seems to have found python correctly. However, when I run make, I get the following error:
Code:
Install the project...
-- Install configuration: ""
-- Installing: /Applications/Netgen.app/Contents/MacOS/tkdnd2.8/libtkdnd2.8.dylib
-- Installing: /Applications/Netgen.app/Contents/MacOS/tkdnd2.8/pkgIndex.tcl
-- Up-to-date: /Applications/Netgen.app/Contents/MacOS/tkdnd2.8/tkdnd.tcl
-- Up-to-date: /Applications/Netgen.app/Contents/MacOS/tkdnd2.8/tkdnd_generic.tcl
-- Up-to-date: /Applications/Netgen.app/Contents/MacOS/tkdnd2.8/tkdnd_compat.tcl
-- Up-to-date: /Applications/Netgen.app/Contents/MacOS/tkdnd2.8/tkdnd_macosx.tcl
-- Up-to-date: /Applications/Netgen.app/Contents/MacOS/tkdnd2.8/tkdnd_unix.tcl
-- Up-to-date: /Applications/Netgen.app/Contents/MacOS/tkdnd2.8/tkdnd_windows.tcl
[ 70%] Completed 'project_tkdnd'
[ 70%] Built target project_tkdnd
[ 73%] Creating directories for 'netgen'
[ 76%] No download step for 'netgen'
[ 79%] No update step for 'netgen'
[ 82%] No patch step for 'netgen'
[ 85%] Performing configure step for 'netgen'
-- The C compiler identification is AppleClang 13.0.0.13000029
-- The CXX compiler identification is AppleClang 13.0.0.13000029
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/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: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found Git: /usr/bin/git (found version "2.30.1 (Apple Git-130)")
-- Found PythonInterp: /opt/homebrew/bin/python3 (found suitable version "3.9.8", minimum required is "3")
CMake Error at /opt/homebrew/Cellar/cmake/3.21.4/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:230 (message):
Could NOT find PythonLibs (missing: PYTHON_LIBRARIES PYTHON_INCLUDE_DIRS)
(Required is at least version "3")
Call Stack (most recent call first):
/opt/homebrew/Cellar/cmake/3.21.4/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:594 (_FPHSA_FAILURE_MESSAGE)
/opt/homebrew/Cellar/cmake/3.21.4/share/cmake/Modules/FindPythonLibs.cmake:310 (FIND_PACKAGE_HANDLE_STANDARD_ARGS)
CMakeLists.txt:126 (find_package)
-- Configuring incomplete, errors occurred!
See also "/Users/alex/Documents/GitHub/ngsolve/ngsolve-build/netgen/netgen/CMakeFiles/CMakeOutput.log".
See also "/Users/alex/Documents/GitHub/ngsolve/ngsolve-build/netgen/netgen/CMakeFiles/CMakeError.log".
make[5]: *** [dependencies/src/netgen-stamp/netgen-configure] Error 1
make[4]: *** [CMakeFiles/netgen.dir/all] Error 2
make[3]: *** [all] Error 2
make[2]: *** [dependencies/src/netgen_project-stamp/netgen_project-build] Error 2
make[1]: *** [CMakeFiles/netgen_project.dir/all] Error 2
make: *** [all] Error 2
Any idea of what's going wrong?
Time to create page: 0.091 seconds