Package Details: r-mkl 3.3.2-5

Git Clone URL: https://aur.archlinux.org/r-mkl.git (read-only)
Package Base: r-mkl
Description: Language and environment for statistical computing and graphics, linked with Intel's MKL.
Upstream URL: http://www.r-project.org/
Keywords: hpc mathematics modelling r statistics
Licenses: GPL
Conflicts: r
Provides: r=3.3.2,r-mkl=3.3.2
Submitter: giniu
Maintainer: alexanderp
Last Packager: alexanderp
Votes: 16
Popularity: 1.078789
First Submitted: 2010-05-06 00:10
Last Updated: 2016-12-02 22:35

Required by (114)

Sources (4)

Pinned Comments

alexanderp commented on 2016-06-17 00:20

The latest update (3.3.0-2):
- fixes compilation with icc/ifort
- icc/ifort are enabled by default now
- adds floating point precision options to icc
- removes i686 build options

You'll notice an error while checking the Matrix package. This is due to the LAPACK functions which error out on zero size matrices.

Latest Comments

herraiz commented on 2016-11-20 22:42

Excellent, thanks @alexanderp!

alexanderp commented on 2016-11-20 21:01

Herraiz, thank you for the insight in compiling quantreg and igraph.
I've implemented your suggestion in the ./configure line instead of Makeconf.
It seems that -lifcore and -lifport needed to be included before and after -lm.

herraiz commented on 2016-11-20 17:41

Here is the same patch against the current master:

From 79b350c7f58018b28374201fc3d644b3bd2696ce Mon Sep 17 00:00:00 2001
From: "Israel Herraiz <isra@herraiz.org>"
Date: Sun, 20 Nov 2016 18:39:02 +0100
Subject: [PATCH] Patch for Makeconf.in

---
PKGBUILD | 14 ++++++++++----
makeconf.in.patch | 11 +++++++++++
2 files changed, 21 insertions(+), 4 deletions(-)
create mode 100644 makeconf.in.patch

diff --git a/PKGBUILD b/PKGBUILD
index 348fa61..3a19729 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -48,16 +48,20 @@ install=r-mkl.install
source=("http://cran.r-project.org/src/base/R-${pkgver%%.*}/R-${pkgver}.tar.gz"
'r.desktop'
'r.png'
- 'R.conf')
-
+ 'R.conf'
+ 'makeconf.in.patch'
+ )
md5sums=('2437014ef40641cdc9673e89c040b7a8'
'44ca875140b148543148b7749c7d6f5e'
'8e0c51650b8a63f110fa7b09e699e9c4'
- '1dfa62c812aed9642f6e4ac34999b9fe')
+ '1dfa62c812aed9642f6e4ac34999b9fe'
+ 'd7cf18f67e7e76cc81fed1a2a3e654de')
sha512sums=('06a98687c0b180cb0bfd57440ea26088212d9f48948d503136475bf54b42d72cfec5bea7e333c0cedd60733bd614dd0f8c2eced7e24478b6c89f48e8d0c43482'
'1a90aed5411d72dd3e7708db0cb92c518e656e1a510ece02ad934131e05b8e683b4a36da8d37198263dc19fb2f3f19656c19c01f9b67974f0d7755974076d0b7'
'1491b01d3d14b86d26c383e00e2305858a52ddd498158c9f7f6b33026ee01f246408b1676cffea73f7783c8c4cf546285705c43c0286adbd75ad77706918b5fe'
- 'aae388c5b6c02d9fb857914032b0cd7d68a9f21e30c39ba11f5a29aaf1d742545482054b57ce18872eabb6605bbb359b2fc1e9be5ce6881443fdbdf6b67fab3b')
+ 'aae388c5b6c02d9fb857914032b0cd7d68a9f21e30c39ba11f5a29aaf1d742545482054b57ce18872eabb6605bbb359b2fc1e9be5ce6881443fdbdf6b67fab3b'
+ 'e04288ec8bed02dc4f5e4441285dba499390c78e5a4df8a82718b2905eed3c3a75828bebe4f5fddd1fab5831f0fc764df062f8f8bd971cb2e90352ea240218ac')
+

