Giter Club home page Giter Club logo

Comments (13)

eddelbuettel avatar eddelbuettel commented on June 27, 2024 1

I still think it is you. On my (non-Windows) system:

edd@max:~$ R CMD config CXX1XSTD
-std=c++11
edd@max:~$ 

I have looked at length into how R gets these values, and invariable you get back to RHOME/etc/Makeconf. Unless you built R with g++ 4.9.3 you will have c++0x here. And even if you did maybe R still gets this wrong on Windows as 4.9.3 is no new. But I (again) suggest you check your Makeconf file. Not the local override -- the one R falls back to.

from feather.

eddelbuettel avatar eddelbuettel commented on June 27, 2024

Please note that somehow, c++0x is being passed

You need to rebuild R itself with gcc 4.9.3-based toolchain so that R writes down its compile-time configuration in $RHOME/etc/Makeconf to be used for packages.

What you have in ~/.R/Makevars is always in addition to and does not overwrite these settings.

So in short, until R 3.3.0 is out and everybody gets a rebuilt R, you have to do it by hand.

from feather.

aadler avatar aadler commented on June 27, 2024

Of course I did that 8-) . I've been working with Jeroen for almost a year now. I haven't had c++0x since the last time I used 4.6.3 which was maybe August of 2015? Everything is built using Rtools 3.3.0.1959 (which you can see from the call to g++, as it isn't multilib but BINPREF64 "F:/R/Rtools/mingw_64/bin/g++")

from feather.

eddelbuettel avatar eddelbuettel commented on June 27, 2024

I have no bone in this fight---I am just trying to give you a pointer as to where this may come from. Same part of your story here makes no sense: I your entire stack was built with 4.9.3 you wouldn't have this issue, hence my hint. So my guess is that the R you are attempting to build Feather with was not built with the new toolchain -- which is why you get c++0x which is all it can do with the ancient compiler.

from feather.

aadler avatar aadler commented on June 27, 2024

Understood. What is weird is that I uninstalled both R and Rstudio, and built R from source from scratch using the current Rtools (which is the only way to get an Rpatched—build it from source). I watched the compilation and it worked fine (passed make check-all). All the C++ packages (Rcpp, RcppArmadillo, etc.) compiled with std=c++11. Dplyr of course still has to be installed w/o it (as does gmp and plyr, but that's a different issue). Every one of the 80+ packages which I know do not have issues with c++11 (including devtools) did compile with c++11. I call install_github("wesm/feather/R") and I get the c++0x. Unless there is a file from a year-old compilation somewhere that this one package out of all finds, I don't understand.

Also, the c++0x may not be fatal in and of itself, the missing api.h, which is not found in the feather/R directory but the feather/cpp/src/feather/ directory may be more of an issue.

Thank you.

from feather.

wesm avatar wesm commented on June 27, 2024

Note: https://github.com/wesm/feather/blob/master/R/configure

You will need to copy these files to the right location (which will be automagically handled in CRAN packaging) manually

from feather.

aadler avatar aadler commented on June 27, 2024

Thanks. Cloning the entire repository and moving cpp/src/feather and flatbuffer to R/src got past that problem. Next problem is that feather/io-test is looking for gtest/gtest.h which I presume is google testing but is not included in any of the files. I guess I that must be locally on your machine and in your path, but not part of this package. I can hunt that down, I reckon.

Any thoughts about why this package, of the dozen or so C++ packages I install from source on a regular basis, ignores my .R/Makevars and passes -std=c++0x and not -std=c++11?

Thanks again.

from feather.

aadler avatar aadler commented on June 27, 2024

Never mind, I didn't grok the rm files portion of the configuration.

Also, on Windows, what should we do about missing sys/mman.h?

Still concerned about the c++0x vs c++11 though. Thanks.

from feather.

aadler avatar aadler commented on June 27, 2024

@eddelbuettel You are a genius. Yup, it is in the dreaded RHOME/src/gnuwin32/fixed/etc where many sins are hidden and monsters abound 8-) . The Makeconf file there, as opposed to the ones every else under gnuwin32, has "CXX1XSTD = -std=c++0x". I almost always get around that for packages which call Makevars and don't demand C11 by adding or removing the line from.R/Makevars. Thank you.

I'll make a note on R-sig-windows that Duncan may want to update that for the R-3.3.0 release. Thanks again!

from feather.

eddelbuettel avatar eddelbuettel commented on June 27, 2024

No, surely not a genius, but maybe just about as stubborn as you :)

I chased these ghosts too in the past, and it is a plain that you cannot override them. CXXFLAGS != CXX1XFLAGS and all that doesn't help either ....

from feather.

eddelbuettel avatar eddelbuettel commented on June 27, 2024

So I guess this can be closed as it was after all a local issue.

from feather.

aadler avatar aadler commented on June 27, 2024

I'll just have to overwrite that file too when I build base r.

The sys/Mann.h issue is still open, unfortunately.

On Wednesday, March 30, 2016, Dirk Eddelbuettel [email protected]
wrote:

So I guess this can be closed as it was after all a local issue.


You are receiving this because you authored the thread.
Reply to this email directly or view it on GitHub
#58 (comment)

Sent from Gmail Mobile

from feather.

aadler avatar aadler commented on June 27, 2024

@eddelbuettel I thought about on the rest of the ride home, and I think you are correct. There are too many issues going on in this one. As the two I started with are answered, I'll close this and open a new one. Thank you and @wesm again!

from feather.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.