installation error for intel mkl: can not find libblacs.a

1,493 views
Skip to first unread message

Riping Wang

unread,
Oct 29, 2012, 6:23:34 AM10/29/12
to cp...@googlegroups.com
Dear Forum,

I am installing cp2k: the parallel version popt with mpich2-1.5 and intel mkl.
with command"make -j 12 ARCH=Linux-x86-64-intel VERSION=popt"

But it can not find some lib, with error reports: 
'''
...
ifort: command line remark #10279: option '-xW' is deprecated and will be removed in a future release. See '-help deprecated'
ifort: error #10236: File not found:  '/opt/intel/mkl/lib/intel64/libscalapack.a'
ifort: error #10236: File not found:  '/opt/intel/mkl/lib/intel64/libblacs_init.a'
ifort: error #10236: File not found:  '/opt/intel/mkl/lib/intel64/libblacs.a'
ifort: error #10236: File not found:  '/opt/intel/mkl/lib/intel64/libacml.a'
ifort: error #10236: File not found:  '/opt/intel/mkl/lib/intel64/libacml_mv.a'
ifort: error #10236: File not found:  '/opt/intel/mkl/lib/intel64/libfftw3.a'
'''

The content of installation file Linux-x86-64-intel.popt is appended bellow.
I only add three lines on to the original file downloaded from web, without change anything else.
These three lines are:
'''
INTEL_MKL =/opt/intel/mkl
INTEL_INC = $(INTEL_MKL)/include/fftw
INTEL_LIB = $(INTEL_MKL)/lib/intel64
'''

I can not find files of libblacs_init.a, libscalapack.a and others
on the directory of $INTEL_LIB (/opt/intel/mkl/lib/intel64/) on my machine.
Instead, I find libmkl_blacs_intelmpi_ilp64.a, libmkl_scalapack_ilp64.a and
some others with name slight different.
I also attached the name of all the file contained in this $INTEL_LIB directory.

Any one could give hints.
Thank you very much.

WANG Riping
2012.10.29





content in installation file Linux-x86-64-intel.popt:
######################################################################################################
# by default some intel compilers put temporaries on the stack
# this might lead to segmentation faults is the stack limit is set to low
# stack limits can be increased by sysadmins or e.g with ulimit -s 256000
# furthermore new ifort (10.0?) compilers support the option
# -heap-arrays 64
# add this to the compilation flags is the other options do not work
# The following settings worked for:
# - AMD64 Opteron
# - SUSE Linux Enterprise Server 10.0 (x86_64)
# - Intel(R) Fortran Compiler for Intel(R) EM64T-based applications, Version 10.0.025
# - AMD acml library version 3.6.0
# - MPICH2-1.0.5p4
# - SCALAPACK library          1.8.0
#
#

INTEL_MKL =/opt/intel/mkl
INTEL_INC = $(INTEL_MKL)/include/fftw
INTEL_LIB = $(INTEL_MKL)/lib/intel64


CC       = cc
CPP      =
FC       = mpif90
LD       = mpif90
AR       = ar -r
DFLAGS   = -D__INTEL -D__FFTSG -D__parallel -D__BLACS -D__SCALAPACK -D__FFTW3
CPPFLAGS =
FCFLAGS  = $(DFLAGS) -I$(INTEL_INC) -O3 -xW -heap-arrays 64 -funroll-loops -fpp -free
FCFLAGS2 = $(DFLAGS) -I$(INTEL_INC) -O1 -xW -heap-arrays 64 -fpp -free
LDFLAGS  = $(FCFLAGS) -I$(INTEL_INC)
LIBS     = $(INTEL_LIB)/libscalapack.a \
           $(INTEL_LIB)/libblacs_init.a \
           $(INTEL_LIB)/libblacs.a \
           $(INTEL_LIB)/libacml.a\
           $(INTEL_LIB)/libacml_mv.a \
           $(INTEL_LIB)/libfftw3.a

OBJECTS_ARCHITECTURE = machine_intel.o


graphcon.o: graphcon.F
    $(FC) -c $(FCFLAGS2) $<

######################################################################################################




