I haven’t followed this thread completely, but have you sourced the Intel mklvars.sh file?
I do the following, for example, source …/intel_2018/mkl/bin/mklvars.sh intel64 Then in our configure it’s simply: —with-blas-lapack-dir=…/intel_2018/mkl and this works fine and picks up all the right Intel libraries. It could be set up differently on your system though. Randy M. > On Apr 24, 2018, at 9:23 AM, Samuel Lanthaler <s.lantha...@gmail.com> wrote: > > Dear Satish, > > As you suggested, the configure appears to work with > > ./configure --with-fc=ftn --with-cc=cc --with-cxx=CC --with-debugging=0 > --with-scalar-type=complex --download-scalapack --download-mumps=yes > --download-superlu --with-batch --known-mpi-shared-libraries=1 > --with-blaslapack-dir=${MKLROOT} --known-64-bit-blas-indices=0 > --LDFLAGS="-dynamic" > > However, after doing the reconfigure, I tried to compile using make, and ran > into trouble with CLINKER: > > [...] > CC arch-complex/obj/sys/classes/draw/impls/x/xops.o > CLINKER arch-complex/lib/libpetsc.so.3.09.0 > Warning: > -dynamic was already seen on command line, overriding with -shared. > /usr/bin/ld: arch-complex/obj/sys/fsrc/somefort.o: relocation R_X86_64_32 > against `petscfortran5_' can not be used when making a shared object; > recompile with -fPIC > arch-complex/obj/sys/fsrc/somefort.o: error adding symbols: Bad value > [...] > **************************ERROR************************************* > Error during compile, check arch-complex/lib/petsc/conf/make.log > Send it and arch-complex/lib/petsc/conf/configure.log to > petsc-ma...@mcs.anl.gov > ******************************************************************** > makefile:30: recipe for target 'all' failed > make: *** [all] Error 1 > > Any ideas? Again, I'm attaching the .log files. > > > > On 04/24/2018 04:14 PM, Satish Balay wrote: >> Sorry I should have clarified - its a configure option. >> >> Satish >> >> On Tue, 24 Apr 2018, Samuel Lanthaler wrote: >> >>> Sorry, I'm confused: Can I add this somehow when doing the ./configure? Or >>> do >>> you mean to add it when compiling ex5f with the configuration I had >>> initially? >>> >>> Cheers, >>> Samuel >>> >>> >>> On 04/24/2018 04:03 PM, Satish Balay wrote: >>>> Ok - I do see: libmkl_intel_lp64.so libmkl_sequential.so libmkl_core.so - >>>> these should >>>> be the ones that get picked up. >>>> >>>> I do not know why 'cc' is picking up static libraries instead of the >>>> shared ones. Perhaps it needs an extra option >>>> >>>> 'LDFLAGS=-dynamic' >>>> >>>> Satish >>>> >>>> On Tue, 24 Apr 2018, Samuel Lanthaler wrote: >>>> >>>>> Dear Satish, >>>>> >>>>> I get the following when doing the ls: >>>>> >>>>> [lanthale@daint103 mkl]$ ls >>>>> /opt/intel/compilers_and_libraries_2017.4.196/linux/mkl/lib/intel64/ >>>>> libmkl_ao_worker.so libmkl_blacs_sgimpt_lp64.so >>>>> libmkl_intel_lp64.a libmkl_sequential.so >>>>> libmkl_avx2.so libmkl_blas95_ilp64.a libmkl_intel_lp64.so >>>>> libmkl_tbb_thread.a >>>>> libmkl_avx512_mic.so libmkl_blas95_lp64.a libmkl_intel_thread.a >>>>> libmkl_tbb_thread.so >>>>> libmkl_avx512.so libmkl_cdft_core.a libmkl_intel_thread.so >>>>> libmkl_vml_avx2.so >>>>> libmkl_avx.so libmkl_cdft_core.so >>>>> libmkl_lapack95_ilp64.a >>>>> libmkl_vml_avx512_mic.so >>>>> libmkl_blacs_intelmpi_ilp64.a libmkl_core.a libmkl_lapack95_lp64.a >>>>> libmkl_vml_avx512.so >>>>> libmkl_blacs_intelmpi_ilp64.so libmkl_core.so libmkl_mc3.so >>>>> libmkl_vml_avx.so >>>>> libmkl_blacs_intelmpi_lp64.a libmkl_def.so libmkl_mc.so >>>>> libmkl_vml_cmpt.so >>>>> libmkl_blacs_intelmpi_lp64.so libmkl_gf_ilp64.a libmkl_pgi_thread.a >>>>> libmkl_vml_def.so >>>>> libmkl_blacs_openmpi_ilp64.a libmkl_gf_ilp64.so libmkl_pgi_thread.so >>>>> libmkl_vml_mc2.so >>>>> libmkl_blacs_openmpi_ilp64.so libmkl_gf_lp64.a libmkl_rt.so >>>>> libmkl_vml_mc3.so >>>>> libmkl_blacs_openmpi_lp64.a libmkl_gf_lp64.so libmkl_scalapack_ilp64.a >>>>> libmkl_vml_mc.so >>>>> libmkl_blacs_openmpi_lp64.so libmkl_gnu_thread.a >>>>> libmkl_scalapack_ilp64.so >>>>> locale >>>>> libmkl_blacs_sgimpt_ilp64.a libmkl_gnu_thread.so >>>>> libmkl_scalapack_lp64.a >>>>> libmkl_blacs_sgimpt_ilp64.so libmkl_intel_ilp64.a >>>>> libmkl_scalapack_lp64.so >>>>> libmkl_blacs_sgimpt_lp64.a libmkl_intel_ilp64.so libmkl_sequential.a >>>>> >>>>> >>>>> Cheers, >>>>> Samuel >>>>> >>>>> On 04/24/2018 03:50 PM, Satish Balay wrote: >>>>>> Executing: cc -o /tmp/petsc-tyd_Hm/config.libraries/conftest -O >>>>>> /tmp/petsc-tyd_Hm/config.libraries/conftest.o >>>>>> -Wl,-rpath,/opt/intel/compilers_and_libraries_2017.4.196/linux/mkl/lib/intel64 >>>>>> -L/opt/intel/compilers_and_libraries_2017.4.196/linux/mkl/lib/intel64 >>>>>> -lmkl_intel_lp64 -lmkl_sequential -lmkl_core -lpthread -lstdc++ -ldl >>>>>> Possible ERROR while running linker: exit code 256 >>>>>> stderr: >>>>>> /opt/intel/compilers_and_libraries_2017.4.196/linux/mkl/lib/intel64/libmkl_core.a(mkl_semaphore.o): >>>>>> In function `mkl_serv_load_inspector': >>>>>> mkl_semaphore.c:(.text+0x123): warning: Using 'dlopen' in statically >>>>>> linked >>>>>> applications requires at runtime the shared libraries from the glibc >>>>>> version >>>>>> used for linking >>>>>> /opt/intel/compilers_and_libraries_2017.4.196/linux/mkl/lib/intel64/libmkl_core.a(dgetrs.o): >>>>>> In function `mkl_lapack_dgetrs': >>>>>> dgetrs_gen.f:(.text+0x224): undefined reference to `mkl_blas_dtrsm' >>>>>> dgetrs_gen.f:(.text+0x2b1): undefined reference to `mkl_blas_dtrsm' >>>>>> dgetrs_gen.f:(.text+0x2e7): undefined reference to `mkl_lapack_dlaswp' >>>>>> <<<<<<<< >>>>>> >>>>>> For some reason the compiler is picking up static version of MKL - >>>>>> instead >>>>>> of shared libraries. >>>>>> >>>>>> What do you have for: >>>>>> >>>>>> ls /opt/intel/compilers_and_libraries_2017.4.196/linux/mkl/lib/intel64/ >>>>>> >>>>>> Satish >>>>>> >>>>>> On Tue, 24 Apr 2018, Samuel Lanthaler wrote: >>>>>> >>>>>>> Dear Satish and Stefano, >>>>>>> >>>>>>> Thank you for your answers. I believe I had initially tried to use the >>>>>>> option >>>>>>> --with-blaslapack-dir=[...], instead of specifying lib and include >>>>>>> directly. >>>>>>> But that gives me an error message: >>>>>>> >>>>>>> ******************************************************************************* >>>>>>> UNABLE to CONFIGURE with GIVEN OPTIONS (see configure.log >>>>>>> for >>>>>>> details): >>>>>>> ------------------------------------------------------------------------------- >>>>>>> You set a value for --with-blaslapack-dir=<dir>, but >>>>>>> /opt/intel/compilers_and_libraries_2017.4.196/linux/mkl cannot be used >>>>>>> ******************************************************************************* >>>>>>> >>>>>>> I attach the new configure.log. Do you think there is something wrong >>>>>>> with >>>>>>> the >>>>>>> mkl version that I'm trying to use? Or is it only related to petsc? >>>>>>> >>>>>>> Cheers, >>>>>>> Samuel >>>>>>> >>>>>>> >>>>>>> On 04/24/2018 02:55 PM, Satish Balay wrote: >>>>>>>> On Tue, 24 Apr 2018, Samuel Lanthaler wrote: >>>>>>>> >>>>>>>>> Hi there, >>>>>>>>> >>>>>>>>> I was wondering if you could help me with the correct configuration of >>>>>>>>> PETSc-dev version on a cluster (https://www.cscs.ch/)? I'm not sure >>>>>>>>> which >>>>>>>>> information would be useful to you, but basically the problem seems to >>>>>>>>> be >>>>>>>>> in >>>>>>>>> correctly compiling it with intel compiler and the existing mkl >>>>>>>>> library. >>>>>>>>> >>>>>>>>> The pre-installed mkl version is >>>>>>>>> >>>>>>>>> intel/17.0.4.196 >>>>>>>>> >>>>>>>>> I have tried various things and finally, I got it at least to compile >>>>>>>>> with >>>>>>>>> the >>>>>>>>> following options (options chosen in reference to the mkl link >>>>>>>>> advisor...): >>>>>>>>> >>>>>>>>> ./configure --with-fc=ftn --with-cc=cc --with-cxx=CC >>>>>>>>> --with-debugging=0 >>>>>>>>> --with-scalar-type=complex --download-scalapack --download-mumps=yes >>>>>>>>> --download-superlu --with-batch --known-mpi-shared-libraries=1 >>>>>>>>> *--with-blaslapack-lib=*" ${MKLROOT}/lib/intel64/libmkl_blas95_lp64.a >>>>>>>>> ${MKLROOT}/lib/intel64/libmkl_lapack95_lp64.a -Wl,--start-group >>>>>>>>> ${MKLROOT}/lib/intel64/libmkl_intel_lp64.a >>>>>>>>> ${MKLROOT}/lib/intel64/libmkl_sequential.a >>>>>>>>> ${MKLROOT}/lib/intel64/libmkl_core.a -Wl,--end-group -lpthread -lm >>>>>>>>> -ldl" >>>>>>>>> *--with-blaslapack-include*="[/opt/intel/compilers_and_libraries_2017.4.196/linux/mkl/include,/opt/intel/compilers_and_libraries_2017.4.196/linux/mkl/include/intel64/lp64]" >>>>>>>> Can you remove the above 2 options [--with-blaslapack-lib, >>>>>>>> --with-blaslapack-include] and use: >>>>>>>> >>>>>>>> --with-blas-lapack-dir=${MKLROOT} >>>>>>>> >>>>>>>> And see if you still have this problem? >>>>>>>> >>>>>>>> Satish >>>>>>>> >>>>>>>>> --known-64-bit-blas-indices=0 >>>>>>>>> >>>>>>>>> After compilation, when trying to compile >>>>>>>>> /users/lanthale/petsc-git/src/snes/examples/tutorials/ex5f I get >>>>>>>>> linking >>>>>>>>> errors (attached). Would anyone be able to help me out here? I really >>>>>>>>> don't >>>>>>>>> have a good understanding of this. >>>>>>>>> >>>>>>>>> I'm attaching the configuration.log file, as well as the linking >>>>>>>>> errors >>>>>>>>> when >>>>>>>>> trying to compile ex5f. >>>>>>>>> >>>>>>>>> Thank you very much in advance! >>>>>>>>> >>>>>>>>> Best regards, >>>>>>>>> Samuel >>>>>>>>> >>> >>> > > <make.log><configure.log>