## Package Details: r-mkl 4.1.0-1

Git Clone URL: https://aur.archlinux.org/r-mkl.git (read-only, click to copy) r-mkl Language and environment for statistical computing and graphics, linked to the Intel(R) MKL. http://www.r-project.org/ hpc mathematics modelling r statistics GPL microsoft-r-open, r r=4.1.0 giniu alexanderp alexanderp 21 0.029027 2010-05-06 00:10 2021-05-20 08:55

### Sources (5)

#### alexanderp commented on 2021-07-14 18:37

@burgerga , I'm a bit wary of hardcoding this in the PKGBUILD since it will be introducing a dependency on the specific file from intel-mkl existing in that path.

I've checked other packages which depend on intel-mkl and they are not sourcing the script manually either.

#### burgerga commented on 2021-07-12 10:38

@alexanderp I contacted the intel-mkl maintainer, and he suggested that if MKLROOT is not yet set, to source /etc/profile.d/intel-mkl.sh in the r-mkl PKGBUILD

#### burgerga commented on 2021-07-12 07:21

@alexanderp Figured it out! intel-mkl installs /etc/profile.d/intel-mkl.sh which sets MKLROOT, but doesn't source it, so MKLROOT is only set after the next reboot.

EDIT: I see that are messages crossed. I'll ask the maintainer of intel-mkl to pick this up.

#### alexanderp commented on 2021-07-12 07:15

@burgerga

$cat /etc/profile.d/intel-mkl.sh export MKLROOT=/opt/intel/mkl  owned by: $ pacman -Qo /etc/profile.d/intel-mkl.sh
/etc/profile.d/intel-mkl.sh is owned by intel-mkl 2020.4.304-1


#### burgerga commented on 2021-07-12 07:09

@alexanderp Ah, yes you're right, however the contents of that file are:

#!/bin/sh
#
# This little script pretends to be mklvars.sh but actually just exports some variables
# to directories precisely where Arch installs them. No point shipping the original
# mklvars.sh which wrongly guesses all the paths.

export "LD_LIBRARY_PATH=/opt/intel/mkl/lib/intel64_lin:${LD_LIBRARY_PATH}" export "LIBRARY_PATH=/opt/intel/mkl/lib/intel64_lin:${LIBRARY_PATH}"
export "NLSPATH=/opt/intel/mkl/lib/intel64_lin/locale/%l_%t/%N:${NLSPATH}" export "CPATH=/opt/intel/mkl/include:${CPATH}"
export "PKG_CONFIG_PATH=/usr/lib/pkgconfig:${PKG_CONFIG_PATH}"  So it doesn't set MKLROOT (I don't know if the original did?), so how is MKLROOT set on your system? EDIT: Maybe intel-mkl should set MKLROOT though, that would be more logical than setting it in r-mkl #### alexanderp commented on 2021-07-11 10:50 @burgerga Cannot reproduce this in my build system. In fact, mklvars.sh is still here: pacman -Qo mklvars.sh /usr/bin/mklvars.sh is owned by intel-mkl 2020.4.304-1  #### burgerga commented on 2021-07-06 23:01 @alexanderp I'm getting the same issue as @jalapeno /usr/bin/ld: cannot find -lmkl_gf_lp64 /usr/bin/ld: cannot find -lmkl_gnu_thread /usr/bin/ld: cannot find -lmkl_core collect2: error: ld returned 1 exit status  The problem in my case is that MKLROOT was not set during installation so ${MKLROOT}/lib/intel64 becomes /lib/intel64 which is used as -L flag in the BLAS_LIBS makevar in /usr/lib/R/etc/Makeconf, and then of course when we try to compile packages, the linker can't find the shared libraries.

I think the issue might be that intel-mkl does not come with mklvars.sh anymore. There is only mkl_link_tool in /opt/intel/mkl/bin and if you run it with either the -env or the -interactive option you can see that it assumes MKLROOT is already set...

#### sgrubsmyon commented on 2021-05-05 14:40

@Humble_Panda Yes, indeed. Removing and reinstalling (recompiling) the r-mkl package helped in my case.

#### Humble_Panda commented on 2021-02-08 08:27

Anyone else getting a broken R installation after one of the last updates? libicuuc.so.67 isn't on the system anymore...

#### alexanderp commented on 2021-01-20 14:22

@LuisDamiano, in my opinion, distributing a binary of this package defeats the purpose of the additional CPU performance optimizations obtained by compiling on a target system.