# Build with GCC/GFortran or the Intel Compiler Suite
_CC="icc" # comment to build with GCC
@@ -70,6 +74,8 @@ prepare() {
sed -i 's|test ${makeinfo_version_min} -lt 7|test ${makeinfo_version_min} -lt 0|' configure
# Fix the config script to look in Makeconf for LDFLAGS
sed -i '/LIBS=`eval $query VAR=LIBS`/a\LDFLAGS=`eval $query VAR=LDFLAGS`' src/scripts/config
+
+ patch -p2 < ../makeconf.in.patch
}

build() {
diff --git a/makeconf.in.patch b/makeconf.in.patch
new file mode 100644
index 0000000..98d09b5
--- /dev/null
+++ b/makeconf.in.patch
@@ -0,0 +1,11 @@
+--- src/R-3.3.2/etc/Makeconf.in 2016-03-17 00:04:44.000000000 +0100
++++ src/R-3.3.2/etc/Makeconf.in.new 2016-11-20 18:35:47.681107000 +0100
+@@ -10,7 +10,7 @@
+ include $(R_SHARE_DIR)/make/vars.mk
+
+ AR = @AR@
+-BLAS_LIBS = @BLAS_LIBS@
++BLAS_LIBS = @BLAS_LIBS@ -lifcore -lifport
+ C_VISIBILITY = @C_VISIBILITY@
+ CC = @CC@
+ CFLAGS = @CFLAGS@ $(LTO)
--
2.10.2

herraiz commented on 2016-11-20 17:25

Could you add a patch for Makeconf.in? The patch is the following one:

14c14
< BLAS_LIBS = @BLAS_LIBS@
---
> BLAS_LIBS = @BLAS_LIBS@ -lifcore -lifport

It prevents problems when compiling some R packages. With that change, I was able to install quantreg and igraph. See comment from AnRe005 2016-08-07 09:22

hike commented on 2016-11-08 04:26

For people struggling with this. If you are a student, you can download and install intel dependencies (intel-compiler-base, intel-fortran-compiler, intel-mkl) for free from here https://software.intel.com/en-us/qualify-for-free-software/student
When you install the latest version, compilers are installed in a different folder, so you have to change the path in line 89 in PKGBUILD
from
/opt/intel/composerxe/linux/bin/compilervars.sh

to
/opt/intel/compilers_and_libraries/linux/bin/compilervars.sh

You will have to source compilervars.sh in bash before running R, otherwise, it won't run (just put it in .bashrc, but know that other compilations will be affected by this).

In addition, intel installer might complain that your gcc and other libs are outdated, but if you have everything installed from core and multilib, you should be fine (I didn't get the -git packages).

leonardof commented on 2016-10-03 21:17

Follow-up: it turns out the community license is not meant for compiling software, after all... Too bad I don't know any binary package of r-mkl for Arch Linux.

leonardof commented on 2016-09-17 20:42

Thank you, alexanderp!

alexanderp commented on 2016-09-17 10:16

leonardof, I suggest you follow up your problem with the intel forums. You've probably got the wrong license and this page is not the place for these kinds of issues.
Once you've got the intel compilers working, try using r-mkl again.

leonardof commented on 2016-09-17 03:51

I can't compile r-mkl despite having got the community license and having put the LIC file at /opt/intel/licenses/. Reading r-mkl/src/R-3.3.1/config.log (see excerpt below), I gather that somehow my license isn't valid... How can it be?

configure:5750: checking for gcc
configure:5777: result: icc
configure:6006: checking for C compiler version
configure:6015: icc --version >&5

Error: A license for (Comp-CL) could not be found.
License file(s) used were (in this order):
1. Trusted Storage
** 2. /opt/intel/composerxe/linux/licenses
** 3. /opt/intel/licenses/NCOM____XXXX-XXXXXXXX_1.lic
** 4. /opt/intel/licenses/NCOM____XXXX-XXXXXXXX_2.lic
** 5. /home/leonardof/intel/licenses
** 6. /opt/intel/compilers_and_libraries_2017.0.098/linux/bin/intel64/../../Licenses
** 7. /home/leonardof/Licenses
... rest of stderr output deleted ...
configure:6026: $? = 1
configure:6015: icc -v >&5

Error: A license for (Comp-CL) could not be found.
License file(s) used were (in this order):
1. Trusted Storage
** 2. /opt/intel/composerxe/linux/licenses
** 3. /opt/intel/licenses/NCOM____XXXX-XXXXXXXX_1.lic
** 4. /opt/intel/licenses/NCOM____XXXX-XXXXXXXX_2.lic
** 5. /home/leonardof/intel/licenses
** 6. /opt/intel/compilers_and_libraries_2017.0.098/linux/bin/intel64/../../Licenses
** 7. /home/leonardof/Licenses
... rest of stderr output deleted ...
configure:6026: $? = 1
configure:6015: icc -V >&5

Error: A license for (Comp-CL) could not be found.
License file(s) used were (in this order):
1. Trusted Storage
** 2. /opt/intel/composerxe/linux/licenses
** 3. /opt/intel/licenses/NCOM____XXXX-XXXXXXXX_1.lic
** 4. /opt/intel/licenses/NCOM____XXXX-XXXXXXXX_2.lic
** 5. /home/leonardof/intel/licenses
** 6. /opt/intel/compilers_and_libraries_2017.0.098/linux/bin/intel64/../../Licenses
** 7. /home/leonardof/Licenses
... rest of stderr output deleted ...
configure:6026: $? = 1
configure:6015: icc -qversion >&5

Error: A license for (Comp-CL) could not be found.
License file(s) used were (in this order):
1. Trusted Storage
** 2. /opt/intel/composerxe/linux/licenses
** 3. /opt/intel/licenses/NCOM____XXXX-XXXXXXXX_1.lic
** 4. /opt/intel/licenses/NCOM____XXXX-XXXXXXXX_2.lic
** 5. /home/leonardof/intel/licenses
** 6. /opt/intel/compilers_and_libraries_2017.0.098/linux/bin/intel64/../../Licenses
** 7. /home/leonardof/Licenses
... rest of stderr output deleted ...
configure:6026: $? = 1
configure:6046: checking whether the C compiler works
configure:6068: icc -O3 -qno-opt-matmul -xHost -m64 -parallel -mkl=parallel -qopenmp -ipo -fp-model precise -fp-model source -qopt-mem-layout-trans=2 -diag-disable=188,308 -I/opt/intel/composerxe/linux/mkl/include -D_FORTIFY_SOURCE=2 -Wl,-O1,--sort-common,--as-needed,-z,relro conftest.c >&5

Error: A license for (Comp-CL) could not be found.
License file(s) used were (in this order):
1. Trusted Storage
** 2. /opt/intel/composerxe/linux/licenses
** 3. /opt/intel/licenses/NCOM____XXXX-XXXXXXXX_1.lic
** 4. /opt/intel/licenses/NCOM____XXXX-XXXXXXXX_2.lic
** 5. /home/leonardof/intel/licenses
** 6. /opt/intel/compilers_and_libraries_2017.0.098/linux/bin/intel64/../../Licenses
** 7. /home/leonardof/Licenses
** 8. /Users/Shared/Library/Application Support/Intel/Licenses
** 9. /opt/intel/compilers_and_libraries_2017.0.098/linux/bin/intel64/*.lic

Please refer https://software.intel.com/en-us/faq/licensing#invalid-license-error for more information..

icc: error #10052: could not checkout FLEXlm license


The second LIC file was an attempted workaround, using the MAC address of the wifi instead of the ethernet.

alexanderp commented on 2016-09-09 07:14

You should get a license to use Intel MKL. See https://wiki.archlinux.org/index.php/Intel_C%2B%2B

All comments