Avraham Adler
2015-Mar-11 05:47 UTC
[Rd] Notes on building a gcc toolchain for Rtools (but not multilib)
On Wed, Mar 11, 2015 at 1:40 AM, Hsiu-Khuern Tang <tangoh at gmail.com> wrote:> On Tue, Mar 10, 2015 at 8:54 PM, Avraham Adler <avraham.adler at gmail.com> wrote: >> >> I successfully rebuilt R-devel_2015-03-09 with the most recent version >> of Rtools tonight, building both ICU_531 and this time libcurl (7.39) >> as well (and OpenBLAS, of course). The internet bug is still there, >> but the rest of make-check all passed with flying colors, as did >> building 'microbenchmark' from source (with all the other needed >> packages, including Rcpp and Hsiu-Kheurn's change to NM was *not* >> used). >> ... > > The NM_FILTER change seems to be needed only when compiling C++ code > with -std=c++11 or -std=gnu++11. > > Even though the current CRAN policy doesn't allow the C++11 standard, > it would still be useful to document this, perhaps in the Writing R > Extensions manual. > > - Hsiu-KhuernHello, Hsiu-Khuern. All the times I have built, I've passed -std-gnu++11. Specifically, I pass: -march=native -O3 -mfpmath=sse -std=gnu++11 -msse2avx -mavx256-split-unaligned-load -mavx256-split-unaligned-store -mvzeroupper --param l1-cache-line-size=64 --param l1-cache-size=64 --param l2-cache-size=256. I live with the repeated warnings that it isn't needed for gcc, but I know it takes as I see the same string (gnu++11) passed when I build Rcpp from inside an R session. Avi
Hsiu-Khuern Tang
2015-Mar-11 17:23 UTC
[Rd] Notes on building a gcc toolchain for Rtools (but not multilib)
On Tue, Mar 10, 2015 at 10:47 PM, Avraham Adler <avraham.adler at gmail.com> wrote:> On Wed, Mar 11, 2015 at 1:40 AM, Hsiu-Khuern Tang <tangoh at gmail.com> wrote: >> On Tue, Mar 10, 2015 at 8:54 PM, Avraham Adler <avraham.adler at gmail.com> wrote: >>> >>> I successfully rebuilt R-devel_2015-03-09 with the most recent version >>> of Rtools tonight, building both ICU_531 and this time libcurl (7.39) >>> as well (and OpenBLAS, of course). The internet bug is still there, >>> but the rest of make-check all passed with flying colors, as did >>> building 'microbenchmark' from source (with all the other needed >>> packages, including Rcpp and Hsiu-Kheurn's change to NM was *not* >>> used). >>> ... >> >> The NM_FILTER change seems to be needed only when compiling C++ code >> with -std=c++11 or -std=gnu++11. >> >> Even though the current CRAN policy doesn't allow the C++11 standard, >> it would still be useful to document this, perhaps in the Writing R >> Extensions manual. >> >> - Hsiu-Khuern > > Hello, Hsiu-Khuern. > > All the times I have built, I've passed -std-gnu++11. Specifically, I > pass: -march=native -O3 -mfpmath=sse -std=gnu++11 -msse2avx > -mavx256-split-unaligned-load -mavx256-split-unaligned-store > -mvzeroupper --param l1-cache-line-size=64 --param l1-cache-size=64 > --param l2-cache-size=256. > ...Interesting. I tested the use of -O0, ..., -O3 together with -std=gnu++11. With -O0 (which I suppose is the default if not specified), I get the following error when R CMD INSTALL is trying to create Rcpp.dll: collect2.exe: error: ld returned 5 exit status With -O1, -O2, or -O3, there is no error. - Hsiu-Khuern
Avraham Adler
2015-Mar-11 17:32 UTC
[Rd] Notes on building a gcc toolchain for Rtools (but not multilib)
On Wed, Mar 11, 2015 at 1:23 PM, Hsiu-Khuern Tang <tangoh at gmail.com> wrote:> On Tue, Mar 10, 2015 at 10:47 PM, Avraham Adler <avraham.adler at gmail.com> wrote: >> On Wed, Mar 11, 2015 at 1:40 AM, Hsiu-Khuern Tang <tangoh at gmail.com> wrote: >>> On Tue, Mar 10, 2015 at 8:54 PM, Avraham Adler <avraham.adler at gmail.com> wrote: >>>> >>>> I successfully rebuilt R-devel_2015-03-09 with the most recent version >>>> of Rtools tonight, building both ICU_531 and this time libcurl (7.39) >>>> as well (and OpenBLAS, of course). The internet bug is still there, >>>> but the rest of make-check all passed with flying colors, as did >>>> building 'microbenchmark' from source (with all the other needed >>>> packages, including Rcpp and Hsiu-Kheurn's change to NM was *not* >>>> used). >>>> ... >>> >>> The NM_FILTER change seems to be needed only when compiling C++ code >>> with -std=c++11 or -std=gnu++11. >>> >>> Even though the current CRAN policy doesn't allow the C++11 standard, >>> it would still be useful to document this, perhaps in the Writing R >>> Extensions manual. >>> >>> - Hsiu-Khuern >> >> Hello, Hsiu-Khuern. >> >> All the times I have built, I've passed -std-gnu++11. Specifically, I >> pass: -march=native -O3 -mfpmath=sse -std=gnu++11 -msse2avx >> -mavx256-split-unaligned-load -mavx256-split-unaligned-store >> -mvzeroupper --param l1-cache-line-size=64 --param l1-cache-size=64 >> --param l2-cache-size=256. >> ... > > Interesting. I tested the use of -O0, ..., -O3 together with > -std=gnu++11. With -O0 (which I suppose is the default if not > specified), I get the following error when R CMD INSTALL is trying to > create Rcpp.dll: > > collect2.exe: error: ld returned 5 exit status > > With -O1, -O2, or -O3, there is no error. > > - Hsiu-Khuern >The default is O2, I believe, as the default EOPTS in src/gnuwin32/Mkrules.dist are -O2 -mtune=core2. Avi
Reasonably Related Threads
- Notes on building a gcc toolchain for Rtools (but not multilib)
- Notes on building a gcc toolchain for Rtools (but not multilib)
- Notes on building a gcc toolchain for Rtools (but not multilib)
- Notes on building a gcc toolchain for Rtools (but not multilib)
- Notes on building a gcc toolchain for Rtools (but not multilib)