build package from source and shared libraries issue

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]



I am scratching my head since a week now and can't figure out how to
solve my issue.

Here is the situation:

1- I have installed parallel_studio_xe from Intel with the AUR package[0]
2- /etc/ld.sconf.so has all the needed .conf file to feed correctly my
 ld.so.cache
2- I build R package[1] from source with the following script. The
goal is to build R with intel MKL shared libraries and gcc compiler.
-----------------------
source /opt/intel/mkl/bin/mklvars.sh intel64

_icclibpath=/opt/intel/composerexe/compiler/lib/intel64/
_mkllibpath=$MKLROOT/lib/intel64/
_omp_lib=/opt/intel/lib/intel64

MKL=" -L${MKLROOT}/lib/intel64 \
    -Wl,--start-group \
    -lmkl_gfl_ilp64 \
    -lmkl_core \
    lkml_intel_thread \
    -Wl,--end-group \
    -liomp5 -ldl -lpthread -lm"

export LDFLAGS="${LDFLAGS} -L${_icclibpath}"

export CFLAGS="-DMKL_ILP64 -m64 -I${MKLROOT}/include"
export CXXFLAGS="-DMKL_ILP64 -m64 -I${MKLROOT}/include"
export FFLAGS="-DMKL_ILP64 -m64 -I${MKLROOT}/include"
export FCFLAGS="-DMKL_ILP64 -m64 -I${MKLROOT}/include"

./configure  --prefix=/usr \
--libdir=/usr/lib \
      --sysconfdir=/etc/R \
      --datarootdir=/usr/share \
      rsharedir=/usr/share/R/ \
      rincludedir=/usr/include/R/ \
      rdocdir=/usr/share/doc/R/ \
      --with-x \
      --enable-R-shlib \
      --with-blas="$MKL" \
      --with-lapack \
      F77=${_F77} \
      FC=${_FC} \
      LIBnn=lib

make -j4

-------------------------------------------------------------
from build package:
$ ldd bin/exec/R
linux-vdso.so.1 (0x00007ffd707b4000)
libR.so => /usr/lib/R/lib/libR.so (0x00007f909d4e2000)
libpthread.so.0 => /usr/lib/libpthread.so.0 (0x00007f909d2c5000)
libc.so.6 => /usr/lib/libc.so.6 (0x00007f909cf21000)
libmkl_gf_lp64.so => /opt/intel/mkl/lib/intel64/libmkl_gf_lp64.so
(0x00007f909c84d000)
libmkl_core.so => /opt/intel/mkl/lib/intel64/libmkl_core.so (0x00007f909ace0000)
libmkl_gnu_thread.so =>
/opt/intel/mkl/lib/intel64/libmkl_gnu_thread.so (0x00007f9099f89000)
libdl.so.2 => /usr/lib/libdl.so.2 (0x00007f9099d85000)
libimf.so => /opt/intel/lib/libimf.so (0x00007f90998ca000)
libm.so.6 => /usr/lib/libm.so.6 (0x00007f90995cc000)
............................
libintlc.so.5 => /opt/intel/lib/libintlc.so.5 (0x00007f90976df000)
libgcc_s.so.1 => /usr/lib/../lib/libgcc_s.so.1 (0x00007f90974c9000)
libncursesw.so.6 => /usr/lib/libncursesw.so.6 (0x00007f909725c000)
libicudata.so.55 => /usr/lib/libicudata.so.55 (0x00007f90957a6000)
libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x00007f9095424000)
-----------------------------------
Fine, I can see some shared intel libraries.

3- Now I build same package on my systemd nspawn container, Fedora 22.
I use same script, same ld.so conf files, intel parallel studio on
same path (/opt/intel).
4- from build folder:
linux-vdso.so.1 (0x00007ffe3d9de000)
libR.so => /usr/lib64/R/lib/libR.so (0x00007f1061d6c000)
libgomp.so.1 => /lib64/libgomp.so.1 (0x00007f1061b3b000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f106191f000)
libc.so.6 => /lib64/libc.so.6 (0x00007f106155e000)
libblas.so.3 => /lib64/libblas.so.3 (0x00007f1061305000)
libgfortran.so.3 => /lib64/libgfortran.so.3 (0x00007f1060fda000)
libm.so.6 => /lib64/libm.so.6 (0x00007f1060cd1000)
libquadmath.so.0 => /lib64/libquadmath.so.0 (0x00007f1060a92000)
libreadline.so.6 => /lib64/libreadline.so.6 (0x00007f1060848000)
libtre.so.5 => /lib64/libtre.so.5 (0x00007f1060637000)
libpcre.so.1 => /lib64/libpcre.so.1 (0x00007f10603c7000)
liblzma.so.5 => /lib64/liblzma.so.5 (0x00007f10601a1000)
libbz2.so.1 => /lib64/libbz2.so.1 (0x00007f105ff90000)
libz.so.1 => /lib64/libz.so.1 (0x00007f105fd7a000)
librt.so.1 => /lib64/librt.so.1 (0x00007f105fb72000)
libdl.so.2 => /lib64/libdl.so.2 (0x00007f105f96d000)
libicuuc.so.54 => /lib64/libicuuc.so.54 (0x00007f105f5dc000)
libicui18n.so.54 => /lib64/libicui18n.so.54 (0x00007f105f185000)
/lib64/ld-linux-x86-64.so.2 (0x00005610cd111000)
libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007f105ef6d000)
libtinfo.so.5 => /lib64/libtinfo.so.5 (0x00007f105ed43000)
libicudata.so.54 => /lib64/libicudata.so.54 (0x00007f105d317000)
libstdc++.so.6 => /lib64/libstdc++.so.6 (0x00007f105cf95000)
----------------------------------------------------

As you can see, no links at all to any Intel shared libraries.

I am looking for advices/hints why I don't have the same linking
libraries on both systems. I have tried to look everywhere I could,
changed many and many settings/variables, I still can't get same
result about shared libraries.
I must forget or do something wrong, but no idea what. My building
environment shall differ at some point.

The config.log are nearly the same on the two distro, except for this:

On Fedora:
-------------------------------------------------
Configured with: ../configure --enable-bootstrap --enable-languages=c,c+$.......
---------------------------------------------------------

On Arch:
------------------------------------
Configured with: /build/gcc-multilib/src/gcc-5.2.0/configure ......

Thank you for any hints and where to look to compare build environment diff.


[0]https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=intel-parallel-studio-xe
[1]https://www.archlinux.org/packages/extra/i686/r/
--


[Index of Archives]     [Linux Wireless]     [Linux Kernel]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Share Photos]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]
  Powered by Linux