Skip to content

Build rpm package for R-MKL

5 messages · Arnaud Gaboury, Tom Callaway

#
I want to create a clean .rpm package for R built with MKL and ICC. I
follow Fedora instrcutions[0] to create the package. As a base, I use
the R-3.2.2.src.rpm.

I am left with this error:

------------------------------------------
installing R info pages ...
updating '/usr/share/info/dir' ...
make[1]: Leaving directory '/home/poisonivy/rpmbuild/BUILD/R-3.2.2/doc/manual'
+ mv doc/manual/R-exts.texi.spot doc/manual/R-exts.texi
mv: cannot stat 'doc/manual/R-exts.texi.spot': No such file or directory
---------------------------------------

There is indeed no doc/manual/R-exts.texi.spot file. This make
instruction comes form this in R.spec:

---------
%if 0%{?fedora} >= 19
# What a hack.
# Current texinfo doesn't like @eqn. Use @math instead where stuff breaks.
cp doc/manual/R-exts.texi doc/manual/R-exts.texi.spot
cp doc/manual/R-intro.texi doc/manual/R-intro.texi.spot
sed -i 's|@eqn|@math|g' doc/manual/R-exts.texi
sed -i 's|@eqn|@math|g' doc/manual/R-intro.texi
%endif

# And now, undo the hack. :P
%if 0%{?fedora} >= 19
mv doc/manual/R-exts.texi.spot doc/manual/R-exts.texi
mv doc/manual/R-intro.texi.spot doc/manual/R-intro.texi
%endif
------------------------------

How can I solve this issue? Maybe remove the hack?
I will post configure and make options if needed.

Thank you for hints.



[0]https://fedoraproject.org/wiki/How_to_create_an_RPM_package
1 day later
#
On 09/07/2015 06:16 AM, arnaud gaboury wrote:
Not sure how you managed that. The first conditional makes the ".spot"
files, the second one undoes it, both conditionals are the same. You can
try removing them both, but you might run into the exact texinfo issue
they were added to dodge.

~tom

==
Red Hat
#
On Tue, Sep 8, 2015 at 7:36 PM, Tom Callaway <tcallawa at redhat.com> wrote:
For now, I just commented this hack part of the spec file.
I have some issues I do not understand with the icc compiler. Build is
going well, but at one point make complains:

make[2]: Entering directory '/home/poisonivy/rpmbuild/BUILD/R-3.2.1/src/unix'
icc -std=c99 -I. -I../../src/include -I../../src/include
-I/usr/local/include -DHAVE_CONFIG_H    -fpic  -ip -O3
-opt-mem-layout-trans=3 -xHost -mavx -fp-model precise -wd188
-DMKL_ILP64 -qopenmp -parallel
-I/opt/intel/compilers_and_libraries_2016.0.109/linux/mkl/include
-Wl,-z,relro  -DR_HOME='"/usr/lib64/R"' \
  -o Rscript ./Rscript.c
make[2]: icc: Command not found

Weird, as i had same line many times before with no complain. E.g:

icc -std=c99 -I. -I../../../src/include -I../../../src/include
-I/usr/local/include -DHAVE_CONFIG_H    -fpic  -ip -O3
-opt-mem-layout-trans=3 -xHost -mavx -fp-model precise -wd188
-DMKL_ILP64 -qopenmp -parallel
-I/opt/intel/compilers_and_libraries_2016.0.109/linux/mkl/include
-c libcurl.c -o libcurl.o

So no idea why, at this part of the process, icc is not found. Weird,
as building manually from source (no rpmbuild) is OK.

  
    
#
On 09/08/2015 01:51 PM, arnaud gaboury wrote:
Hm. Is icc in a normal place that is in a standard PATH (e.g. /usr/bin
or /bin) or are you overriding PATH?

~tom

==
Red Hat
#
On Tue, Sep 8, 2015 at 7:58 PM, Tom Callaway <tcallawa at redhat.com> wrote:
Pfff, 10 years of Linux, and still don't manage my path correctly. Shame on me.

$ ls /opt/intel/bin
.....
icc@

PATH=${PATH}:/opt/intel/bin

Now I am left with only one issue, the texinfo stuff.

Bzw, are you interested in my spec file to build R with MKL and ICC ?
I would be happy this can help other Fedora users.

Thank you for your attention.