Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

error: ‘isLongjumpSentinel’ is not a member of ‘Rcpp::internal’ #900

Closed
samfux84 opened this issue Nov 19, 2018 · 9 comments
Closed

Comments

@samfux84
Copy link

@samfux84 samfux84 commented Nov 19, 2018

Hi,

I am trying to install the sf package, using GDAL 2.2.3, PROJ 4.9.3 and GEOS 3.6.2. When installing the package, I get some errors regarding the RCpp package:

In file included from ../inst/include/sf.h:7:0,
                 from RcppExports.cpp:4:
../inst/include/sf_RcppExports.h: In function ‘Rcpp::List sf::CPL_read_wkb(Rcpp::List, bool, bool)’:
../inst/include/sf_RcppExports.h:41:13: error: ‘isLongjumpSentinel’ is not a member of ‘Rcpp::internal’
         if (Rcpp::internal::isLongjumpSentinel(rcpp_result_gen))
             ^
../inst/include/sf_RcppExports.h:42:19: error: ‘LongjumpException’ is not a member of ‘Rcpp’
             throw Rcpp::LongjumpException(rcpp_result_gen);
                   ^
../inst/include/sf_RcppExports.h: In function ‘Rcpp::List sf::CPL_write_wkb(Rcpp::List, bool)’:
../inst/include/sf_RcppExports.h:62:13: error: ‘isLongjumpSentinel’ is not a member of ‘Rcpp::internal’
         if (Rcpp::internal::isLongjumpSentinel(rcpp_result_gen))
             ^
../inst/include/sf_RcppExports.h:63:19: error: ‘LongjumpException’ is not a member of ‘Rcpp’
             throw Rcpp::LongjumpException(rcpp_result_gen);
                   ^
RcppExports.cpp: In function ‘SEXPREC* _sf_CPL_read_wkb(SEXP, SEXP, SEXP)’:
RcppExports.cpp:922:32: error: ‘isLongjumpSentinel’ is not a member of ‘Rcpp::internal’
     bool rcpp_isLongjump_gen = Rcpp::internal::isLongjumpSentinel(rcpp_result_gen);
                                ^
RcppExports.cpp:924:9: error: ‘resumeJump’ is not a member of ‘Rcpp::internal’
         Rcpp::internal::resumeJump(rcpp_result_gen);
         ^
RcppExports.cpp: In function ‘SEXPREC* _sf_CPL_write_wkb(SEXP, SEXP)’:
RcppExports.cpp:957:32: error: ‘isLongjumpSentinel’ is not a member of ‘Rcpp::internal’
     bool rcpp_isLongjump_gen = Rcpp::internal::isLongjumpSentinel(rcpp_result_gen);
                                ^
RcppExports.cpp:959:9: error: ‘resumeJump’ is not a member of ‘Rcpp::internal’
         Rcpp::internal::resumeJump(rcpp_result_gen);
         ^
make: *** [RcppExports.o] Error 1
ERROR: compilation failed for package ‘sf’
* removing ‘/cluster/home/sfux/R/x86_64-slackware-linux-gnu-library/3.5/sf’

The downloaded source packages are in
        ‘/tmp/RtmpIu4ZwQ/downloaded_packages’
Warning message:
In install.packages("sf") :
  installation of package ‘sf’ had non-zero exit status

I am using GCC 4.8.2. According to https://gcc.gnu.org/projects/cxx-status.html, already GCC 4.8.1 was feature complete with regards to the C++11 specification, therefore the error should not be related to the C++11 standard.

Best regards

Sam

@edzer
Copy link
Member

@edzer edzer commented Nov 19, 2018

I have no clue. @eddelbuettel does this look familiar to you?

@samfux84
Copy link
Author

@samfux84 samfux84 commented Nov 19, 2018

Does the installation of sf require any minimal version of Rcpp ? Currently I am using Rcpp version 0.12.17

@eddelbuettel
Copy link

@eddelbuettel eddelbuettel commented Nov 19, 2018

Why? That's four months old, two releases behind and not what CRAN uses.

As for compilers: I generally have newer compilers around. Even MinGW uses 4.9.3. It should work with 4.8.* but you never know. Also understand that Rcpp does not require or enforce C++11 (though it may use C++11 features whne present and older g++ were sketchier...).

Also, current Rcpp does have Rcpp::internal::isLongjumpSentinel as anybody could have verified in two seconds with a look at GitHub...

@samfux84
Copy link
Author

@samfux84 samfux84 commented Nov 20, 2018

If a certain minimal version of Rcpp is required, then you could also just mention this, when describing the dependencies in the README.md file.

@eddelbuettel
Copy link

@eddelbuettel eddelbuettel commented Nov 20, 2018

There may be more to this. A friend just reported a similar error (with a different client package) against Rcpp 1.0.0.

I still have never seen it, not seen a test fail so I am still scratching my head. If we learn more I report it here.

@eddelbuettel
Copy link

@eddelbuettel eddelbuettel commented Nov 20, 2018

For completeness, what was your compiler version?

@samfux84
Copy link
Author

@samfux84 samfux84 commented Nov 21, 2018

@eddelbuettel : I used GCC 4.8.2. After upgrading Rcpp to version 1.0.0, compiling sf worked.

@eddelbuettel
Copy link

@eddelbuettel eddelbuettel commented Nov 21, 2018

Good to know. I double checked on our side, the symbol is "open" and conditional so I was unsure. Good this is fine then and I am the other issue gets sorted out too.

@nikolai-b
Copy link
Contributor

@nikolai-b nikolai-b commented Feb 24, 2019

I just ran into this. I'm unfamiliar with the R packaging system but if a minimal version of Rcpp is required then it seems sensible to specify it in the DESCRIPTION as it is currently open.

isLongjumpSentinel was added in RcppCore/Rcpp@d44e42e so version >= 0.12.18 should work but I've not fully checked.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants