Hello,
There are some issues when using (most recent versions of) the MKL on macOS:
1) the correct path to libmkl_*.dylib is now $MKLROOT/lib/, but this is not 
taken into account by the build system

diff --git a/config/BuildSystem/config/packages/BlasLapack.py 
b/config/BuildSystem/config/packages/BlasLapack.py
index 43597e2..017ed12 100644
--- a/config/BuildSystem/config/packages/BlasLapack.py
+++ b/config/BuildSystem/config/packages/BlasLapack.py
@@ -217,7 +217,7 @@ class Configure(config.package.Package):
         mkl_blacs_32=[]
       if useCPardiso or usePardiso:
         self.logPrintBox('BLASLAPACK: Looking for Multithreaded MKL for 
C/Pardiso')
-        for libdir in 
[os.path.join('lib','64'),os.path.join('lib','ia64'),os.path.join('lib','em64t'),os.path.join('lib','intel64'),'64','ia64','em64t','intel64',
+        for libdir in 
[os.path.join('lib','64'),os.path.join('lib','ia64'),os.path.join('lib','em64t'),os.path.join('lib','intel64'),'64','ia64','em64t','lib','intel64',
                        
os.path.join('lib','32'),os.path.join('lib','ia32'),'32','ia32','']:
           if not os.path.exists(os.path.join(dir,libdir)):
             self.logPrint('MKL Path not found.. skipping: 
'+os.path.join(dir,libdir))

2) Once this is fixed, it is assumed that libiomp5.dylib is in the same folder 
as libmkl_intel_thread.dylib (which is wrong), or at least visible to the 
linker. Thus, the configure will fail because it can’t find libiomp5.dylib, 
unless explicitly using —CXX=icpc and —CC=icc, or —LDFLAGS=-L${PATH_TO_LIBIOMP5}

I don’t know if you care enough to fix this (I’m guessing there aren’t that 
many macOS users compiling PETSc with MKL support but without the Intel 
compilers), but just in case… 
Thanks,
Pierre

Reply via email to