files in INTEL_LIB (/opt/intel/mkl//lib/intel64):
#################################################################################
libmkl_avx2.so
libmkl_avx.so
libmkl_blacs_ilp64.a
libmkl_blacs_intelmpi_ilp64.a
libmkl_blacs_intelmpi_ilp64.so
libmkl_blacs_intelmpi_lp64.a
libmkl_blacs_intelmpi_lp64.so
libmkl_blacs_lp64.a
libmkl_blacs_openmpi_ilp64.a
libmkl_blacs_openmpi_lp64.a
libmkl_blacs_sgimpt_ilp64.a
libmkl_blacs_sgimpt_lp64.a
libmkl_blas95_ilp64.a
libmkl_blas95_lp64.a
libmkl_cdft_core.a
libmkl_cdft_core.so
libmkl_core.a
libmkl_core.so
libmkl_def.so
libmkl_gf_ilp64.a
libmkl_gf_ilp64.so
libmkl_gf_lp64.a
libmkl_gf_lp64.so
libmkl_gnu_thread.a
libmkl_gnu_thread.so
libmkl_intel_ilp64.a
libmkl_intel_ilp64.so
libmkl_intel_lp64.a
libmkl_intel_lp64.so
libmkl_intel_sp2dp.a
libmkl_intel_sp2dp.so
libmkl_intel_thread.a
libmkl_intel_thread.so
libmkl_lapack95_ilp64.a
libmkl_lapack95_lp64.a
libmkl_mc3.so
libmkl_mc.so
libmkl_p4n.so
libmkl_pgi_thread.a
libmkl_pgi_thread.so
libmkl_rt.so
libmkl_scalapack_ilp64.a
libmkl_scalapack_ilp64.so
libmkl_scalapack_lp64.a
libmkl_scalapack_lp64.so
libmkl_sequential.a
libmkl_sequential.so
libmkl_vml_avx2.so
libmkl_vml_avx.so
libmkl_vml_cmpt.so
libmkl_vml_def.so
libmkl_vml_mc2.so
libmkl_vml_mc3.so
libmkl_vml_mc.so
libmkl_vml_p4n.so
locale
#################################################################################


--
******************************************************************************
WANG Riping
Ph.D student,
Institute for Study of the Earth's Interior,Okayama University,
827 Yamada, Misasa, Tottori-ken 682-0193, Japan
Tel: +81-858-43-3739(Office), +81-858-43-1215(Inst)
E-mail: wang.ri...@gmail.com
******************************************************************************



Sandeep Kumar Reddy

unread,
Oct 29, 2012, 6:58:03 AM10/29/12
to cp...@googlegroups.com
Hi,
    You need to replace the names in arch file with names present in intel mkl directory. 

Like,

LIBS =  -L$(MKLROOT)/lib/intel64  $(MKLROOT)/lib/intel64/libmkl_blas95_lp64.a  $(MKLROOT)/lib/intel64/libmkl_lapack95_lp64.a \
-lmkl_scalapack_lp64 -lmkl_intel_lp64 -lmkl_sequential -lmkl_core -lmkl_blacs_intelmpi_lp64 -lpthread -lm -lfftw3xf_intel 

Wishes,
Sandeep 


--
You received this message because you are subscribed to the Google Groups "cp2k" group.
To post to this group, send email to cp...@googlegroups.com.
To unsubscribe from this group, send email to cp2k+uns...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/cp2k?hl=en.

Riping Wang

unread,
Oct 30, 2012, 3:39:50 AM10/30/12
to cp...@googlegroups.com
Dear Sandeep,

Following your instructions, I succeed to install cp2k with intel mkl.
I am very happy. Thank you very much to you.

One small issue:
I commented out -lfftw3xf_intel you told me for LIB,
otherwise error occur as it can not find fftw3.
When I commented it out, the installation goes well.
Maybe this is due to the version of mkl.
Mine is l_mkl_11.0.1.117.
I appended the input for installation bellow, as a workable example.


Yours
WANG Riping
2012.10.30



A workable input file for installation with ifort+intel_mkl+mpich2:
###############################################################

INTEL_MKL =/opt/intel/mkl
INTEL_INC = $(INTEL_MKL)/include/fftw
INTEL_LIB = $(INTEL_MKL)/lib/intel64

CC       = cc
CPP      =
FC       = mpif90
LD       = mpif90
AR       = ar -r
DFLAGS   = -D__INTEL -D__FFTSG -D__parallel -D__BLACS -D__SCALAPACK -D__FFTW3
CPPFLAGS =
FCFLAGS  = $(DFLAGS) -I$(INTEL_INC) -O3 -xW -heap-arrays 64 -funroll-loops -fpp -free
FCFLAGS2 = $(DFLAGS) -I$(INTEL_INC) -O1 -xW -heap-arrays 64 -fpp -free
LDFLAGS  = $(FCFLAGS) -I$(INTEL_INC)

LIBS =  -L$(INTEL_LIB)  $(INTEL_LIB)/libmkl_blas95_lp64.a  $(INTEL_LIB)/libmkl_lapack95_lp64.a \
-lmkl_scalapack_lp64 -lmkl_intel_lp64 -lmkl_sequential -lmkl_core -lmkl_blacs_intelmpi_lp64 -lpthread -lm #-lfftw3xf_intel

OBJECTS_ARCHITECTURE = machine_intel.o

graphcon.o: graphcon.F
    $(FC) -c $(FCFLAGS2) $<
###############################################################



Sandeep Kumar Reddy

unread,
Oct 30, 2012, 4:07:26 AM10/30/12
to cp...@googlegroups.com
Hi,
     You need to install -lfftw3xf_intel library. 

please go to $MKL_ROOT/interfaces/fftw3xf   

then type  :    make  libintel64  compiler=intel 

It will create a library libfftw3xf_intel.a.   Please link this to  $MKL_ROOT/lib/intel64 


That's all. Recompile the code. you will get the executable. 

Note: As many people say, successful compilation doesn't mean you have the correct executable. You should run test files and check. 

Wishes,
Sandeep 

Riping Wang

unread,
Oct 30, 2012, 4:46:00 AM10/30/12
to cp...@googlegroups.com
Dear Sandeep,

I followed you instruction to install fftw3xf and active the LIB -lfftw3xf_intel.
It is working now.

Thank you very much for all the help.

Again I appened the new input as bellow.


WANG Riping
2012.10.30



A workable input file for installation with ifort+intel_mkl+mpich2:
##############################
#################################

INTEL_MKL =/opt/intel/mkl
INTEL_INC = $(INTEL_MKL)/include/fftw
INTEL_LIB = $(INTEL_MKL)/lib/intel64

CC       = cc
CPP      =
FC       = mpif90
LD       = mpif90
AR       = ar -r
DFLAGS   = -D__INTEL -D__FFTSG -D__parallel -D__BLACS -D__SCALAPACK -D__FFTW3
CPPFLAGS =
FCFLAGS  = $(DFLAGS) -I$(INTEL_INC) -O3 -xW -heap-arrays 64 -funroll-loops -fpp -free
FCFLAGS2 = $(DFLAGS) -I$(INTEL_INC) -O1 -xW -heap-arrays 64 -fpp -free
LDFLAGS  = $(FCFLAGS) -I$(INTEL_INC)

LIBS =  -L$(INTEL_LIB)  $(INTEL_LIB)/libmkl_blas95_lp64.a  $(INTEL_LIB)/libmkl_lapack95_lp64.a \
-lmkl_scalapack_lp64 -lmkl_intel_lp64 -lmkl_sequential -lmkl_core -lmkl_blacs_intelmpi_lp64 -lpthread -lm -lfftw3xf_intel


OBJECTS_ARCHITECTURE = machine_intel.o

graphcon.o: graphcon.F
    $(FC) -c $(FCFLAGS2) $<
###############################################################

Sandeep Kumar Reddy

unread,
Oct 30, 2012, 5:22:30 AM10/30/12
to cp...@googlegroups.com
Hi,
    Just now, I realized that you are using  mpif90 which by default uses gfortran, not ifort.  If it is not what you wanted, you
can use mpiifort which uses ifort. 

-Sandeep 

Riping Wang

unread,
Oct 31, 2012, 5:17:27 AM10/31/12
to cp...@googlegroups.com
Dear Sandeep,

I have to say I thank you very much for your help.

I check the file of mpif90 in my machine, the fortran compiler is ifort.
I did not install gfortran on my Fedroa.
So its ok.
But I care this issue in future.

Best wishes to you.

WANG Riping
2012.10.31
Reply all
Reply to author
Forward
0 new messages