leoliuf / MRiLab

A Numerical Magnetic Resonance Imaging (MRI) Simulation Platform
https://leoliuf.github.io/MRiLab/
BSD 2-Clause "Simplified" License
194 stars 63 forks source link

Installation on MacOS High Sierra #13

Open pimpul opened 6 years ago

pimpul commented 6 years ago

Hello, I'd like to run MRiLab on Mac, but I'm running into cmake compilation issues. I'm not a cmake expert, but what I did is:

  1. Install packages with homebrew:

    ~$ brew install cmake
    ~$ brew install vtk
    ~$ brew install boost
  2. obtain and install IPP from https://software.seek.intel.com/performance-libraries.

  3. add to .bash_profile:

    MATLAB_ROOT=/Applications/MATLAB_R2017b.app/bin
    export MATLAB_ROOT
    . /opt/intel/ipp/bin/ippvars.sh #sets environment variables for IPP 
    IPP_ROOT=$IPPROOT
    export IPP_ROOT
  4. modify FindIPP.cmake:

IF ($ENV{IPP_ROOT} MATCHES .*compilers_and_libraries_2018.1.126.*)

However, the libraries on Mac have different names than on Linux..which one is which?

libipp_iw.a       libippchk0.dylib* libippcvp8.dylib* libippie9.dylib*  libippsp8.dylib*
libippcc.a        libippchl9.dylib* libippcvs8.dylib* libippig9.dylib*  libippss8.dylib*
libippcc.dylib*   libippchn8.dylib* libippcvy8.dylib* libippih9.dylib*  libippsy8.dylib*
libippcce9.dylib* libippchp8.dylib* libippdc.a        libippik0.dylib*  libippvm.a
libippccg9.dylib* libippchs8.dylib* libippdc.dylib*   libippil9.dylib*  libippvm.dylib*
libippcch9.dylib* libippchy8.dylib* libippdce9.dylib* libippin8.dylib*  libippvme9.dylib*
libippcck0.dylib* libippcore.a      libippdcg9.dylib* libippip8.dylib*  libippvmg9.dylib*
libippccl9.dylib* libippcore.dylib* libippdch9.dylib* libippis8.dylib*  libippvmh9.dylib*
libippccn8.dylib* libippcore_tl.a   libippdck0.dylib* libippiy8.dylib*  libippvmk0.dylib*
libippccp8.dylib* libippcv.a        libippdcl9.dylib* libipps.a         libippvml9.dylib*
libippccs8.dylib* libippcv.dylib*   libippdcn8.dylib* libipps.dylib*    libippvmn8.dylib*
libippccy8.dylib* libippcve9.dylib* libippdcp8.dylib* libippse9.dylib*  libippvmp8.dylib*
libippch.a        libippcvg9.dylib* libippdcs8.dylib* libippsg9.dylib*  libippvms8.dylib*
libippch.dylib*   libippcvh9.dylib* libippdcy8.dylib* libippsh9.dylib*  libippvmy8.dylib*
libippche9.dylib* libippcvk0.dylib* libippi.a         libippsk0.dylib*
libippchg9.dylib* libippcvl9.dylib* libippi.dylib*    libippsl9.dylib*
libippchh9.dylib* libippcvn8.dylib* libippi_tl.a      libippsn8.dylib*

the include/ files are:

ipp.h         ippch.h       ippcv.h       ippdefs_l.h   ipps.h        ippversion.h
ippbase.h     ippcore.h     ippcv_l.h     ippi.h        ipps_l.h      ippvm.h
ippcc.h       ippcore_l.h   ippdc.h       ippi_l.h      ipptypes.h    iw/
  1. try to compile with cmake:
    
    ~/bin/MRiLab/build$ cmake ../Lib/src/
    -- MATLAB_ROOT: /Applications/MATLAB_R2017b.app/bin
    -- IPP_ROOT (IPP 7): /opt/intel/compilers_and_libraries_2018.1.126/mac/ipp
    -- Could NOT find IPP (missing: IPP_LIBRARIES) 
    -- FRAMEWAVE_ROOT environment variable not set.
    -- In Linux this can be done in your user .bashrc file by appending the corresponding line, e.g:
    -- export FRAMEWAVE_ROOT=/usr/local/framewave/build
    -- In Windows this can be done by adding system variable, e.g:
    -- FRAMEWAVE_ROOT=C:\Program Files\FRAMEWAVE_1.3.1_SRC\Framewave\build
    -- Could NOT find Framewave (missing: FW_LIBRARIES FW_INCLUDE_DIR) 
    -- Could NOT find OpenMP_C (missing: OpenMP_C_FLAGS OpenMP_C_LIB_NAMES) 
    -- Could NOT find OpenMP_CXX (missing: OpenMP_CXX_FLAGS OpenMP_CXX_LIB_NAMES) 
    -- Could NOT find OpenMP (missing: OpenMP_C_FOUND OpenMP_CXX_FOUND) 
    CUDA_TOOLKIT_ROOT_DIR not found or specified
    -- Could NOT find CUDA (missing: CUDA_TOOLKIT_ROOT_DIR CUDA_NVCC_EXECUTABLE CUDA_INCLUDE_DIRS CUDA_CUDART_LIBRARY) 
    -- Could NOT find Ismrmrd (missing: ISMRMRD_INCLUDE_DIR ISMRMRD_LIBRARIES ISMRMRD_SCHEMA_DIR) 
    CMake Warning at /usr/local/Cellar/cmake/3.10.2/share/cmake/Modules/FindBoost.cmake:801 (message):
    New Boost version may have incorrect or missing dependencies and imported
    targets
    Call Stack (most recent call first):
    /usr/local/Cellar/cmake/3.10.2/share/cmake/Modules/FindBoost.cmake:907 (_Boost_COMPONENT_DEPENDENCIES)
    /usr/local/Cellar/cmake/3.10.2/share/cmake/Modules/FindBoost.cmake:1542 (_Boost_MISSING_DEPENDENCIES)
    CMakeLists.txt:20 (find_package)

