You went to all that trouble to find a mailing list to ask your question on and failed to find R-packages or R-devel? --------------------------------------------------------------------------- Jeff Newmiller The ..... ..... Go Live... DCN:<jdnew...@dcn.davis.ca.us> Basics: ##.#. ##.#. Live Go... Live: OO#.. Dead: OO#.. Playing Research Engineer (Solar/Batteries O.O#. #.O#. with /Software/Embedded Controllers) .OO#. .OO#. rocks...1k --------------------------------------------------------------------------- Sent from my phone. Please excuse my brevity.
On July 27, 2015 10:21:51 AM CDT, Ignacio Martinez <ignaci...@gmail.com> wrote: >Hi, > >I created a R library that uses a Fortran module. Everything works like >a >charm on linux. > >Now I'm trying to make it work on Windows. I cloned my git repository ><https://github.com/ignacio82/MyPi> on a windows computer, and when I >press >the build and reload button on Rstudio I get these errors: > >==> Rcmd.exe INSTALL --no-multiarch --with-keep.source MyPi >* installing to library >'C:/Users/IMartinez/Documents/R/R-3.2.1/library'* installing *source* >package 'MyPi' ...** libs >gfortran -m64 -shared -s -static-libgcc -o MyPi.dll tmp.def Fpi.o >-Ld:/RCompile/r-compiling/local/local320/lib/x64 >-Ld:/RCompile/r-compiling/local/local320/lib >-LC:/Users/IMARTI~1/DOCUME~1/R/R-32~1.1/bin/x64 -lR >Fpi.o: In function `__fortranpi_MOD_dboard': >Fpi.f90:(.text+0xd7): undefined reference to `__stack_chk_fail' >Fpi.o: In function `pi_': >Fpi.f90:(.text+0x249): undefined reference to `__stack_chk_fail' >collect2: ld returned 1 exit status >no DLL was created >ERROR: compilation failed for package 'MyPi'* removing >'C:/Users/IMartinez/Documents/R/R-3.2.1/library/MyPi' > >Exited with status 1. > > >This is the Fortran code: > > >Module Fortranpi >IMPLICIT NONE >contains >subroutine dboard(darts, dartsscore) > integer, intent(in) :: darts > double precision, intent(out) :: dartsscore > double precision :: x_coord, y_coord > integer :: score, n > >score = 0 >do n = 1, darts > call random_number(x_coord) > call random_number(y_coord) > > if ((x_coord**2 + y_coord**2) <= 1.0d0) then > score = score + 1 > end if >end do > >dartsscore = 4.0d0*score/darts > >end subroutine dboard > >subroutine pi(avepi, DARTS, ROUNDS) bind(C, name="pi_") > use, intrinsic :: iso_c_binding, only : >c_double, c_int > real(c_double), intent(out) :: avepi > integer(c_int), intent(in) :: DARTS, ROUNDS > integer :: MASTER, rank, i, n > integer, allocatable :: seed(:) >double precision :: pi_est, homepi, pirecv, >pisum >! we set it to zero in the sequential run >rank = 0! initialize the random number generator! we make sure the >seed is different for each task >call random_seed() >call random_seed(size = n) >allocate(seed(n)) >seed = 12 + rank*11 >call random_seed(put=seed(1:n)) >deallocate(seed) > >avepi = 0 >do i = 0, ROUNDS-1 > call dboard(darts, pi_est) > ! calculate the average value of pi over all iterations > avepi = ((avepi*i) + pi_est)/(i + 1) >end do >end subroutine pi > >end module Fortranpi > > >I tried adding <http://i.stack.imgur.com/lC82X.png> >-fno-stack-protector >-lssp but it did not help. > >I also tried doing this "by hand" <http://i.stack.imgur.com/WY4VD.png> >and >I get these errors: > > >> system("R CMD SHLIB -fno-stack-protector -lssp ./src/Fpi.f90") >gfortran -m64 -shared -s -static-libgcc -o src/Fpi.dll tmp.def >./src/Fpi.o -fno-stack-protector -lssp >-Ld:/RCompile/r-compiling/local/local320/lib/x64 >-Ld:/RCompile/r-compiling/local/local320/lib >-LC:/Users/IMARTI~1/DOCUME~1/R/R-32~1.1/bin/x64 -lR> >dyn.load("./src/Fpi.dll") >Error in inDL(x, as.logical(local), as.logical(now), ...) : >unable to load shared object >'C:/Users/IMartinez/Projects/MyPi/./src/Fpi.dll': > LoadLibrary failure: %1 is not a valid Win32 application. >'C:/Users/IMartinez/Projects/MyPi/./src/Fpi.dll': > LoadLibrary failure: %1 is not a valid Win32 application. > > >Thanks for the help! > > >Ignacio > > >PS: I posted this question in stackoverflow with no luck. ><http://stackoverflow.com/questions/31638934/r-package-with-fortran-module-on-windows-undefined-reference-to-stack-chk-fa> > > [[alternative HTML version deleted]] > >______________________________________________ >R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see >https://stat.ethz.ch/mailman/listinfo/r-help >PLEASE do read the posting guide >http://www.R-project.org/posting-guide.html >and provide commented, minimal, self-contained, reproducible code. ______________________________________________ R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.