[R-pkg-devel] Making adjustments to the R CMD check/install commands
Thank you, Kevin!
I put together the Makevars file:
PKG_LIBS = $(LAPACK_LIBS) $(BLAS_LIBS)
FC=c:/progra~1/PGICE/win64/18.4/bin/pgf90
SAFE_FFLAGS="-Lc:/progra~1/PGICE/win64/18.4/lib/pgf90.dll
-Lc:/progra~1/PGICE/win64/18.4/lib/pgc14.dll"
rmpiFort.obj: rmpiFort.f90
$(FC) $(SAFE_FFLAGS) -Mmpi=msmpi -c rmpiFort.f90 -o rmpiFort.obj
rmpiFort.dll: rmpiFort.obj
$(FC) $(SAFE_FFLAGS) rmpiFort.obj -Mmpi=msmpi -Mmakedll -o
rmpiFort.dll
But when I run R CMD check, the 00install file shows that the gfortran
compile is used, rather than the PGI compiler:
* installing *source* package 'rmpiFort' ...^M
** libs^M
^M
*** arch - i386^M
C:/progra~1/R/R-35~1.1/share/make/winshlib.mk:13: warning: overriding
commands for target `rmpiFort.dll'
Makevars:10: warning: ignoring old commands for target `rmpiFort.dll'
c:/Rtools/mingw_32/bin/gfortran -O2 -msse2 -mfpmath=sse -Mmpi=msmpi -c
rmpiFort.f90 -o rmpiFort.obj
gfortran.exe: error: unrecognized command line option '-Mmpi=msmpi'^M
make: *** [rmpiFort.obj] Error 1
ERROR: compilation failed for package 'rmpiFort'^M
* removing 'C:/Users/erinm/rmpiFort.Rcheck/rmpiFort'^M
In R CMD INSTALL^M
So I'm still puzzled.
Any help much appreciated.
Sincerely,
Erin
Erin Hodgess, PhD
mailto: erinm.hodgess at gmail.com
On Mon, Aug 27, 2018 at 2:29 PM Kevin Ushey <kevinushey at gmail.com> wrote:
Hi Erin, The R extensions manual should be helpful here -- in particular, see the sections on the 'src/Makevars' file and configuration of the Fortran compiler: https://cran.r-project.org/doc/manuals/r-release/R-exts.html#Using-Makevars In particular, in your 'src/Makevars' file, you'll likely want to set the FC variable to choose the Fortran compiler, and FCFLAGS to choose the appropriate compilation flags. As an example, you can see how one might set these flags to compile code with the address sanitizer active: https://cran.r-project.org/doc/manuals/r-release/R-exts.html#Using-Address-Sanitizer (Note that this example uses the user-level '~/.R/Makevars' file rather than the package-level 'src/Makevars' file, but the crux is the same) Hope this gets you on the right track, Kevin On Mon, Aug 27, 2018 at 1:15 PM Erin Hodgess <erinm.hodgess at gmail.com> wrote:
Hello!
I'm building a package on Windows 10 which uses the PGI Fortran compiler.
I have a Makefile set up in the src directory, and when I run "make all",
the subroutines compile beautifully.
Now I want to create my package. When I run R CMD check, naturally,
gfortran is called. Is there a way that I can direct the check function
to
just use the make/Makefile, please?
Or am I out of luck, please? (highly probable)
Thanks,
Erin
Erin Hodgess, PhD
mailto: erinm.hodgess at gmail.com
[[alternative HTML version deleted]]
______________________________________________ R-package-devel at r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-package-devel