CMake Warning at /usr/local/Cellar/cmake/3.10.2/share/cmake/Modules/FindBoost.cmake:801 (message): New Boost version may have incorrect or missing dependencies and imported targets Call Stack (most recent call first): /usr/local/Cellar/cmake/3.10.2/share/cmake/Modules/FindBoost.cmake:907 (_Boost_COMPONENT_DEPENDENCIES) /usr/local/Cellar/cmake/3.10.2/share/cmake/Modules/FindBoost.cmake:1542 (_Boost_MISSING_DEPENDENCIES) CMakeLists.txt:20 (find_package)

CMake Warning at /usr/local/Cellar/cmake/3.10.2/share/cmake/Modules/FindBoost.cmake:801 (message): New Boost version may have incorrect or missing dependencies and imported targets Call Stack (most recent call first): /usr/local/Cellar/cmake/3.10.2/share/cmake/Modules/FindBoost.cmake:907 (_Boost_COMPONENT_DEPENDENCIES) /usr/local/Cellar/cmake/3.10.2/share/cmake/Modules/FindBoost.cmake:1542 (_Boost_MISSING_DEPENDENCIES) CMakeLists.txt:20 (find_package)

CMake Warning at /usr/local/Cellar/cmake/3.10.2/share/cmake/Modules/FindBoost.cmake:801 (message): New Boost version may have incorrect or missing dependencies and imported targets Call Stack (most recent call first): /usr/local/Cellar/cmake/3.10.2/share/cmake/Modules/FindBoost.cmake:907 (_Boost_COMPONENT_DEPENDENCIES) /usr/local/Cellar/cmake/3.10.2/share/cmake/Modules/FindBoost.cmake:1542 (_Boost_MISSING_DEPENDENCIES) CMakeLists.txt:20 (find_package)

CMake Warning at /usr/local/Cellar/cmake/3.10.2/share/cmake/Modules/FindBoost.cmake:801 (message): New Boost version may have incorrect or missing dependencies and imported targets Call Stack (most recent call first): /usr/local/Cellar/cmake/3.10.2/share/cmake/Modules/FindBoost.cmake:907 (_Boost_COMPONENT_DEPENDENCIES) /usr/local/Cellar/cmake/3.10.2/share/cmake/Modules/FindBoost.cmake:1542 (_Boost_MISSING_DEPENDENCIES) CMakeLists.txt:20 (find_package)

-- Boost version: 1.66.0 -- Found the following Boost libraries: -- thread -- system -- chrono -- date_time -- atomic MATLAB not found...nothing will be built. CMake Error: The following variables are used in this project, but they are set to NOTFOUND. Please set them or make sure they are set and tested correctly in the CMake files: MATLAB_INCLUDE_DIR (ADVANCED) used as include directory in directory /Users/pimpullens/bin/MRiLab/Lib/src used as include directory in directory /Users/pimpullens/bin/MRiLab/Lib/src

-- Configuring incomplete, errors occurred!



Any idea how to continue? Your help will be very much appreciated!

Cheers,

Pim
Univ. Hospital Gent, Belgium
leoliuf commented 6 years ago

Sorry, I am still working on the MacOS version of MRiLab. Please let me know if you have successfully compiled in MacOS.

DreymaR commented 6 years ago

A MacOS version would be very welcome among my students! Hope you can make it work!

cerulean-warbler commented 3 years ago

Hello! Just wondering if it is possible to run MRiLab on a Mac nowadays. Thanks!