On 27 September 2016 at 09:37, Eric Deveaud wrote: | Hello, | | I'm tring to install a Rpackage that holds some C//C++ code | | as far as I understood the R library generic compilation mechanism, | compilation of C//C++ sources is controled | | 1) at system level by the ocntentos RHOME/etc/Makeconf | 2) at user level by the content of ~/.R/Makevars | 3) at package level by the content of src/Makevars | | Problem I have is that src/Makevars is ignored | | | see following example: | | R is compiled and use the following CC and CFLAGS definition | | bigmess:epactsR/src > R CMD config CC | gcc -std=gnu99 | bigmess:epactsR/src > R CMD config CFLAGS | -Wall -g | | so building C sources lead to the following | | bigmess:epactsR/src > R CMD SHLIB index.c | gcc -std=gnu99 -I/local/gensoft2/adm/lib64/R/include -DNDEBUG | -I/usr/local/include -fpic -Wall -g -c index.c -o index.o | | normal, it uses defintion from RHOME/etc/Makeconf | | | when I set upp a ~/.R/Makevars that overwrite CC and CFLAGS definition. | | bigmess:epactsR/src > cat ~/.R/Makevars | CC=gcc | CFLAGS=-O3 | bigmess:epactsR/src > R CMD SHLIB index.c | gcc -I/local/gensoft2/adm/lib64/R/include -DNDEBUG -I/usr/local/include | -fpic -O3 -c index.c -o index.o | gcc -std=gnu99 -shared -L/usr/local/lib64 -o index.so index.o | | | OK CC and CFLAGS are honored and set accordingly to ~/.R/Makevars | | | but when I try to use src/Makevars, it is ignored | | bigmess:epactsR/src > cat ~/.R/Makevars | cat: /home/edeveaud/.R/Makevars: No such file or directory | bigmess:epactsR/src > cat ./Makevars | CC = gcc | CFLAGS=-O3 | bigmess:epactsR/src > R CMD SHLIB index.c | gcc -std=gnu99 -I/local/gensoft2/adm/lib64/R/include -DNDEBUG | -I/usr/local/include -fpic -Wall -g -c index.c -o index.o | | | is there something I have missed, misunderstood or is there something | wrong ?
You have not demonstrated that src/Makevars is ignored -- as it clearly isn't, given how thousands of CRAN packages use it. What you have done is demonstrate that you _cannot change CC and CXX_ in src/Makevars. And I think that was known, though maybe not as widely. Dirk | PS I tested the ssame behaviour with various version of R from R/2.15 to | R/3.3 | | best regards | | Eric | | ______________________________________________ | R-devel@r-project.org mailing list | https://stat.ethz.ch/mailman/listinfo/r-devel -- http://dirk.eddelbuettel.com | @eddelbuettel | e...@debian.org ______________________________________________ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel