[R-sig-Fedora] Build rpm package for R-MKL

arnaud gaboury arnaud.gaboury at gmail.com
Tue Sep 8 19:51:29 CEST 2015


On Tue, Sep 8, 2015 at 7:36 PM, Tom Callaway <tcallawa at redhat.com> wrote:
> On 09/07/2015 06:16 AM, arnaud gaboury wrote:
>> 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.
>
> 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.

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.


>
> ~tom
>
> ==
> Red Hat



-- 

google.com/+arnaudgabourygabx



More information about the R-SIG-Fedora mailing list