Join GitHub today
GitHub is home to over 50 million developers working together to host and review code, manage projects, and build software together.
Sign upRcppGSLExample fails to install on rhub (platform = "solaris-x86-patched-ods") #25
Comments
|
Yes, but in general many more things fail on Solaris than on the other OSs so I am not sure what I could possibly do for you here -- not having access to Solaris myself (besides RHub) etc |
|
(Unless we did a simple mistake here, didn't |
|
Thanks for the quick response @eddelbuettel—let me see if I can come up with a fix; if I do, I will report it here. At last resort, I will ask CRAN to grant us an exception for our package (which depends on RcppGSL). |
|
I see. I just checked another small package of mine depending in RcppGSL too, and it is reported 'healthy' at CRAN including Slowlaris so this does not appear to affect all... https://cloud.r-project.org/web/checks/check_results_RcppZiggurat.html Ditto with mvabund which is kinda the grand-daddy of all of these: |
|
A solution that works—although not elegant at all—is to combine the |
|
I took another look and there were arguably four modified inst/include/RcppGSLForward.h
@@ -215,11 +215,11 @@ namespace Rcpp {
template<> inline SEXP wrap(const gsl_matrix_view&);
template<> inline SEXP wrap(const gsl_matrix_const_view&);
- template <typename T> SEXP wrap(const ::RcppGSL::vector<T>&);
- template <typename T> SEXP wrap(const ::RcppGSL::matrix<T>&);
+ template <typename T> inline SEXP wrap(const ::RcppGSL::vector<T>&);
+ template <typename T> inline SEXP wrap(const ::RcppGSL::matrix<T>&);
- template <typename T> SEXP wrap(const ::RcppGSL::vector_view<T>&);
- template <typename T> SEXP wrap(const ::RcppGSL::matrix_view<T>&);
+ template <typename T> inline SEXP wrap(const ::RcppGSL::vector_view<T>&);
+ template <typename T> inline SEXP wrap(const ::RcppGSL::matrix_view<T>&);
}
I am surprised that g++ on Linux is so much more forgiving. Trouble is testing the error from Edit: Noticed I did already go all the way to test the client package during tests: test_client_package.R. So now I am surprised you are bitten by this as the test should have shown it too. Hm. |
|
And I may just have fixed it. "Bad" borked Solaris build from maybe an half-an-hour ago:RcppGSL 0.3.7.1: ERROR Build ID: RcppGSL_0.3.7.1.tar.gz-c580dfc86e7c4dad9464437195d5ddea ERRORS:
See the full build log: "Good" one on new code I will commit now:RcppGSL 0.3.7.1: OK Build ID: RcppGSL_0.3.7.1.tar.gz-9ded1fed1a7344e6a6aa1b15bd8dfa81 See the full build log:
|
|
Package 0.3.8 is now on CRAN and I tried to say 'Thank you' to you on Twitter too. |
|
Awesome! I am equally surprised that this error does not show up on other systems. I will see if the new RcppGSL version fixes our issue with the mashr package. |
|
So am I! I was thinking about this on the weekend, and given that RcppGSL has been there for years I can only suspect that it is a more recent compiler feature. But whatever |
|
Our packages have relied very heavily on Rcpp, RcppArmadillo, et al, and this is the first hicccup we have encountered — an (overdue) thank you to you! |
|
Yes, I sort-of keep a list of Rcpp using packages (which once started as a short list...) so I know of some of the StephensLab goodies. And we can blame the "hickup" on the road less traveled -- RcppGSL is (for whichever reason) used a lot less than RcppArmadillo (and I partly blame having to link to GSL, partly because some content is more esoteric....) |
I was unable to find any instances of this issue being reported elsewhere (e.g., in R-package-devel), and I am a bit surprised by that, so I do apologize if this is a duplicate issue report.
I tested the provided "RcppGSLExample" package in the "solaris-x86-patched-ods" platform made available via
rhub, and I got an error during the package installation step. I'm attaching the full00install.outoutput; here is a brief summary of the relevant error messages, indicating issues with multiply defined labels:00install.out.gz