Dear Satish,
Your workaround worked! Great!
Thanks a lot for all your help, everyone. =)

Cheers,
Samuel

On 04/24/2018 06:33 PM, Satish Balay wrote:
Hm - I'm not sure why configure didn't try and set -fPIC compiler options.

Workarround is:

CFLAGS=-fPIC FFLAGS=-fPICC CXXFLAGS=-fPIC

or alternatively - you can disable sharedlibraries

--with-shared-libraries=0

Satish

On Tue, 24 Apr 2018, Samuel Lanthaler 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




Reply via email to